亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
秋霞av亚洲一区二区三| 亚洲青青青在线视频| 欧美三级日韩三级| youjizz国产精品| 91美女蜜桃在线| 色偷偷一区二区三区| 在线观看三级视频欧美| 欧美日韩综合一区| 日韩视频国产视频| 精品国产欧美一区二区| 精品国产一区久久| 国产精品久久久久久久久搜平片| 国产欧美精品一区| 日韩伦理电影网| 午夜电影网亚洲视频| 蜜桃视频在线一区| 国产精品一区二区你懂的| 成人激情校园春色| 欧美在线观看18| 日韩色视频在线观看| 欧美激情中文字幕一区二区| 中文字幕亚洲欧美在线不卡| 亚洲国产欧美在线| 国产一区二区三区黄视频 | 欧美一区二区三区在线电影 | 成人精品gif动图一区| 91猫先生在线| 欧美精品久久久久久久多人混战| 精品国产网站在线观看| 国产精品麻豆一区二区| 日韩有码一区二区三区| 国产激情一区二区三区| 在线亚洲+欧美+日本专区| 欧美不卡一二三| 亚洲欧美另类小说| 国内精品伊人久久久久av一坑| 91麻豆国产精品久久| 日韩一级黄色大片| 亚洲一区在线视频| 蜜桃av一区二区三区电影| 99精品欧美一区二区三区综合在线| 91麻豆精品国产91久久久更新时间| 欧美国产欧美综合| 免费高清不卡av| 91精彩视频在线观看| 国产午夜精品一区二区三区嫩草 | 亚洲精品日日夜夜| 久久99国产精品久久99| 色偷偷88欧美精品久久久| 久久综合色婷婷| 亚洲福利国产精品| 色又黄又爽网站www久久| 久久久www免费人成精品| 亚洲国产精品欧美一二99| 99久久综合99久久综合网站| 日韩精品最新网址| 亚洲成精国产精品女| 91在线视频在线| 日本一区二区动态图| 激情综合五月婷婷| 91精品国产综合久久香蕉麻豆 | 国产欧美精品一区二区三区四区| 热久久国产精品| 精品视频一区二区三区免费| 亚洲欧美日韩一区二区 | 欧美韩日一区二区三区| 激情丁香综合五月| 日韩免费性生活视频播放| 亚洲国产精品视频| 欧美日韩免费电影| 亚洲高清免费观看 | 国产成人免费视频一区| 精品国内片67194| 久久99精品久久久久久动态图| 欧美高清你懂得| 麻豆精品视频在线观看视频| 宅男噜噜噜66一区二区66| 三级久久三级久久| 日韩限制级电影在线观看| 男人的天堂亚洲一区| 欧美成人性福生活免费看| 精品一区二区三区的国产在线播放| 日韩亚洲欧美在线观看| 精品夜夜嗨av一区二区三区| 久久九九全国免费| 成人免费高清在线| 亚洲天堂2016| 欧美欧美欧美欧美| 久草热8精品视频在线观看| 久久午夜国产精品| 成人美女视频在线看| 亚洲欧洲av另类| 欧美三级蜜桃2在线观看| 日欧美一区二区| 久久久久久免费毛片精品| 国产999精品久久久久久绿帽| 中文字幕一区二区三| 欧美日韩高清影院| 国产一区二区三区在线看麻豆| 日本一区免费视频| 欧美性生活久久| 久久爱www久久做| 综合久久久久久| 欧美一区二区三区日韩视频| 春色校园综合激情亚洲| 亚洲国产精品久久久久婷婷884| 精品久久久久久久久久久久包黑料 | 99久久精品国产导航| 午夜不卡在线视频| 国产香蕉久久精品综合网| 色av成人天堂桃色av| 麻豆91在线播放免费| 国产精品情趣视频| 在线不卡的av| www.久久精品| 久久成人免费网| 亚洲曰韩产成在线| 久久精品视频在线免费观看| 欧美三级电影网| 国产69精品久久99不卡| 奇米在线7777在线精品| 1区2区3区欧美| 久久蜜桃av一区精品变态类天堂 | 久久久亚洲国产美女国产盗摄 | 久久综合狠狠综合| 欧美在线色视频| 99久久综合精品| 高清av一区二区| 久久精工是国产品牌吗| 亚洲一区二区精品3399| 亚洲欧美综合色| 国产精品丝袜一区| 久久毛片高清国产| 精品久久久久久久久久久久包黑料 | 日韩网站在线看片你懂的| 一本大道综合伊人精品热热| 国产曰批免费观看久久久| 视频在线观看一区二区三区| 亚洲啪啪综合av一区二区三区| 日本一区二区三区电影| 精品奇米国产一区二区三区| 欧美日韩国产高清一区| 欧美在线视频全部完| 91精品办公室少妇高潮对白| 91视频国产观看| 99久久99久久综合| 97se狠狠狠综合亚洲狠狠| 不卡一卡二卡三乱码免费网站| 国产精品一区久久久久| 国产精品系列在线播放| 国产成人精品三级麻豆| 国产成人免费高清| 国产jizzjizz一区二区| www.欧美精品一二区| 99国产精品久久久久久久久久 | 亚洲一二三区视频在线观看| 亚洲欧美激情视频在线观看一区二区三区| 中文字幕av不卡| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久一区| 一区二区在线观看免费| 亚洲一区二区成人在线观看| 三级成人在线视频| 免费成人在线观看| 国产一区二区调教| www.欧美亚洲| 在线精品视频一区二区| 欧美日韩情趣电影| 日韩一区二区精品葵司在线| 久久美女艺术照精彩视频福利播放| 国产女同性恋一区二区| 夜夜嗨av一区二区三区| 日本系列欧美系列| 处破女av一区二区| 欧美自拍偷拍一区| 欧美成人精精品一区二区频| 国产精品三级电影| 亚洲与欧洲av电影| 国产专区综合网| 在线观看三级视频欧美| 日韩欧美一区二区三区在线| 亚洲国产精品v| 婷婷成人激情在线网| 国产精品一区2区| 91久久精品国产91性色tv| 精品卡一卡二卡三卡四在线| 亚洲摸摸操操av| 国产乱码精品1区2区3区| 色综合天天视频在线观看 | 国产剧情在线观看一区二区| 一本一道波多野结衣一区二区| 日韩欧美中文一区| 亚洲乱码国产乱码精品精小说| 免费成人av在线播放| 91老师国产黑色丝袜在线| 久久综合九色综合欧美就去吻| 一区二区三区国产精华| 国产69精品久久99不卡| 欧美一区二区精品| 亚洲伊人色欲综合网|