'Pong' game source updated till ver 1.1

git-svn-id: svn://kolibrios.org@1802 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Yogev Ezra 2011-01-29 22:03:56 +00:00
parent 17fd660c84
commit 53e439f8a0
6 changed files with 138 additions and 54 deletions

View File

@ -1,5 +1,3 @@
@erase lang.inc @copy english.inc lang.inc
@echo lang fix en >lang.inc
@fasm pong.asm pong @fasm pong.asm pong
@erase lang.inc
@pause @pause

View File

@ -1,5 +1,3 @@
@erase lang.inc @copy russian.inc lang.inc
@echo lang fix ru >lang.inc
@fasm pong.asm pong @fasm pong.asm pong
@erase lang.inc
@pause @pause

View File

@ -0,0 +1,14 @@
scotext:
db 'SCORE: :'
welcome:
db 'PLAYER1: Q , A PLAYER2:  , '
b0lab:
db 'NEW GAME'
labelt:
db 'PONG v1.1',0
w1:
db 'Player 1 wins!'
w2:
db 'Player 2 wins!'
clsign:
db 'x'

View File

@ -0,0 +1,14 @@
scotext:
db 'SCORE: :'
welcome:
db 'PLAYER1: Q , A PLAYER2:  , '
b0lab:
db 'NEW GAME'
labelt:
db 'PONG v1.1',0
w1:
db 'Player 1 wins!'
w2:
db 'Player 2 wins!'
clsign:
db 'x'

View File

@ -1,21 +1,23 @@
; ;
; PONG for MENUET v1.0 ; PONG for MENUET v1.1
; 2001 by Mario Birkner, Germany ; 2001 by Mario Birkner, Germany
; cyflexx@digitalrice.com ; cyflexx@digitalrice.com
; ;
; PONG for MENUET is ; PONG for MENUET is
; a small PONG-clone for MenuetOS ; a small PONG-clone for MenuetOS/KolibriOS
; ;
; HINT: If the Paddle moves too slow,increase the ;
; typematic Rate in your BIOS ; improved by Oleksandr Bogomaz aka Albom
; albom85@yandex.ru
; 11.07.2008
; ;
include '..\..\..\macros.inc' include '../../../macros.inc'
CK_UP1 equ 113 CK_UP1 equ 16
CK_DOWN1 equ 97 CK_DOWN1 equ 30
CK_UP2 equ 130+48 CK_UP2 equ 72
CK_DOWN2 equ 129+48 CK_DOWN2 equ 80
use32 use32
@ -33,6 +35,11 @@ use32
START: START:
mov eax, 66
mov ebx, 1
mov ecx, 1
mcall ; óńňŕíîâčňü đĺćčě ńęŕíęîäîâ
call draw_window call draw_window
@ -54,6 +61,41 @@ still:
mov ebx,[delay] mov ebx,[delay]
mcall mcall
; â ńîîňâĺňńňâčč ń íŕćŕňűěč ęëŕâčřŕěč ďĺđĺěĺůŕĺě ďëîćŕäęč
cmp [is_up1], 1
jne _next_key1
cmp [posya],52*65536+64
je _next_key2
sub [posya],4*65536
_next_key1:
cmp [is_dn1], 1
jne _next_key2
cmp [posya],140*65536+64
je _next_key2
add [posya],4*65536
_next_key2:
cmp [is_up2], 1
jne _next_key3
cmp [posyb],52*65536+64
je keys_ok
sub [posyb],4*65536
_next_key3:
cmp [is_dn2], 1
jne _next_key4
cmp [posyb],140*65536+64
je keys_ok
add [posyb],4*65536
_next_key4:
keys_ok:
; ńňčđŕĺě ďëîůŕäęč
call cl1
call cl0
; đčńóĺě ďëîůŕäęč
call drawpad
jmp move jmp move
red: red:
@ -70,40 +112,53 @@ still:
jne still jne still
up1: up1:
cmp ah,CK_UP1 cmp ah,CK_UP1 ; îáđŕáîňęŕ íŕćŕňč˙ ęëŕâčřč
jne dn1 jne dn1
cmp [posya],52*65536+64 mov [is_up1], 1
je still mov [is_dn1], 0
sub [posya],4*65536
call cl0
call drawpad
jmp still jmp still
dn1: dn1:
cmp ah,CK_DOWN1 cmp ah,CK_DOWN1 ; îáđŕáîňęŕ íŕćŕňč˙ ęëŕâčřč
jne up2 jne up1u
cmp [posya],140*65536+64 mov [is_up1], 0
je still mov [is_dn1], 1
add [posya],4*65536
call cl0
call drawpad
jmp still jmp still
up1u:
cmp ah,CK_UP1+128 ; îáđŕáîňęŕ îňďóńęŕíč˙ ęëŕâčřč
jne dn1u
mov [is_up1], 0
mov [is_dn1], 0
jmp still
dn1u:
cmp ah,CK_DOWN1+128 ; îáđŕáîňęŕ îňďóńęŕíč˙ ęëŕâčřč
jne up2
mov [is_up1], 0
mov [is_dn1], 0
jmp still
up2: up2:
cmp ah,CK_UP2 cmp ah,CK_UP2 ; îáđŕáîňęŕ íŕćŕňč˙ ęëŕâčřč
jne dn2 jne dn2
cmp [posyb],52*65536+64 mov [is_up2], 1
je still mov [is_dn2], 0
sub [posyb],4*65536
call cl1
call drawpad
jmp still jmp still
dn2: dn2:
cmp ah,CK_DOWN2 cmp ah,CK_DOWN2 ; îáđŕáîňęŕ íŕćŕňč˙ ęëŕâčřč
jne up2u
mov [is_up2], 0
mov [is_dn2], 1
jmp still
up2u:
cmp ah,CK_UP2+128 ; îáđŕáîňęŕ îňďóńęŕíč˙ ęëŕâčřč
jne dn2u
mov [is_up2], 0
mov [is_dn2], 0
jmp still
dn2u:
cmp ah,CK_DOWN2+128 ; îáđŕáîňęŕ îňďóńęŕíč˙ ęëŕâčřč
jne still jne still
cmp [posyb],140*65536+64 mov [is_up2], 0
je still mov [is_dn2], 0
add [posyb],4*65536
call cl1
call drawpad
jmp still jmp still
button: button:
@ -395,21 +450,12 @@ delay dd 0x1 ;delay betw. frames
scp1 dd 0x0 scp1 dd 0x0
scp2 dd 0x0 scp2 dd 0x0
is_up1 dd 0x0 ; \
is_dn1 dd 0x0 ; | ęŕęčĺ ęëŕâčřč íŕćŕňű
is_up2 dd 0x0 ; |
is_dn2 dd 0x0 ; /
scotext: include "lang.inc"
db 'SCORE: :'
welcome:
db 'PLAYER1: Q , A PLAYER2:  , '
b0lab:
db 'NEW GAME'
labelt:
db 'PONG FOR MENUET v1.0',0
w1:
db 'Player 1 wins!'
w2:
db 'Player 2 wins!'
clsign:
db 'x'
ball: ball:
file "ball.raw" file "ball.raw"

View File

@ -0,0 +1,14 @@
scotext:
db '‘—ð’ : :'
welcome:
db 'ˆƒ<CB86>ŽŠ 1: Q , A ˆƒ<CB86>ŽŠ 2:  , '
b0lab:
db ' <20>€—€œ '
labelt:
db 'PONG v1.1',0
w1:
db 'ˆ£à®ª1 ¢ë¨£à.!'
w2:
db 'ˆ£à®ª2 ¢ë¨£à.!'
clsign:
db 'x'