Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set kernel_options no_blank_lines
- set romsize 2k
- const noscore=1
- beginning
- playfield:
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
- X..............................X.
- X..XX..XX..XX..XX..XX..XX..XX..X.
- X..............................X.
- X..XX..XX..XX..XX..XX..XX..XX..X.
- X..............................X.
- X..XX..XX..XX..XX..XX..XX..XX..X.
- X..............................X.
- X..XX..XX..XX..XX..XX..XX..XX..X.
- X..............................X.
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
- end
- player0:
- %00011110
- %00110011
- %11110001
- end
- player1:
- %00111100
- %01111110
- %11111111
- %01111110
- %00111100
- end
- player0score=$80
- if !joy0fire then main
- new_game
- player1score=0 : player0score=0 : y=0
- new_game_2
- player1x=21 : player1y=21
- player0x=101
- player0y=79 : m=79
- get_new_present
- ballx=(rand/4)+21
- bally=(rand/4)+15
- main
- player1scorecolor=26 : COLUBK=$c6 : COLUPF=$44
- if switchbw then player1scorecolor=12 : COLUBK=4 : COLUPF=0
- ballheight=2
- CTRLPF=$21
- AUDV0=z : AUDC0=z : AUDF0=24
- drawscreen
- if z>0 then w=w+1
- if w>15 then z=0 : w=0
- if player0score>$79 then goto beginning
- y=y+1
- if y=255 then player0score=addbcd(player0score, 5)
- if collision(player1,player0) then player0score=addbcd(player0score, 5) : z=3 : goto new_game_2
- if collision(ball,playfield) then ballx=ballx+1
- if collision(player1,ball) then player1score=addbcd(player1score, 1) : z=4 : goto get_new_present
- move_enemy
- s=s+1 : m=m+1
- if s{0} then move_player
- if m>31 then get_enemy_dir
- goto enemy_move
- get_enemy_dir
- m=0
- if n>2 then skip_eud
- n=1
- if player0y>player1y then enemy_move
- n = n + 1 : goto enemy_move
- skip_eud
- n=3
- if player0x<player1x then n = n + 1
- enemy_move
- pn = 0 : dir = n
- gosub move
- skip_enemy_move
- move_player
- if s{0} then goto main
- dir = SWCHA / 16 ^ $0F
- if dir then f = dn[dir]
- if f then pn = 1 : dir = f : gosub move
- goto main
- rem direction number 1 = up, 2 = down, 3 = left, 4 = right
- data dn
- 0, 1, 2, 0, 3, 3, 0, 4, 4, 4
- end
- rem pn = player number parameter
- rem dir = direction parameter
- rem scol = screen column
- rem srow = screen row
- dim pn = temp3
- dim dir = temp4
- dim scol = temp5
- dim srow = temp6
- move
- if dir < 3 then ud
- scol = (offset[dir] + player0x[pn]) / 4
- srow = (player0y[pn] - 7) / 8
- if pfread(scol, srow) then rl_0
- scol = (srow * 8) + 7
- if player0y[pn] = scol then skip_rl_0
- rl_0
- dir = 0
- skip_rl_0
- player0x[pn] = player0x[pn] + mov[dir]
- return
- ud
- scol = (player0x[pn] - 17) / 4
- srow = (offset[dir] + player0y[pn]) / 8
- if pfread(scol, srow) then ud_0
- scol = scol + 1
- if pfread(scol, srow) then ud_0
- scol = (scol * 4) + 13
- if player0x[pn] = scol then skip_ud_0
- ud_0
- dir = 0
- skip_ud_0
- player0y[pn] = player0y[pn] + mov[dir]
- return
- data offset
- 0, -8, 1, -18, -9
- end
- data mov
- 0, -1, 1, -1, 1
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement