Quantcast
Channel: DubbelBlog » ti
Viewing all articles
Browse latest Browse all 4

Pingpong Multiplayer für TI-TRs

$
0
0

Heute hab ich ein simples kleines Spiel programmiert. Hier der Quellcode plus die Erklärungen in [...]

Heute war in beim BurgerKing essen. Und während ich geduldig auf meinen Hambuger + 2 Cheeseburger + 0,4 Cola wartete kam ich auf die Idee ein kleines Spiel für den TR zu programmieren.

Um es zu spielen benötigt man 2 Personen. Man legt den Taschenrechner zwischen sich.
Der eine kontrolliert seine Wand mit der 9 und 3, der andere mit der 7 und der 1.

PROGRAM:PINGO
ClrHome
Disp "Pingo"
Disp "CODE BY DUBBEL"
ClrHome
[hier evt. noch weitere Informationen und Anleitung ausgeben lassen]
0->A [Geschwindigkeit mit der sich der Ball nach oben/unten bewegt]
1->B [Geschwindigkeit mit der sich der Ball nach rechts/links bewegt]
5->C [Position des Balles auf der Y-Achse]
8->D [Position des Balles auf der X-Achse]
4->E [Position der oberen Wand auf der Y-Achse]
5->F [Position der unteren Wand auf der Y-Achse]
Pause

Lbl A
If (B=1):Then [wenn der rechte Spieler dran ist (Ball bewegt sich nach rechts)]
If (G=74):Then [wenn die 9 gedrückt wurde]
If (E > 1):Then [Kollisionsabfrage]
E-1->E:F-1->F
End
End
If (G=94):Then [wenn die 3 gedrückt wurde]
If (F < 8):Then [Kollisionsabfrage]
E+1->E:F+1->F
End
End
End
If (B=-1):Then [Wiederholung nur eben für die beiden anderen Tasten]
If (G=72):Then
If (E>2):Then
E-1->E:F-1->F
End
End
If (G=92):Then
If (F<7):Then
E+1->E:F+1->F
End
End
End
ClrHome
Output(E,16,"O") [Rechte Wände]
Output(F,16,"O")
Output(E,1,"O")
Output(F,1,"O")
Output(1,1,"----------------") [Begrenzung oben/unten]
Output(8,1,"----------------")
If (C=E and (D=15 or D=2)):Then
B*-1->B:1->A [kollision mit Wänden]
End
If (C=F and (D=15 or D=2)):Then
B*-1->B:1->A
End
If (C=2 or C=7):Then
A*-1->A [Kollision mit Wänden oben/unten]
[A*-1->A stand hier nocheinmal - muss entfernt werden]
End

If (D=16 or D=1):Then
Output(4,4,"GAME OVER")
If(D=16):Then
Output(6,7,"LINKS")
Else
Output(6,6,"RECHTS")
End
Output(7,3,"HAT GEWONNEN")
PAUSE
prgmPINGO
End
Output(1,D,"I")
Output(1,D,"I")
Output(C,D,"+")
C+A->C:D+B->D [Update Positionen - hier vor vorher ein Fehler]
Output(C,D,"*")
getKey->G [Tastendrücke werden abgefangen]
Goto A

flattr this!


Viewing all articles
Browse latest Browse all 4