该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
decebx
.endw
assumeesi:nothing
invokeGetStockObject,WHITE_BRUSH
invokeSelectObject,hDcBack,eax
invokeDeleteObject,eax
invokeDeleteObject,@hBmpBack
popad
ret
_CreateBackGroundendp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_CreateSheproc
local@hBmpSheH
pushad
invokeBitBlt,hDcShe,0,0,688,448,hDcBack,0,0,SRCCOPY
;********************************
; 画蛇
;********************************
assumeebx:ptr COONDS
movebx,lpTop
movesi,lpLast
moveax,[ebx].dwX
movecx,[ebx].dwY
;*******判断蛇头位图
.ifdwPath == 0
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,42,22,SRCCOPY
.elseifdwPath == 8
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,62,22,SRCCOPY
.elseifdwPath == 16
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,22,22,SRCCOPY
.else
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,2,22,SRCCOPY
.endif
addebx,12
;invokeGetStockObject,BLACK_BRUSH
;invokeSelectObject,hDcShe,eax
;****************************************************************************************
; 判断蛇身位图
.whileebx != esi
moveax,[ebx].dwX
movecx,[ebx].dwY
.if[ebx].dwZ == HENG
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,22,42,SRCCOPY
.elseif[ebx].dwZ == SHU
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,2,42,SRCCOPY
.elseif[ebx].dwZ == LEFT_U || [ebx].dwZ == DOWN_R
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,42,42,SRCCOPY
.elseif[ebx].dwZ == DOWN_L || [ebx].dwZ == RIGHT_U
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,62,42,SRCCOPY
.elseif[ebx].dwZ == UP_R || [ebx].dwZ == LEFT_D
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,2,62,SRCCOPY
.elseif[ebx].dwZ == RIGHT_D || [ebx].dwZ == UP_L
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,22,62,SRCCOPY
.endif
;invokePatBlt,hDcShe,eax,ecx,16,16,PATCOPY
addebx,12
.endw
; 判断蛇尾位图
.if[ebx].dwZ == RIGHT_U || [ebx].dwZ == LEFT_U
mov dwW,W_DOWN
.elseif [ebx].dwZ == RIGHT_D || [ebx].dwZ == LEFT_D
mov dwW,W_UP
.elseif[ebx].dwZ == UP_L || [ebx].dwZ == DOWN_L
mov dwW,W_RIGHT
.elseif[ebx].dwZ == UP_R || [ebx].dwZ == DOWN_R
mov dwW,W_LEFT
.endif
moveax,[ebx].dwX
movecx,[ebx].dwY
.ifdwW == W_UP
invokeBitBlt,hDcShe,eax,ecx,16,16,hDcSheB,42,2,SRCCOPY
.elseifdwW == W_DOWN