📄 data.inc
字号:
;******************************************************************************
IDB_BITMAP1 equ 101 ;位图资源的ID
IDB_BITMAP2 equ 103
IDB_BITMAP3 equ 104
IDB_BITMAP4 equ 105
IDB_BITMAP5 equ 106
IDB_BITMAP6 equ 107
IDB_BITMAP7 equ 108
IDB_BITMAP8 equ 109
;控制物体下落的定时器
ID_TIMER1 equ 1
INTERVAL equ 500
;定时器触发时的动作
XDOWN equ 1
XNEW equ 2
XREMOVEROW equ 3
XBREAK equ 4
;画图有关的尺寸
CellWidth equ 20 ;每个小方块的长和宽
CellHeight equ 20
PanelWidth equ 204
PanelHeight equ 403
WndWidth equ 214
WndHeight equ 452
;状态栏的控件ID
ID_STATUSBAR equ 1
;******************************************************************************
.data
;******************************************************************************
HInstance dd ? ;程序模块句柄
HMainWnd dd ? ;主窗体句柄
HMemWnd dd ? ;屏幕上要显示的东西先画到这里面
BlackBrush dd ? ;没有小方块的地方用黑色画刷
BlueBrush dd ? ;游戏的背景颜色
HDCX dd ? ;保存正在下落的方块位图的设备
HDCO dd ? ;保存已经落到底的方块位图的设备
Cell RECT <> ;表示小方块矩形
Panel RECT <> ;表示整个画板
HStatus dd ?
;和定时器有关的标志
IsTimer dd FALSE ;定时器工作时 = 1, 定时器不工作时 = 0
Act dd ? ;定时器触发时的动作
;..................................
;调试
DgBuffer db 512 dup (?)
DgCaption db '调试信息框', 0
;DgMsg db '已执行到', 0
;DgMsg db '_GetNextDrop: %d', 0
;DgMsg db '_GetMapChar:%c', 0
;DgMsg db "Test_IndexToCoord: %d, %d, %d, %d", 0
;DgMsg db "Test_WndCreate, HMemWnd = %d", 0
;DgMsg db "消息 WM_CHAR 按键已验证", 0
;DgMsg db "定时器事件已验证", 0
;DgMsg db "Test_NewCooky: %d, %d, %d, %d, %d, %d, %d, %d", 0
;DgMsg db "_Xleft 出界", 0
;DgMsg db "_Xdown: 行=%d, 列=%d", 0
;DgMsg db "_Xturn %d", 0
DgMsg db "AAA %d", 0
DgMsg2 db "BBB %d", 0
;..................................
CookyTop dd ? ;正在下落的方块左上角的位置
CookyLeft dd ?
CookyNo dd ? ;下落的是哪个方块
Pose dd ? ;方块是那种姿势
Dots dd 8 dup (?) ;下落的方块占用的四个位置
Dots2 dd 8 dup (?) ;记录方块下一步的位置,用来判断是否可以移动
;Dots dd 2, 2, 3, 3, 4, 4, 5, 5
;Dots dd 0, 0, 0, 0, 0, 0, 0, 0
;Dots dd 19, 9, 19, 9, 19, 9, 19, 9
IsDrawCooky dd FALSE ;是否画正在下落的物体
RowFull db 20 dup ('N'), 0 ;20行里面哪一行是满的
szClassName db 'yzp-els', 0
szCaptionMain db '小方块', 0
;状态栏上显示的东西
StatusBuffer db 128 dup (?)
StatusMsg db "有问题找上帝, 得分:%lu", 0
Score dd ?
GameOver db "Game Over !", 13, 10, 13, 10, "最后得分:%lu", 0
TipCaption dd "^o^", 0
MapTop db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ;-1 消去行的时候所有行往下挪,这样方便吧
Map db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ;0 方块活动区域10 * 20 格
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ;1 X表示正在下落的物件,Q表示已经落到底的物件
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ;10
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ;18
db ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ;19
MapBottom db 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q' ;20 最后一行不在窗口上画出来,仅仅是方块下落到这里时处理方便
;---------------------
Box db 'X', 'X', ' ', ' ' ;方块1
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
;---------------------
db 'X', 'X', 'X', 'X' ;方块2
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', 'X', 'X', 'X'
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
;---------------------
db 'X', 'X', 'X', ' ' ;方块3
db ' ', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', 'X', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', 'X', ' ', ' '
db 'X', 'X', 'X', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db 'X', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
;---------------------
db 'X', 'X', ' ', ' ' ;方块4
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', 'X', ' '
db ' ', ' ', 'X', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', 'X', ' ', ' '
db ' ', 'X', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', 'X', 'X', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
;---------------------
db 'X', 'X', ' ', ' ' ;方块5
db ' ', 'X', ' ', ' '
db ' ', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', 'X', ' '
db 'X', 'X', 'X', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', 'X', ' '
db 'X', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
;---------------------
db ' ', 'X', ' ', ' ' ;方块6
db 'X', 'X', ' ', ' '
db 'X', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', 'X', 'X', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', 'X', ' ', ' '
db 'X', 'X', ' ', ' '
db 'X', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', 'X', 'X', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
;---------------------
db 'X', ' ', ' ', ' ' ;方块7
db 'X', 'X', ' ', ' '
db ' ', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', 'X', 'X', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
db 'X', ' ', ' ', ' '
db 'X', 'X', ' ', ' '
db ' ', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', 'X', 'X', ' '
db 'X', 'X', ' ', ' '
db ' ', ' ', ' ', ' '
db ' ', ' ', ' ', ' '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -