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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

??

?? 用匯編程序編寫的俄羅斯方塊
??
?? 第 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一区二区三区免费野_久草精品视频
欧美成人性福生活免费看| 色婷婷亚洲综合| 国产又粗又猛又爽又黄91精品| 香蕉加勒比综合久久| 亚洲成人综合视频| 婷婷成人综合网| 日韩精品成人一区二区三区| 午夜国产精品影院在线观看| 成人综合婷婷国产精品久久免费| 国产精品亚洲一区二区三区妖精| 国产一区二区三区在线观看免费 | 久久国产麻豆精品| 日韩在线一区二区三区| 亚洲图片有声小说| 亚洲丝袜美腿综合| 亚洲在线成人精品| 免费高清在线一区| 成人黄页在线观看| 欧美日韩三级一区二区| 2020国产精品自拍| 中文字幕在线不卡一区二区三区| 夜夜嗨av一区二区三区四季av| 日韩电影在线看| 国产盗摄视频一区二区三区| 不卡的av中国片| 欧美人体做爰大胆视频| 精品动漫一区二区三区在线观看| 欧美国产综合一区二区| 亚洲成人动漫一区| 高清不卡一区二区| 欧美一二区视频| 亚洲色欲色欲www| 久久se精品一区精品二区| av电影在线观看完整版一区二区| 欧美日本高清视频在线观看| 国产清纯在线一区二区www| 久久精品在这里| 欧美精品tushy高清| 国产一区二区不卡| aaa国产一区| 亚洲大片一区二区三区| 精品美女一区二区| 国产在线看一区| 91社区在线播放| 久久嫩草精品久久久久| 欧美精品vⅰdeose4hd| 中文字幕一区二区三| 麻豆精品久久精品色综合| 日本韩国欧美国产| 国产精品拍天天在线| 韩国精品久久久| 91精品综合久久久久久| 夜夜嗨av一区二区三区中文字幕| 国产尤物一区二区| 日韩女优毛片在线| 日韩电影在线观看电影| 99久久国产综合精品麻豆| 久久久国际精品| 国产呦精品一区二区三区网站| 欧美日韩二区三区| 亚洲资源在线观看| 在线精品观看国产| 国产精品麻豆一区二区| 国产一区福利在线| 99精品欧美一区| 欧美激情综合网| 成人激情图片网| 亚洲欧洲一区二区在线播放| 国产高清亚洲一区| 久久精品亚洲精品国产欧美 | 天天色 色综合| 欧美丝袜丝交足nylons图片| 亚洲免费在线观看| 色哟哟国产精品| 亚洲免费毛片网站| 色悠久久久久综合欧美99| 亚洲黄色小视频| 欧美三日本三级三级在线播放| 亚洲精品在线三区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美日韩一本到| 日本麻豆一区二区三区视频| 91精品欧美一区二区三区综合在 | 亚洲在线中文字幕| 7777精品伊人久久久大香线蕉| 亚洲狠狠爱一区二区三区| 欧美精品一二三| 免费高清不卡av| 国产婷婷一区二区| 成人国产精品免费网站| 亚洲免费在线看| 91精品国产一区二区三区香蕉| 日韩精品亚洲专区| 久久综合色婷婷| 成人国产免费视频| 亚洲成a人片在线不卡一二三区| 777午夜精品免费视频| 韩国精品免费视频| 一区二区三区日韩| 色婷婷久久久久swag精品| 亚洲精选视频在线| 91精品国产一区二区人妖| 国产电影精品久久禁18| 亚洲欧美一区二区三区久本道91| 成人ar影院免费观看视频| 亚洲香肠在线观看| 国产日韩亚洲欧美综合| 欧美系列日韩一区| 国产酒店精品激情| 亚洲国产另类av| 中文字幕精品在线不卡| 欧美视频第二页| 久久成人精品无人区| 欧美一区二区视频在线观看2022| 国产激情视频一区二区三区欧美 | 亚洲v精品v日韩v欧美v专区| 日韩精品一区二区三区视频播放| 成人免费视频网站在线观看| 午夜精品爽啪视频| 国产精品国产三级国产aⅴ无密码| 色婷婷av一区二区三区大白胸| 捆绑紧缚一区二区三区视频| 中文字幕中文字幕一区| 欧美一级搡bbbb搡bbbb| av午夜精品一区二区三区| 美女脱光内衣内裤视频久久影院| 欧美xxxx老人做受| 美女精品一区二区| 国产精品人成在线观看免费| 制服丝袜亚洲色图| 欧美在线|欧美| jlzzjlzz亚洲女人18| 国产麻豆欧美日韩一区| 男女男精品视频| 亚洲国产视频网站| 成人免费小视频| 亚洲国产成人一区二区三区| 欧美大片在线观看| 欧美日韩五月天| 欧美视频三区在线播放| 日本不卡在线视频| 日韩精品一区二区三区视频在线观看| 欧美色综合网站| 欧美午夜电影网| 91丨九色丨蝌蚪丨老版| 成人av网站在线| 日本不卡视频在线| 国产欧美日韩精品一区| 久久精子c满五个校花| 国产视频一区不卡| 国产日韩欧美a| 中文字幕av一区二区三区高| 久久久久久久久蜜桃| 久久亚洲春色中文字幕久久久| 日韩一级二级三级| 91精品国产色综合久久不卡蜜臀 | 亚洲人成亚洲人成在线观看图片 | 亚洲欧美色图小说| 亚洲免费观看在线视频| 国产欧美精品一区二区三区四区| 久久日韩粉嫩一区二区三区| 国产欧美日韩一区二区三区在线观看| 久久精品视频在线免费观看| 国产欧美一区二区在线| 国产精品久久久久三级| 中文字幕精品三区| 一区二区高清免费观看影视大全 | 欧美三级电影在线观看| 欧美伊人久久大香线蕉综合69| 色综合天天综合网国产成人综合天 | 欧美一级高清片在线观看| 久久婷婷国产综合国色天香| 国产亚洲精品aa午夜观看| 欧美激情一区二区三区全黄| 亚洲自拍偷拍图区| 亚洲国产视频一区| 精品一区二区三区免费视频| 麻豆精品视频在线观看| 国产福利精品导航| 91丨九色porny丨蝌蚪| 欧美中文一区二区三区| 精品久久一区二区三区| 欧美日韩和欧美的一区二区| 天天色综合成人网| 国产精品一区二区91| 一本一道波多野结衣一区二区| 777a∨成人精品桃花网| 欧美韩日一区二区三区| 香蕉av福利精品导航| 懂色av中文一区二区三区| 精品视频免费在线| 久久久久久久性| 亚洲综合一区二区精品导航| 午夜一区二区三区视频| 成人开心网精品视频| 777亚洲妇女| 亚洲精品视频在线| 狠狠网亚洲精品| 欧美亚洲综合一区| 亚洲欧洲日韩综合一区二区|