Teinpäs huvikseni pongin. (191 riviä)
Code: Select all
SCREEN 200,200
valikko:
p1pisteet = 0
p2pisteet = 0
vali=1
Repeat
If KeyHit(200) Then vali-1
If KeyHit(208) Then vali+1
Color 255,255,255
Text 10,20,"Aloita yksinpeli"
Text 10,50,"Aloita kaksinpeli"
Text 10,80,"Lopeta"
If vali=1 Then
Color 255,0,0
Text 10,20,"Aloita yksinpeli"
EndIf
If vali=2 Then
Color 255,0,0
Text 10,50,"Aloita kaksinpeli"
EndIf
If vali=3 Then
Color 255,0,0
Text 10,80,"Lopeta"
EndIf
If vali=0 Then vali=1
If vali=4 Then vali=3
If vali=1 And KeyHit(28) Then Goto alku2
If vali=2 And KeyHit(28) Then Goto alku
If vali=3 And KeyHit(28) Then End
Color 255,255,255
Box 10,100,180,90,0
Text 12,110,"Pelaaja 1 ohjaus sivu-"
Text 12,130,"nuolista."
Text 12,150,"Pelaaja 2 ohjaus A:sta"
Text 12,170,"ja D:stä."
SetWindow "Pong"
DrawScreen
Forever
alku:
phalkaisija = 5
pvauhtix = Rand(-2,2)
pvauhtiy = Rand(-2,2)
px = 100 - phalkaisija / 2
py = 100 - phalkaisija / 2
If pvauhtix = 0 Then pvauhtix = 1
If pvauhtiy = 0 Then pvauhtiy = -1
p1leveys = 45
p1korkeus = 5
p1x = 100 - p1leveys / 2
p1y = 190
p2leveys = 45
p2korkeus = 5
p2x = 100 - p1leveys / 2
p2y = 10
Repeat
Color 255,0,0
Box p1x, p1y, p1leveys, p1korkeus
Color 0,255,0
Box p2x, p2y, p2leveys, p2korkeus
Color 255,255,255
Circle px, py, phalkaisija
If LeftKey() Then p1x - 2
If RightKey() Then p1x + 2
If KeyDown(30) Then p2x - 2
If KeyDown(32) Then p2x + 2
If BoxOverlap(p1x, p1y, p1leveys, p1korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = -pvauhtiy - 1 : If LeftKey() And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If RightKey() And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf
If BoxOverlap(p2x, p2y, p2leveys, p2korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = +pvauhtiy + 1: If KeyDown(30) And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If KeyDown(32) And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf
px + pvauhtix
py + pvauhtiy
If p1x < 0 Then p1x = 0
If p1x > 200 - p1leveys Then p1x = 200 - p1leveys
If p2x < 0 Then p2x = 0
If p2x > 200 - p2leveys Then p2x = 200 - p2leveys
If px > 200 - phalkaisija Then pvauhtix = -pvauhtix
If px < 0 Then pvauhtix = +pvauhtix
If py > 200 - phalkaisija Then pvauhtiy = -pvauhtiy : p2pisteet + 1 : Goto alku
If py < 0 Then pvauhtiy = +pvauhtiy : p1pisteet + 1 : Goto alku
If p1pisteet = 5 Then
Text 20,90,"Pelaaja 1 voitti"
EndIf
If p2pisteet = 5 Then
Text 20,90,"Pelaaja 2 voitti"
EndIf
SetWindow ""+p1pisteet+":"+p2pisteet
DrawScreen
Forever
alku2:
phalkaisija = 5
pvauhtix = Rand(-2,2)
pvauhtiy = Rand(-2,2)
px = 100 - phalkaisija / 2
py = 100 - phalkaisija / 2
If pvauhtix = 0 Then pvauhtix = 1
If pvauhtiy = 0 Then pvauhtiy = -1
p1leveys = 45
p1korkeus = 5
p1x = 100 - p1leveys / 2
p1y = 190
p2leveys = 45
p2korkeus = 5
p2x = 100 - p1leveys / 2
p2y = 10
Repeat
Color 255,0,0
Box p1x, p1y, p1leveys, p1korkeus
Color 0,255,0
Box p2x, p2y, p2leveys, p2korkeus
Color 255,255,255
Circle px, py, phalkaisija
If LeftKey() Then p1x - 2
If RightKey() Then p1x + 2
If px > p2x + p2leveys / 2 Then p2x + 2
If px < p2x + p2leveys / 2 Then p2x - 2
If BoxOverlap(p1x, p1y, p1leveys, p1korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = -pvauhtiy - 1: If LeftKey() And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If RightKey() And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf
If BoxOverlap(p2x, p2y, p2leveys, p2korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = +pvauhtiy + 1
px + pvauhtix
py + pvauhtiy
If p1x < 0 Then p1x = 0
If p1x > 200 - p1leveys Then p1x = 200 - p1leveys
If p2x < 0 Then p2x = 0
If p2x > 200 - p2leveys Then p2x = 200 - p2leveys
If px > 200 - phalkaisija Then pvauhtix = -pvauhtix
If px < 0 Then pvauhtix = +pvauhtix
If py > 200 - phalkaisija Then pvauhtiy = -pvauhtiy : p2pisteet + 1 : Goto alku2
If py < 0 Then pvauhtiy = +pvauhtiy : p1pisteet + 1 : Goto alku2
If p1pisteet = 5 Then
Text 20,90,"Pelaaja 1 voitti"
Goto valikko
EndIf
If p2pisteet = 5 Then
Text 20,90,"Pelaaja 2 voitti"
Goto valikko
EndIf
If pvauhtix > 8 Then pvauhtix = 8
If pvauhtiy > 8 Then pvauhtiy = 8
SetWindow ""+p1pisteet+":"+p2pisteet
DrawScreen
Forever