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
- d=$c6 : e=$44
- title_screen
- r=r+1
- AUDC0=12 : AUDV0=5 : AUDF0=music[v]
- if r>25 then r=0 : v=v+1
- if v>20 then v=0
- g=0 : n=0 : u=0 : y=0
- if w<64 then w=w+1 : z=1 : t=w/2
- bally=200
- b=b+1
- if b=0 then d=rand : e=rand
- playfield:
- .X.....XXX...XXX...XXX...X.X.....
- .X.....X.X...X.X...X.X...X.X.....
- .X.....XXX...XX....XX.....X......
- .X.....X.X...X.X...X.X....X......
- .X.....X.X...X.X...X.X....X......
- .X...............................
- .X.....XXX...XX.XX....XX....XX...
- .X.....X.....X.X.X...X..X...X.X..
- .X.....XXX...X.X.X...X..X...X.X..
- .X.....X.....X...X...X..X...X.X..
- .XXXX..XXX...X...X....XX....X.X..
- end
- player0:
- %10101011
- %10101010
- %10111011
- %10101010
- %10101011
- %10000000
- end
- player0x=78 : player0y=47 : missile1x=78 : missile1y=41 : player1y=200
- player0score=$80
- if !joy0fire then goto main
- beginning_game
- 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:
- %01111100
- %11111111
- %11000010
- end
- player1:
- %00111100
- %01111110
- %11111111
- %01111110
- %00111100
- end
- new_game
- player1score=0 : player0score=0 : y=0 : r=0 : v=0
- new_game_2
- player1x=21 : player1y=21
- player0x=133
- player0y=79 : m=79
- get_new_present
- ballx=(rand/4)+21
- bally=(rand/4)+15
- main
- if switchreset then goto title_screen
- player1scorecolor=26 : COLUBK=d : COLUPF=e
- if switchbw then a=d : c=e : a=(d/16)-g : c=e/16 : player1scorecolor=8 : COLUBK=a : COLUPF=c
- ballheight=2
- CTRLPF=$21
- drawscreen
- if player0score=$80 then goto title_screen
- d=$c6 : e=$44 : g=6
- if z>0 then w=w+1
- if w>15 then z=0 : w=0
- if player0score>$79 then z=1 : u=4 : y=1 : w=0 : goto title_screen
- AUDV0=u : AUDC0=z : AUDF0=t
- missile1y=0 : NUSIZ1=0
- y=y+1
- if y=64 then y=0 : player0score=addbcd(player0score, 1)
- if collision(player1,player0) then player0score=addbcd(player0score, 5) : z=3 : u=4 : t=24 : goto new_game_2
- if collision(ball,playfield) then ballx=ballx+1
- if collision(player1,ball) then player1score=addbcd(player1score, 1) : z=4 : u=4 : t=24 : goto get_new_present
- move_enemy
- s=s+1 : m=m+1
- if m>31 then get_enemy_dir
- if s{0} then move_player
- get_enemy_dir
- m=0
- if player0x=player1x then n=5
- if player0y=player1y then get_enemy_dir_2
- if n<3 then get_enemy_dir_2
- n=2
- if player0y>player1y then n=1
- goto enemy_move
- get_enemy_dir_2
- n=4
- if player0x>player1x then n=3
- enemy_move
- pn = 0 : dir = n
- gosub move
- skip_enemy_move
- move_player
- if s{0} then goto main
- pn = 1
- dir = SWCHA / 16 ^ $0F
- if !dir then skip_to_f
- dir = dn[dir] : gosub move
- if dir then f = dir : goto main
- skip_to_f
- 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, 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
- data music
- 17, 19, 20, 19, 17, 19, 20, 19, 15, 15
- 17, 19, 20, 19, 17, 19, 20, 23, 26, 26, 26
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement