Pong: Fix title (score), whitespace changes.

git-svn-id: svn://kolibrios.org@6024 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2016-01-02 12:24:25 +00:00
parent e48064d090
commit 8f4ba7ce29
2 changed files with 251 additions and 266 deletions

View File

@ -89,14 +89,14 @@ _1dbounce_count=0;
macro collimg img1_off,x1,y1,img2_off,x2,y2,otv
{
local bounce,exit,anot,bc,nbc
mov esi,[img1_off] ;xs1
mov edi,[img2_off] ;ys2
mov esi, dword[img1_off] ;xs1
mov edi, dword[img2_off] ;ys2
mov eax, x1 ;
mov ebx, x2 ;
call _1dbounce
mov edx,ecx
mov esi,[img1_off+4] ;ys1
mov edi,[img2_off+4] ;ys2
mov esi, dword[img1_off+4] ;ys1
mov edi, dword[img2_off+4] ;ys2
mov eax, y1 ;
mov ebx, y2 ;
call _1dbounce
@ -316,14 +316,14 @@ local noaddword
yespicsize:
mov eax,bmp_load_area
mov ebx,eax
add ebx, [bmp_load_area+2];file size
add ebx, dword[bmp_load_area+2];file size
inc ebx
mov dword [bmp_soi],ebx ;soi-start of image area for drawing
add eax, [bmp_load_area+10]
add eax, dword[bmp_load_area+10]
mov dword [sop],eax ;sop-start of picture in file
add eax, [bmp_load_area+34]
add eax, dword[bmp_load_area+34]
mov dword [eop],eax ;eop-end of picture in file
mov eax, [bmp_load_area+18]
mov eax, dword[bmp_load_area+18]
lea eax,[eax+2*eax] ;3x pixels in eax
mov edi,dword [bmp_soi] ;initializing
@ -353,7 +353,7 @@ local noaddword
convertno32:
mov ebx,bmp_load_area
add ebx, [bmp_load_area+14]
add ebx, dword[bmp_load_area+14]
add ebx,14 ;start of color table
push esi
add esi, dword[bps]

View File

@ -5,6 +5,8 @@
; Not use bmpfile!
;******************************************************************************
format binary as ""
use32
org 0x0
db 'MENUET01' ; 8 byte id
@ -13,7 +15,7 @@
dd IM_END ; size of image
dd 0x300000 ; memory for app
dd 0x300000 ; esp
dd temp_area , 0x0 ; I_Param , I_Icon
dd temp_area, 0x0 ; I_Param , I_Path
;******************************************************************************
@ -26,7 +28,6 @@ include 'ascgml.inc'
START: ; start of execution
call draw_window
; loadbmp '/RD/1/PONG.BMP',temp_area,I_END,tsoi
convbmp pongfile, tsoi
bmptoimg pongfile, tsoi,pong
getimg pong, 0, 0, 80, 4, img
@ -36,10 +37,7 @@ START: ; start of execution
fullimg img4, 80 ,20 ,0x00000000 ;black for rocket
fullimg img6, 15 ,15 ,0x00000000 ;black for ball
still:
scevent red,key,button
;mcall 48, 4 ;get skin width
@ -47,85 +45,83 @@ still:
;div eax, 2
;mov [skin_h], eax
outcount dword [scoreb],300,8,cl_Blue,5*65536
outcount dword [scorea],350,8,cl_Red,5*65536
outcount [scoreb], 300, 4, 0x10000000 + cl_Blue, 5 shl 16
outcount [scorea], 350, 4, 0x10000000 + cl_Red, 5 shl 16
del_images:
setimg dword [ply1x],dword [ply1y],img4
setimg dword [ply2x],dword [ply2y],img4
setimg dword [ballx],dword [bally],img6
setimg dword [gravx],dword [gravy],img4
setimg [ply1x], [ply1y], img4
setimg [ply2x], [ply2y], img4
setimg [ballx], [bally], img6
setimg [gravx], [gravy], img4
move_ply1:
correct [ply1x], [ply1rx], 4
correct [ply1y], [ply1ry], 2
; automove ball
mov eax,dword [ballxv]
add dword [ballx],eax
mov eax,dword [ballyv]
add dword [bally],eax
mov eax, [ballxv]
add [ballx], eax
mov eax, [ballyv]
add [bally], eax
;autoslow ball
cmp dword [ballxv],0
cmp [ballxv], 0
jl ballb
balla:
cmp dword [ballxv],2
cmp [ballxv], 2
jng balln
dec dword [ballxv]
dec [ballxv]
jmp balln
ballb:
cmp dword [ballxv],-2
cmp [ballxv], -2
jnl balln
inc dword [ballxv]
inc [ballxv]
jmp balln
balln:
cmp dword [ballyv],2
cmp [ballyv], 2
jng by_n
dec dword [ballyv]
dec [ballyv]
by_n:
;ball collusion of screen
cmp dword [ballx],640-32
cmp [ballx], 640-32
jna xa_ok
neg dword [ballxv]
neg [ballxv]
xa_ok:
cmp dword [ballx],6
cmp [ballx], 6
jnb xb_ok
neg dword [ballxv]
neg [ballxv]
xb_ok:
;if ball far out of screen come back
; is not work already
cmp dword [bally],466
cmp [bally], 466
jng yax_ok
call draw_window
inc dword [scoreb]
mov dword [bally],240
mov dword [ballx],310
mov dword [ballyv],2
random 5,dword [ballxv]
sub dword [ballxv],2
inc [scoreb]
mov [bally], 240
mov [ballx], 310
mov [ballyv], 2
random 5, [ballxv]
sub [ballxv], 2
yax_ok:
cmp dword [bally],30
cmp [bally], 30
jnl yax_ok2
call draw_window
inc dword [scorea]
mov dword [bally],240
mov dword [ballx],310
mov dword [ballyv],2
random 5,dword [ballxv]
sub dword [ballxv],2
inc [scorea]
mov [bally], 240
mov [ballx], 310
mov [ballyv], 2
random 5, [ballxv]
sub [ballxv], 2
yax_ok2:
xorx:
cmp dword [ballxv],0
cmp [ballxv], 0
jne norx
random 5,dword [ballxv]
sub dword [ballxv],2
cmp dword [ballxv],0
random 5, [ballxv]
sub [ballxv], 2
cmp [ballxv], 0
je xorx
norx:
@ -134,9 +130,9 @@ collusion_test:
collimg img, [ply1x], [ply1y], img3, [ballx], [bally], eax
cmp eax, 1
jne not_coll
neg dword [ballyv]
add dword [bally],4
; neg dword [ballxv]
neg [ballyv]
add [bally], 4
; neg [ballxv]
not_coll:
;test on collusion com of ball
@ -144,8 +140,8 @@ collusion_com:
collimg img, [ply2x], [ply2y], img3, [ballx], [bally], eax
cmp eax, 1
jne not_collcom
neg dword [ballyv]
sub dword [bally],4
neg [ballyv]
sub [bally], 4
; neg dword [ballxv]
not_collcom:
@ -154,102 +150,101 @@ collusion_grav:
collimg img, [gravx], [gravy], img3, [ballx], [bally], eax
cmp eax, 1
jne not_collg
neg dword [ballyv]
neg [ballyv]
; mov dword [ballxv],-20
; mov [ballxv], -20
cmp dword [ballyv],0
cmp [ballyv], 0
jl ab
jg bf
jmp not_collgx
ab:
sub dword [ballyv],25
sub [ballyv], 25
jmp not_collgx
bf:
add dword [ballyv],25
add [ballyv], 25
not_collgx:
cmp dword [ballxv],0
cmp [ballxv], 0
jl abx
jg bfx
jmp not_collg
abx:
sub dword [ballxv],8 ;15
sub [ballxv], 8 ;15
jmp not_collg
bfx:
add dword [ballxv],8
add [ballxv], 8
; mov dword [ballyv],20
; mov [ballyv], 20
not_collg:
;ply contorl
cmp dword [ply1rx],560
cmp [ply1rx], 560
jna plyok
cmp dword [ply1rx],12000
cmp [ply1rx], 12000
jna paa
mov dword [ply1rx],4
mov [ply1rx], 4
jmp plyok
paa:
mov dword [ply1rx],560
mov [ply1rx], 560
plyok:
;com contorl
cmp dword [ply2x],560
cmp [ply2x], 560
jna cplyok
cmp dword [ply2x],12000
cmp [ply2x], 12000
jna cpaa
mov dword [ply2x],4
mov [ply2x], 4
jmp cplyok
cpaa:
mov dword [ply2x],560
mov [ply2x], 560
cplyok:
;com move
cx_move:
cmp dword [bally],160
cmp [bally], 160
jna cno_m
mov eax,dword [ballx]
mov eax, [ballx]
sub eax, 30
cmp dword [ply2x],eax
cmp [ply2x], eax
je cno_m
cmp dword [ply2x],eax
cmp [ply2x], eax
ja cm_m
cm_p:
add dword [ply2x],3
add [ply2x], 3
jmp cno_m
cm_m:
sub dword [ply2x],3
sub [ply2x], 3
cno_m:
;garvity
gravity:
cmp dword [gravtime],0
cmp [gravtime], 0
je no_dg
dec dword [gravtime]
dec [gravtime]
no_dg:
draw_gravity:
cmp dword [gravtime],0
cmp [gravtime], 0
je nograv
mov eax,dword [ply1x]
mov ebx,dword [ply1y]
mov eax, [ply1x]
mov ebx, [ply1y]
add ebx, 10
mov dword [gravx],eax
mov dword [gravy],ebx
mov [gravx], eax
mov [gravy], ebx
jmp endgrav
nograv:
mov dword [gravx],1000
mov dword [gravy],1000
mov [gravx], 1000
mov [gravy], 1000
endgrav:
redraw_images:
setimg dword [ply1x],dword [ply1y],img
setimg dword [ply2x],dword [ply2y],img2 ;2
setimg dword [ballx],dword [bally],img3
setimg dword [gravx],dword [gravy],img5
setimg [ply1x], [ply1y], img
setimg [ply2x], [ply2y], img2
setimg [ballx], [bally], img3
setimg [gravx], [gravy], img5
delay 1 ;don't generate delay for fast speed programm
@ -264,23 +259,23 @@ redraw_images:
mcall
cmp ah, key_Left
jne no_l
sub dword [ply1rx],32 ;16
sub [ply1rx], 32 ;16
no_l:
cmp ah, key_Right
jne no_r
add dword [ply1rx],32 ;16
add [ply1rx], 32 ;16
no_r:
cmp ah, key_Up
jne no_u
sub dword [ply1ry],16
sub [ply1ry], 16
no_u:
cmp ah, key_Down
jne no_d
add dword [ply1ry],16
add [ply1ry], 16
no_d:
cmp ah, key_Space
jne no_sp
mov dword [gravtime],100
mov [gravtime], 100
no_sp:
jmp still
@ -335,30 +330,20 @@ scoreb dd 0
counter dd 0
tsoi dd 0
pongfile:
file 'pong.bmp'
pongfile file 'pong.bmp'
IM_END:
temp:
rb 20000
temp rb 20000
pong:
rb 80*60*3+8
img:
rb 32*32*3+8
img2:
rb 32*32*3+8
img3:
rb 32*32*3+8
img4:
rb 80*20*3+8
img5:
rb 32*32*3+8
img6:
rb 15*15*3+8
pong rb 80*60*3+8
img rb 32*32*3+8
img2 rb 32*32*3+8
img3 rb 32*32*3+8
img4 rb 80*20*3+8
img5 rb 32*32*3+8
img6 rb 15*15*3+8
temp_area:
rb 0x15000
temp_area rb 0x15000
I_END: