亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

??

?? 用匯編程序編寫的俄羅斯方塊
??
?? 第 1 頁 / 共 2 頁
字號:
TITLE GRID
;*********************************************************************
OBJECT STRUCT
shape   db 0
status  db 0
rectx   dw 0
recty   dw 0
OBJECT ENDS
;------------------------------------------------------------------------
;************************************************************************
DATA segment
key_left    equ     4bh
key_right   equ     4dh
key_down    equ     50h
key_up      equ     48h
CURRENT OBJECT <>
DOWNN_OK       db 1
LR_OK          db 1
NEXT_OK        db 1
POINT_OK       db 1
FALL_OK        db 1
ONE_LINE_OK    db 1
ANOTHER_OK     db 1
POINTS      DB 200 DUP(1)
PROMOTE     DB 'SCORE: ','$'
PROMOTE2    DB 'GAMEOVER','$'
PTOMOTE3    DB  'PRESS ANY KEY TO EXIT','$'
score1      db 0
score2      db 0
score3      db 0

DATA ends
;------------------------------------------------------------------------
;************************************************************************
pro_nam segment
      assume cs:pro_nam,ds:data
main proc far

start:
            mov ax,data
            mov ds,ax
            
            mov ah,0                                    ;
            mov al,4
            int 10h
                
            mov si,offset POINTS                        ;DISPLAY FRAME
            call draw_frame
            
            mov ah,02
            mov bh,0
            mov dh,7
            mov dl,18
            int 10h
            
            mov ah,09                                   ;DISPLAY SCORE
            mov dx,offset promote
            int 21h
            
            mov ah,02
            mov bh,0
            mov dh,9
            mov dl,19
            int 10h
          
            mov ah,02
            mov dl,'0'
            int 21h
            mov ah,02
            mov dl,'0'
            int 21h
            mov ah,02
            mov dl,'0'
            int 21h
        
            mov ah,0
            int 16h
            
            mov current.rectX,81                                ;INITE CURRENT OBJECT
            mov current.rectY,40
            mov current.shape,2
            mov current.status,1
            
game_begine:
           call key_check        
           call FALL
           call delay
           call delay
           cmp FALL_OK,0
           jne game_begine
           call FALL_STOP
           call ANOTHER_OBJECT
            cmp another_ok,1
            jne end_game
           jmp game_begine       
            
            
end_game:

            mov ah,02
            mov bh,0
            mov dh,12
            mov dl,8
            int 10h
            
            mov ah,09                                   ;DISPLAY SCORE
            mov dx,offset promote2
            int 21h

            
            mov ah,0h
            int 16h
                
            mov ah,4ch
            int 21h
main        endp
;--------------------------------------------------------------------------------------------------------------------------------
;*********************************************      TOP PROC      ****************************************************************
;-------------------------------------------------------------------
;*******************************************************************
ANOTHER_OBJECT PROC
            mov another_ok,1
            mov al,current.shape
            shr al,1
            jc ANOTHER_TO_SHAPE2
            mov current.shape,1
            jmp end_of_another
ANOTHER_TO_SHAPE2:
            mov current.shape,2
END_OF_ANOTHER:
            mov current.rectX,81                            ;check whether the end of the game
            mov current.rectY,40
            mov ax,81
            mov bx,47
            call POINT_CHECK
            CMP POINT_OK,0
            jne ending
            call draw_current
            mov another_ok,0
ending:
            
            ret
ANOTHER_OBJECT ENDP 
;-------------------------------------------------------------------
;*******************************************************************
FALL PROC          
            call BOTTOM_CHECK
            cmp FALL_OK,0
            je  no_fall
            call CLEAR_CURRENT
            add current.rectY,7
            call DRAW_CURRENT
no_fall:
            ret
FALL ENDP
;-------------------------------------------------------------------
;*******************************************************************
FALL_TO_BOTTOM PROC
            call CLEAR_CURRENT
FALL_TO_BOTTOM_L:
            call BOTTOM_CHECK
            cmp FALL_OK,0
            je  END_OF_FALL_TO_BOTTOM
            add current.rectY,7
            JMP FALL_TO_BOTTOM_L                                        ;fall to bottom
END_OF_FALL_TO_BOTTOM:
            call DRAW_CURRENT
            ret
FALL_TO_BOTTOM ENDP

;-------------------------------------------------------------------
;*******************************************************************
DRAW_CURRENT PROC
            push ax
            mov al,current.shape
            shr al,1
            jc  shape1
            shr al,1
            jc  shape2

            jmp draw_exit
            
shape1:     call DRAW_LONG
            jmp draw_exit
shape2:     call DRAW_DIAMOND
draw_exit:
            pop ax
            ret
DRAW_CURRENT ENDP
;-------------------------------------------------------------------
;*******************************************************************
FALL_STOP PROC 
            push ax
            push bx
            push cx
            
            mov cx,4
            mov al,current.shape
            shr al,1
            jc fall_stop_shape1
            jmp fall_stop_shape2
fall_stop_shape1:            
            mov al,current.status
            shr al,1
            jc  fall_stop_shape1_status1
            shr al,1
            jc  fall_stop_shape1_status2
            jmp end_of_fall_stop
            
fall_stop_shape1_status1:
            mov ax,current.rectX
            mov bx,current.rectY
fall_stop_shape1_status1_l:
           call  POINT_SET
           add ax,7
           loop fall_stop_shape1_status1_l
           jmp end_of_fall_stop
    
fall_stop_shape1_status2:
            mov ax,current.rectX
            mov bx,current.rectY
fall_stop_shape1_status2_l:
            call POINT_SET
            add  bx,7
            loop fall_stop_shape1_status2_l  
            jmp end_of_fall_stop
        
fall_stop_shape2:
            mov ax,current.rectX
            mov bx,current.rectY
            call POINT_SET
            add  ax,7
            call POINT_SET
            add bx,7
            call POINT_SET
            sub ax,7
            call POINT_SET 
                  
END_OF_FALL_STOP:  
            call LINE_CHECK      
            pop cx
            pop bx
            pop ax
            ret 
FALL_STOP ENDP
;-------------------------------------------------------------------
;*******************************************************************
CHANGE_STATUE PROC
            push ax
            push cx
            push bx
            mov al,current.shape
            shr al,1
            jc CHANGE_STATUS_SHAPE1
            
            jmp end_of_change_status
            
CHANGE_STATUS_SHAPE1:
            mov al,current.status
            cmp al,1
            je SHAPE1_TO_STATUS2
            
SHAPE1_TO_STATUS1:   
            mov cx,3
            mov ax,current.rectX
            mov bx,current.rectY
            add ax,28
            cmp ax,130
            ja end_of_change_status
            sub ax,28
SHAPE1_TO_STATUS1_L:           
            add ax,7
            call POINT_CHECK
            cmp POINT_OK,0
            je end_of_change_status
            loop SHAPE1_TO_STATUS1_L
            mov current.status,1
            jmp end_of_change_status
            
SHAPE1_TO_STATUS2:
            mov cx,3
            mov ax,current.rectX
            mov bx,current.rectY
SHAPE1_TO_STATUS2_L:
            add bx,7
            call POINT_CHECK
            cmp POINT_OK,0
            je end_of_change_status
            loop SHAPE1_TO_STATUS2_L
            mov current.status,2
            jmp end_of_change_status
            
 end_of_change_status:
            pop bx
            pop cx
            pop ax           
            ret
CHANGE_STATUE ENDP
;------------------------------------------------------------------------------------------------------------------------
;********************************************     CHECK   PROC        ***************************************************
KEY_CHECK PROC
            push ax
            push cx
            mov cx,0fffh
key_check_begine:    
            mov ah,01h
            int 16h
            jnz checking
            loop key_check_begine
            jmp key_check_exit
checking:           
            mov ah,0h
            int 16h
            mov al,ah  
            cmp al,key_left
            jne not_left
            call LEFT_BOUND_CHECK
            cmp LR_OK,0
            je  end_of_check
            call clear_current
            sub current.rectX,7
            jmp end_of_check
            
not_left:   cmp al,key_right
            jne not_right
            call RIGHT_BOUND_CHECK
            cmp LR_OK,0
            je  end_of_check
            call clear_current
            add current.rectX,7  
            jmp end_of_check

not_right:  cmp al,key_up
            jne not_up 
            call clear_current
            call change_statue 
            jmp end_of_check

not_up:     cmp al,key_down
            jne end_of_check
            call fall_to_bottom
 
end_of_check:
         
            call draw_current  
key_check_exit:  
            mov ah,01h
            int 16h
            jz  no_buffer
            mov ah,0h
            int 16h
            jmp key_check_exit
no_buffer:
            pop cx          
            pop ax
            ret
KEY_CHECK ENDP
;-------------------------------------------------------------------
;*******************************************************************
LEFT_BOUND_CHECK PROC
            push ax
            push bx
            push dx
            push cx
            mov LR_OK,1
            cmp current.rectX,60
            je  lbounded
            
            mov al,current.shape
L_shape1:   shr al,1
            jnc L_shape2
            mov al,current.status
            shr al,1
            jc  shape1_status1
            mov ax,current.rectX
            mov bx,current.rectY
            sub ax,7
            mov cx,4
shape1_status2:
            call POINT_CHECK
            cmp POINT_OK,0
            je LBOUNDED
            add bx,7
            loop shape1_status2
shape1_status1:
            mov ax,current.rectX
            mov bx,current.rectY
            sub ax,7
            call POINT_CHECK
            cmp POINT_OK,0
            je LBOUNDED
            jmp END_OF_LEFT_BOUND_CHECK          
                        
L_shape2:   mov ax,current.rectX
            sub ax,7
            mov bx,current.rectY
            call POINT_CHECK
            cmp POINT_OK,0
            je LBOUNDED
            add bx,7
            call POINT_CHECK
            cmp POINT_OK,0
            je LBOUNDED
             
            jmp end_of_left_bound_check
            
LBOUNDED:    mov LR_OK,0
END_OF_LEFT_BOUND_CHECK:
            pop cx
            pop dx
            pop bx
            pop ax
            ret
lEFT_BOUND_CHECK ENDP
;-------------------------------------------------------------------
;*******************************************************************
RIGHT_BOUND_CHECK PROC
            push ax
            push bx
            push dx
            push cx
            mov LR_OK,1         
            
            mov al,current.shape
R_shape1:   shr al,1
            jnc R_shape2
            
            mov al,current.status
            shr al,1
            jc  R_SHAPE1_STATUS1
R_SHAPE1_STATUS2:
            mov ax,current.rectX
            cmp ax,123
            je RBOUNDED
            mov cx,4
            add ax,7
            mov bx,current.rectY
R_SHAPE1_STATUS2_L:
            call POINT_CHECK
            cmp POINT_OK,0
            je  RBOUNDED
            add bx,7
            loop R_SHAPE1_STATUS2_L
            jmp end_of_right_bound_check
R_SHAPE1_STATUS1:
            mov ax,current.rectX
            add ax,28
            cmp ax,130
            je  RBOUNDED
            mov bx,current.rectY
            call POINT_CHECK
            cmp POINT_OK,0
            je RBOUNDED
            jmp END_OF_RIGHT_BOUND_CHECK                        

R_shape2:   mov ax,current.rectX
            mov bx,current.rectY
            cmp ax,116
            je RBOUNDED
            add ax,14
            call POINT_CHECK
            cmp POINT_OK,0
            je RBOUNDED
            add bx,7
            call POINT_CHECK
            cmp POINT_OK,0
            je RBOUNDED
            
            jmp end_of_right_bound_check
           ;cmp now.rectY,130
RBOUNDED:    mov LR_OK,0
END_OF_RIGHT_BOUND_CHECK:
            pop cx
            pop dx
            pop bx
            pop ax            
            ret
RIGHT_BOUND_CHECK ENDP
;--------------------------------------------------------------------
;********************************************************************
BOTTOM_CHECK PROC
            push ax
            push bx
            push cx
            
            mov FALL_OK,1
            
            mov al,current.shape
            shr al,1
            jc bottom_check_shape1
            shr al,1
            jc bottom_check_shape2
            jmp end_of_bottom_check

bottom_check_shape1: 
            mov al,current.status  
            shr al,1
            jc  bottom_check_shape1_status1
            shr al,1
            jc  bottom_check_shape1_status2
            
            jmp end_of_bottom_check            
bottom_check_shape1_status1:  
            mov bx,current.rectY
            cmp bx,173
            je  stop_falling
            
            mov ax,current.rectX
            mov cx,4
            add bx,7
bottom_check_shape1_L1:
            call POINT_CHECK
            cmp POINT_OK,0
            je  stop_falling
            add ax,7
            loop bottom_check_shape1_L1
            jmp end_of_bottom_check

bottom_check_shape1_status2:
            mov ax,current.rectX
            mov bx,current.rectY
            cmp bx,173
            je stop_falling
            add bx,7*4
            call POINT_CHECK
            cmp POINT_OK,0
            je  stop_falling
            jmp end_of_bottom_check
            
BOTTOM_CHECK_SHAPE2:
            mov ax,current.rectX
            mov bx,current.rectY
            add bx,14
            cmp bx,180
            je  stop_falling
            call POINT_CHECK
            cmp POINT_OK,0
            je stop_falling
            add ax,7
            call POINT_CHECK

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线不卡视频| 五月天亚洲婷婷| 国产精品小仙女| 亚洲欧洲日韩一区二区三区| 在线免费不卡电影| 日韩和欧美一区二区| 亚洲国产精品成人综合色在线婷婷| 99国产欧美另类久久久精品| 日韩精彩视频在线观看| 欧美激情在线看| 久久疯狂做爰流白浆xx| 国产欧美日本一区二区三区| 在线成人av网站| 成人午夜激情片| 免费精品99久久国产综合精品| 26uuu国产一区二区三区| 97久久超碰精品国产| 五月天激情小说综合| 欧美国产丝袜视频| 欧美中文一区二区三区| 韩国精品在线观看| 人禽交欧美网站| 一区二区三区在线视频观看 | 高清不卡一区二区| 亚洲不卡在线观看| 国产精品免费av| 国产视频一区在线观看| 欧美高清视频一二三区| 91蝌蚪porny九色| 91精品国产美女浴室洗澡无遮挡| 亚洲人成影院在线观看| 国产大陆亚洲精品国产| 欧美videos大乳护士334| 免费精品视频在线| 久久先锋资源网| 91在线观看高清| 亚洲日本在线a| 欧美在线一区二区| 久久精品国产**网站演员| 国产欧美精品在线观看| 九一九一国产精品| 国产精品欧美综合在线| 久久综合色之久久综合| 欧美一级高清大全免费观看| 欧美三级日韩三级国产三级| 一本大道综合伊人精品热热| 91香蕉视频mp4| 国产成人在线网站| 成人动漫在线一区| 国产一区二区日韩精品| 另类小说综合欧美亚洲| 美日韩一区二区| 蜜桃视频一区二区三区在线观看| 日韩**一区毛片| 三级在线观看一区二区| 性欧美大战久久久久久久久| 日韩av中文在线观看| 亚洲成人第一页| 免费黄网站欧美| 青草国产精品久久久久久| 亚洲精品自拍动漫在线| 午夜久久久久久| 天天影视色香欲综合网老头| 久久国产生活片100| 美女视频一区在线观看| 国产一区二区中文字幕| 国产成人精品免费在线| 国产成人福利片| 色综合久久88色综合天天6| 91丝袜美女网| 欧美三级蜜桃2在线观看| 欧美日韩国产片| 欧美精品xxxxbbbb| 日韩一区二区三区高清免费看看| 国产亚洲精品福利| 国产精品久久久久久户外露出| 亚洲伦理在线免费看| 午夜欧美一区二区三区在线播放| 午夜电影久久久| 国产精品99久久久久久似苏梦涵 | 无吗不卡中文字幕| 91蜜桃网址入口| 国产精品18久久久久久久久| 欧美日韩一区久久| 91久久国产综合久久| 色综合视频在线观看| 国产精品免费视频观看| 一区二区三区欧美视频| 亚洲在线一区二区三区| 亚洲国产一区二区三区青草影视| 中文字幕一区二区日韩精品绯色 | 亚洲欧美自拍偷拍色图| 日韩三级精品电影久久久| 91精品福利在线一区二区三区| 色婷婷国产精品综合在线观看| 天天做天天摸天天爽国产一区| 国产成人免费视频| 在线视频中文字幕一区二区| 久久久青草青青国产亚洲免观| 国产精品人妖ts系列视频| 亚洲一区二区三区在线看 | 久久99在线观看| 91亚洲精品久久久蜜桃| 精品乱人伦小说| 久久九九99视频| 亚洲电影一级黄| 高潮精品一区videoshd| 欧美久久久久久久久久| 亚洲欧美国产三级| 经典三级视频一区| 欧美美女bb生活片| 国产精品成人一区二区艾草 | 蜜臀久久99精品久久久画质超高清| 国产真实乱偷精品视频免| 欧美妇女性影城| 国产精品久99| 国产91精品在线观看| 日韩视频一区二区三区在线播放| 久久久精品tv| 日本成人在线网站| 色婷婷激情久久| 亚洲男女一区二区三区| 国产精品一区在线观看乱码 | 成人免费va视频| 精品av综合导航| 五月婷婷久久丁香| 欧美日韩精品一区二区三区| 椎名由奈av一区二区三区| 婷婷综合久久一区二区三区| 色乱码一区二区三区88| 欧美激情在线观看视频免费| 国产激情一区二区三区桃花岛亚洲| 精品视频123区在线观看| 国产欧美视频一区二区三区| 久久疯狂做爰流白浆xx| 51精品视频一区二区三区| 不卡一区中文字幕| 亚洲精品写真福利| 亚洲激情一二三区| 亚洲美女区一区| 欧美性色欧美a在线播放| aaa亚洲精品| 亚洲成人av电影| 欧美日韩久久久一区| 蜜乳av一区二区三区| 精品久久久久久无| 国产精品一级二级三级| 国产精品区一区二区三区| av在线免费不卡| 亚洲电影视频在线| 欧美精品一区在线观看| 国产福利电影一区二区三区| 韩日精品视频一区| 91老司机福利 在线| 一区二区三区欧美日| 色婷婷国产精品| 丝袜美腿亚洲综合| 欧美日韩一区二区三区四区五区| 一区在线播放视频| 91在线无精精品入口| 亚洲视频资源在线| 欧美日韩一区不卡| 亚洲第一会所有码转帖| 欧美色大人视频| 午夜电影一区二区三区| caoporm超碰国产精品| 一区二区激情视频| 欧美日韩日本视频| 韩国在线一区二区| 中文字幕欧美日韩一区| 欧美自拍偷拍午夜视频| 婷婷一区二区三区| 欧美精品三级日韩久久| 精品一区二区三区在线播放视频| 久久精品视频一区二区三区| 色网站国产精品| 午夜免费久久看| 国产精品免费视频网站| 91久久线看在观草草青青| 九九热在线视频观看这里只有精品| 精品对白一区国产伦| av成人动漫在线观看| 亚洲国产精品嫩草影院| 日韩精品最新网址| 91免费在线播放| 婷婷丁香久久五月婷婷| 欧美国产日产图区| 欧美亚洲国产bt| 岛国精品在线播放| 亚洲大型综合色站| 日韩午夜激情电影| 99久久综合精品| 亚洲美女精品一区| 国产亚洲综合在线| 在线观看一区二区视频| 国产精品资源在线观看| 亚洲久草在线视频| 国产日韩精品视频一区| 欧美在线999| 成人avav影音|