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

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

?? russia box.asm

?? 俄羅斯方塊 不錯的~
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
;經典俄羅斯方塊游戲程序
;本程序是我自學win32匯編語言三個月后的成果花了我4個夜晚,其中定有不足希望網上的高手們多多指點。
;本人自學用的書是羅云彬編寫的《Windwos 環境下32位匯編語言程序設計(第2版)》(電子工業出版社)定價79.00元,此書是中文版中的經典,我極力向廣大初學者推薦。
;本人網名:HAM
;電子郵箱:jiangsunantongfeng@163.com    有點長^_^
        .386
        .model flat,stdcall
        option casemap:none
        
        
include        windows.inc
include        gdi32.inc
includelib    gdi32.lib
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib


L        equ        -1
R        equ        1

        .data?
a        dd        ?
b        dd        ?
hInstance    dd        ?
hWinMain    dd        ?
random1        dd        ?
random2        dd        ?
timergame    dd        ?
quickdiadown    dd        ?
timerleft    dd        ?
timerright    dd        ?
timercir    dd        ?
cirjh        dd        ?
achievement    dd        ?
achbuff        db    5 dup(?)
dialeft        dd        ?;左移標記
diaright    dd        ?;右稱標記
diacia        dd        ?;旋轉標記
rdtop        dd        ?;記錄每種組合的狀態
rdcoord        db    4   dup(?);記錄每個小方格的偏移位置
rdbuff        db    210 dup(?);整個活動區域
systime     SYSTEMTIME    <>
poly        struct

tlX        dd        ?
tlY        dd        ?
blX        dd        ?
blY        dd        ?
brX        dd        ?
brY        dd        ?
trX        dd        ?
trY        dd        ?

poly         ends
        .const
szClassName    db    'MyGame',0
szCaptionMain    db    'Rd',0
explain        db    '↑  ↓  ←   →',0

        .code
        
_dia        proc    _x,_y,_p,@hdc
        ;----------------------------------------------------
        ;繪制小方格
        ;----------------------------------------------------
        LOCAL    @poly:poly
        pushad
        mov    eax,_p
        push    _x
        pop    @poly.tlX
        push    _y
        pop    @poly.tlY
        push    _x
        pop    @poly.blX
        push    _y
        pop    @poly.blY
        add    @poly.blY,eax
        push    _x
        pop    @poly.brX
        add    @poly.brX,eax
        push    _y
        pop    @poly.brY
        add    @poly.brY,eax
        push    _x
        pop    @poly.trX
        add    @poly.trX,eax
        push    _y
        pop    @poly.trY
        
        invoke    MoveToEx,@hdc,@poly.trX,@poly.trY,0
        invoke    PolylineTo,@hdc,addr @poly,4
        
        
        popad
        ret

_dia         endp

_scanplot    proc    @hdc
        LOCAL    @x
        LOCAL    @y
        pushad
        lea    esi,rdbuff
        xor    ecx,ecx
        @@:
        cmp    ecx,200
        jz    @f
        push    ecx
        mov    eax,ecx
        xor    edx,edx
        mov    ebx,10
        div    ebx
        mov    ecx,edx
        mov    ebx,7
        mul    ebx
        xchg    eax,ecx
        mul    ebx
        mov    @x,eax
        mov    @y,ecx
        mov    al,byte ptr[esi]
        .if    al
            invoke    GetStockObject,BLACK_PEN
            invoke    SelectObject,@hdc,eax
            invoke    _dia,@x,@y,6,@hdc
            add    @x,2
            add    @y,2
            invoke    _dia,@x,@y,2,@hdc
        .else
            invoke    GetStockObject,WHITE_PEN
            invoke    SelectObject,@hdc,eax
            invoke    _dia,@x,@y,6,@hdc
            add    @x,2
            add    @y,2
            invoke    _dia,@x,@y,2,@hdc
        .endif
        inc    esi
        pop    ecx
        inc    ecx
        jmp    @b
        @@:
        popad
        ret

_scanplot    endp
_next        proc    n,@hdc
        LOCAL    @poly:poly
        ;----------------------------------------------------------
        ;清除上次圖形
        ;----------------------------------------------------------
        invoke    GetStockObject,WHITE_BRUSH
        invoke    SelectObject,@hdc,eax
        invoke    GetStockObject,NULL_PEN
        invoke    SelectObject,@hdc,eax
        invoke    Rectangle,@hdc,77,7,99,36
        ;----------------------------------------------------------
        ;在右欄繪制下一個圖形
        ;----------------------------------------------------------        
        invoke    CreatePen,PS_SOLID,1,0
        push    eax
        invoke    SelectObject,@hdc,eax    
        .if    n == 1
            invoke    _dia,91, 7,6,@hdc
            invoke    _dia,93, 9,2,@hdc
            invoke    _dia,91,14,6,@hdc
            invoke    _dia,93,16,2,@hdc
            invoke    _dia,91,21,6,@hdc
            invoke    _dia,93,23,2,@hdc
            invoke    _dia,91,28,6,@hdc
            invoke    _dia,93,30,2,@hdc
        .elseif n == 2
            invoke    _dia,84,21,6,@hdc
            invoke    _dia,86,23,2,@hdc
            invoke    _dia,84,28,6,@hdc
            invoke    _dia,86,30,2,@hdc
            invoke    _dia,91,28,6,@hdc
            invoke    _dia,93,30,2,@hdc
            invoke    _dia,91,21,6,@hdc
            invoke    _dia,93,23,2,@hdc
        .elseif    n == 3
            invoke    _dia,84,14,6,@hdc
            invoke    _dia,86,16,2,@hdc
            invoke    _dia,84,21,6,@hdc
            invoke    _dia,86,23,2,@hdc
            invoke    _dia,84,28,6,@hdc
            invoke    _dia,86,30,2,@hdc
            invoke    _dia,91,28,6,@hdc
            invoke    _dia,93,30,2,@hdc
        .elseif    n == 4
            invoke    _dia,91,14,6,@hdc
            invoke    _dia,93,16,2,@hdc
            invoke    _dia,91,21,6,@hdc
            invoke    _dia,93,23,2,@hdc
            invoke    _dia,91,28,6,@hdc
            invoke    _dia,93,30,2,@hdc
            invoke    _dia,84,28,6,@hdc
            invoke    _dia,86,30,2,@hdc
        .elseif n == 5
            invoke    _dia,84,21,6,@hdc
            invoke    _dia,86,23,2,@hdc
            invoke    _dia,77,28,6,@hdc
            invoke    _dia,79,30,2,@hdc
            invoke    _dia,84,28,6,@hdc
            invoke    _dia,86,30,2,@hdc
            invoke    _dia,91,28,6,@hdc
            invoke    _dia,93,30,2,@hdc
        .elseif    n == 6
            invoke    _dia,77,21,6,@hdc
            invoke    _dia,79,23,2,@hdc
            invoke    _dia,84,21,6,@hdc
            invoke    _dia,86,23,2,@hdc
            invoke    _dia,84,28,6,@hdc
            invoke    _dia,86,30,2,@hdc
            invoke    _dia,91,28,6,@hdc
            invoke    _dia,93,30,2,@hdc
        .else
            invoke    _dia,84,21,6,@hdc
            invoke    _dia,86,23,2,@hdc
            invoke    _dia,91,21,6,@hdc
            invoke    _dia,93,23,2,@hdc
            invoke    _dia,77,28,6,@hdc
            invoke    _dia,79,30,2,@hdc
            invoke    _dia,84,28,6,@hdc
            invoke    _dia,86,30,2,@hdc            
        .endif
        pop    eax
        invoke    DeleteObject,eax
        ret

_next         endp

_shift        proc    LorR
        pushad
        mov    ebx,LorR
        lea    esi,rdcoord
        add    byte ptr[esi],bl
        add    byte ptr[esi+1],bl
        add    byte ptr[esi+2],bl
        add    byte ptr[esi+3],bl
        popad
        ret

_shift         endp

_init        proc        ;初始化方塊偏侈坐標
    
            lea    esi,rdcoord
            .if    random2 == 1
                mov    byte ptr[esi],4
                mov    byte ptr[esi+1],14
                mov    byte ptr[esi+2],24
                mov    byte ptr[esi+3],34
            .elseif    random2 == 2
                mov    byte ptr[esi],4
                mov    byte ptr[esi+1],5
                mov    byte ptr[esi+2],14
                mov    byte ptr[esi+3],15            
            .elseif    random2 == 3
                mov    byte ptr[esi],4
                mov    byte ptr[esi+1],14
                mov    byte ptr[esi+2],24
                mov    byte ptr[esi+3],25        
            .elseif    random2 == 4
                mov    byte ptr[esi],5
                mov    byte ptr[esi+1],15
                mov    byte ptr[esi+2],25
                mov    byte ptr[esi+3],24
            .elseif    random2 == 5
                mov    byte ptr[esi],4
                mov    byte ptr[esi+1],13
                mov    byte ptr[esi+2],14
                mov    byte ptr[esi+3],15
            .elseif    random2 == 6
                mov    byte ptr[esi],3
                mov    byte ptr[esi+1],4
                mov    byte ptr[esi+2],14
                mov    byte ptr[esi+3],15
            .else
                mov    byte ptr[esi],4
                mov    byte ptr[esi+1],5
                mov    byte ptr[esi+2],13
                mov    byte ptr[esi+3],14
            .endif
                mov    rdtop,1
    
        ret

_init         endp

_setbuff    proc    zhi,clear        ;給圖形緩沖區設定有無方塊
        pushad
        
        mov    ecx,clear
        lea    edi,rdbuff
        lea    esi,rdcoord
        mov    eax,zhi
        
        xor    ebx,ebx
        mov    bl,byte ptr[esi]
        sub    ebx,ecx
        mov    byte ptr[edi+ebx],al
        xor    ebx,ebx
        mov    bl,byte ptr[esi+1]
        sub    ebx,ecx
        mov    byte ptr[edi+ebx],al
        xor    ebx,ebx
        mov    bl,byte ptr[esi+2]
        sub    ebx,ecx
        mov    byte ptr[edi+ebx],al
        xor    ebx,ebx
        mov    bl,byte ptr[esi+3]
        sub    ebx,ecx
        mov    byte ptr[edi+ebx],al
        
        popad
        ret

_setbuff     endp

_ran        proc    uses ebx edx
        invoke    GetLocalTime,addr systime
        mov    ax,systime.wMilliseconds
        xor    dx,dx
        mov    bx,7
        div    bx
        inc    dx
        movzx    edx,dx
        mov    eax,edx
        
        ret

_ran         endp

_down        proc    uses ebx ecx edx edi esi
        lea    edi,rdbuff
        lea    esi,rdcoord
        xor    ebx,ebx
        .if    random2 == 1
            .if    rdtop == 1
                mov    bl,byte ptr[esi+3]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                    invoke    _setbuff,0,10
                    invoke    _setbuff,1,0
                    jmp    l
                @@:
                mov    eax,0
                ret
                l:
            .elseif    rdtop == 2
                mov    bl,byte ptr[esi]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                mov    bl,byte ptr[esi+1]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                mov    bl,byte ptr[esi+2]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                mov    bl,byte ptr[esi+3]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                    invoke    _setbuff,0,10
                    invoke    _setbuff,1,0
                    jmp    l1
                @@:
                mov    eax,0
                ret
                l1:
            .endif
        .elseif random2 == 2
                mov    bl,byte ptr[esi+2]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                mov    bl,byte ptr[esi+3]
                cmp    byte ptr[edi+ebx],0
                jnz    @f
                    invoke    _setbuff,0,10
                    invoke    _setbuff,1,0
                    jmp    lp1
                @@:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人在线观看视频| 中文字幕一区二区三区乱码在线| 99re这里只有精品视频首页| 经典一区二区三区| 九九热在线视频观看这里只有精品| 日韩精品一级二级 | 首页亚洲欧美制服丝腿| 亚洲综合在线电影| 日韩电影在线一区二区| 青青草精品视频| 激情欧美一区二区三区在线观看| 精品一区二区三区影院在线午夜| 狂野欧美性猛交blacked| 国产一区不卡视频| 国产激情91久久精品导航 | 亚洲最新在线观看| 亚洲综合成人在线视频| 午夜视频一区二区三区| 日日摸夜夜添夜夜添国产精品| 久久精品国产一区二区三区免费看 | 蜜臀av一级做a爰片久久| 激情综合网激情| 不卡的电影网站| 在线中文字幕一区二区| 日韩一区二区在线免费观看| 久久久777精品电影网影网 | 国产美女精品在线| av亚洲精华国产精华精华| 欧美色网一区二区| 久久综合色婷婷| 亚洲欧美另类图片小说| 首页亚洲欧美制服丝腿| 豆国产96在线|亚洲| 欧美写真视频网站| 欧美激情一区二区三区全黄| 亚洲欧美日韩中文播放| 紧缚奴在线一区二区三区| 97精品久久久午夜一区二区三区| 欧美久久久久久久久中文字幕| 久久精品网站免费观看| 亚洲第一电影网| 成人免费视频国产在线观看| 欧美日本韩国一区二区三区视频 | 亚洲国产综合人成综合网站| 久久99精品久久只有精品| 日本高清无吗v一区| 久久精品日韩一区二区三区| 亚洲v中文字幕| 懂色av噜噜一区二区三区av| 欧美一级二级三级乱码| 亚洲一区二区三区在线播放| 成人午夜伦理影院| 精品精品国产高清a毛片牛牛| 亚洲一区在线视频观看| 不卡的av电影在线观看| 久久亚洲春色中文字幕久久久| 亚洲一区成人在线| 99精品欧美一区二区三区小说| 精品精品国产高清一毛片一天堂| 亚洲成av人片www| 在线视频一区二区三| 综合色中文字幕| fc2成人免费人成在线观看播放| 欧美成人欧美edvon| 免费视频一区二区| 88在线观看91蜜桃国自产| 亚洲成人免费影院| 欧美三级电影在线观看| 亚洲高清一区二区三区| 欧美午夜精品理论片a级按摩| 亚洲精品视频观看| 91国产免费观看| 亚洲在线免费播放| 欧美日韩综合色| 日本色综合中文字幕| 日韩一区二区视频在线观看| 蜜臀av一区二区在线观看| 日韩一区二区三区精品视频| 日韩va亚洲va欧美va久久| 日韩一级片网站| 精品在线播放免费| 久久久久久夜精品精品免费| 国产精品资源站在线| 欧美激情在线一区二区| 99久久伊人久久99| 亚洲欧美日韩中文字幕一区二区三区| 色94色欧美sute亚洲线路一ni| 亚洲精品少妇30p| 欧美日韩中文字幕精品| 蜜桃一区二区三区在线| 久久久国产午夜精品| 91污在线观看| 亚洲国产成人porn| 亚洲精品一区在线观看| 成人福利在线看| 亚洲不卡av一区二区三区| 欧美精品一区二区高清在线观看| 国产乱子伦一区二区三区国色天香 | 欧美日韩国产成人在线免费| 婷婷开心久久网| 久久精品视频网| 在线观看91视频| 久久精品免费看| 中文av一区二区| 欧美日韩亚洲综合| 国产精品一区二区在线播放| 亚洲激情综合网| 欧美精品一区二区蜜臀亚洲| 色域天天综合网| 国产呦精品一区二区三区网站| 成人欧美一区二区三区白人| 91麻豆精品国产自产在线| 国产成人午夜精品5599| 亚洲r级在线视频| 亚洲国产精品国自产拍av| 欧美男女性生活在线直播观看| 国产一区二区成人久久免费影院| 亚洲一区二区综合| 国产亚洲精品bt天堂精选| 欧美美女视频在线观看| 成人av一区二区三区| 久久99精品久久久| 亚洲成人资源在线| 自拍偷在线精品自拍偷无码专区| 日韩免费福利电影在线观看| 色综合天天综合给合国产| 九九**精品视频免费播放| 亚洲国产精品一区二区久久恐怖片| 日本一区二区在线不卡| 欧美精品1区2区3区| 色综合久久久久网| 国产福利91精品| 精品在线一区二区| 日本不卡1234视频| 天堂资源在线中文精品| 亚洲欧美激情小说另类| 国产精品私人影院| 久久久蜜桃精品| 欧美精品一区二区三区视频| 3d动漫精品啪啪1区2区免费| 欧美视频在线观看一区二区| 色综合久久久久久久久久久| av中文一区二区三区| 成人永久免费视频| 国产一区二区成人久久免费影院| 日韩**一区毛片| 日韩高清在线观看| 偷窥少妇高潮呻吟av久久免费| 亚洲一区二区三区四区在线免费观看| 中文字幕永久在线不卡| 国产精品毛片大码女人| 国产精品色噜噜| 最新不卡av在线| 亚洲男人都懂的| 一区二区三区四区乱视频| 亚洲黄一区二区三区| 一区二区三区国产| 午夜免费欧美电影| 久久99精品国产麻豆婷婷洗澡| 蜜桃视频一区二区| 国产麻豆成人精品| 99久久伊人网影院| 欧美在线一区二区三区| 欧美精三区欧美精三区| 日韩欧美高清dvd碟片| 久久综合给合久久狠狠狠97色69| 久久婷婷国产综合精品青草| 国产精品色一区二区三区| 亚洲乱码国产乱码精品精98午夜| 亚洲青青青在线视频| 午夜精品久久一牛影视| 国产在线精品一区二区夜色 | 亚洲无线码一区二区三区| 午夜国产不卡在线观看视频| 免费观看一级欧美片| 福利91精品一区二区三区| 91在线观看一区二区| 欧美久久久久久蜜桃| 久久久91精品国产一区二区三区| 亚洲同性同志一二三专区| 丝袜亚洲另类丝袜在线| 国产成人aaa| 欧美高清一级片在线| 国产三级精品视频| 亚洲一二三级电影| 国产成人亚洲综合a∨猫咪| 欧美午夜精品一区二区蜜桃 | 一本到不卡精品视频在线观看 | 成人黄色a**站在线观看| 欧美性生活影院| 久久久不卡网国产精品二区| 亚洲国产成人av| www.视频一区| 精品久久国产老人久久综合| 中文字幕一区二区三区av| 美女www一区二区| 欧美伊人久久久久久久久影院| 久久欧美一区二区| 偷拍亚洲欧洲综合| 色老汉一区二区三区|