Pingpong Multiplayer für TI-TRs

In: Programmierung|TI-BASIC

8 Dez 2008

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

4 Kommentare zu Pingpong Multiplayer für TI-TRs

Avatar

Michael

17.10.2009 um 13:48

Hi,

danke für das Spiel. Hab nur eine Kleinigkeit: Wenn man die (beweglichen) Wände an einer bestimmten stelle stehen lässt, muss man nichtsmehr tun, um den Ball drinzuhalten. Die Position ist für beide eins weiter unten als die Startposition. Ist das ein Tippfehler oder habt ihr das auch?

Grüße, Michael

Avatar

Leander

11.02.2010 um 08:20

Hi

ich hab da mal ne frage. hast du das spiel als programm oder als funktion gespeichert? oder als etwas anderes?
da ist noch was, ich hab den TI Nspire CAS und da gibt es befehle wie ‘output’ oder ‘ClrHome’ nicht, und diese ‘->’ auch nicht. kann ich das mit dem output auch mit ‘disp’ lösen oder geht das nicht? und was bedeuten diese ‘->’?

Danke zum Voraus für deine Hilfe

Grüsse Leander

Avatar

Dubbel

11.02.2010 um 12:23

Mit -> sind die Pfeile gemeint, mit denen man Variablen ihren Wert zuweisen kann. Mehr Informationen darüber findest du auf
http://www.haukeluebbers.de/2008/12/ti-basic-tutorial-3/

Eigentlich ist das nur ein Zeichen, aber ich habs hier einfach als Minus und größer als dargestellt.

Leider kenne ich mich mit dem TI Nspire CAS nicht aus, da ich nur den TI83-Plus habe. Hast du auch in der “zweiten Ebene” der Tasten gesucht, also wenn man 2nd drückt?

http://www.acdca.ac.at/material/nspire/nspire_progkurz.pdf Hier ist nochmal ein Link zu einem tutorial über das Programmieren mit dem Nspire :)

Und nein, Disp ist nicht das gleiche wie Output, da man dort nicht die Koordinaten angeben kann, wo das Zeichen ausgegeben werden soll. Disp schreibt den Text immer in eine neue Zeile…

Hoffe, ich konnte dir helfen.

Avatar

Leander

15.02.2010 um 18:48

Ja, danke, du konntest viel helfen. Allerdings bin ich nicht sicher ob ich auf dem CAS auch mit Koordinaten arbeiten kann. Auf dem CAS gibt es ein extra Programmeditor und da kann man die Befehle per Menu raussuchen. und sehr viele gibt es da nicht. Naja versuchs mal auf dem CAS umzusetzen, sonst lass ichs halt. Trotzdem Danke

Grüsse Leander

Sag deine Meinung:

Über diesen Blog

Moin, mein Name ist Hauke Lübbers alias Dubbel. Auf diesem Blog veröffentliche ich in unregelmäßigen Abständen kleine Tutorials zu Linux, Webentwicklung sowie TI-Basic.

  • Bug: hey, ich habs verstanden, das snakeprogramm, und hab sogar einen schwanz hinzuprogrammiert, und hän [...]
  • christian: mann ich habe wieder zu schnell getippt: also der kommentar ging an dubbel und es wäre halt hilfr [...]
  • christian: ich wei´ß es ist aufwendig aber könntest du mir eine genaue erklärung zu diesem Program 'Snake' [...]
  • Bug: hi, ich bin neu inder welt des programmierens, habe schon einen taschenrechner geschrieben und das P [...]
  • klaus: Bei so viel tippkram musst du immer 8 fach übeprüfen! [...]