Zum Inhalt springen

PingPong mit C Programmieren


Nokio

Empfohlene Beiträge

Hallo,

man hat uns in der BS gesagt, dass wir nächsten Jahr als Projekt ein PingPong Spiel in C programmieren sollen und ich wollte mich schon mal etwas damit befassen, jedoch weis ich nicht ganz genau wo ich anfangen soll. Hat jemand ein paar Tips oder ähnliches für mich.

Gruß,

Nokio

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ja genau das. Also sollte auf win 2000 oder xp, mit dem borland dos Entwicklungssystem gemacht werden. Theoretisch sollten wir das nächste Jahr mit c++ anfangen, vielleicht werden wir dann ein anderes Entwicklungssystem bekommen, bin mir da nicht sicher. Also es sollte nicht so kompliziert entwickelt sein vielleicht is eine einfachere Version doch mödlich bzw. worin wird das Problem liegen wieso es nicht machbar sein wird?

Gruß,

Nokio

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

naja, dieses Pong ist ja an sich schon nicht so extrem kompliziert, aber so einige Grundfunktioniläten sollten doch schon berücksichtigt werden.

So kannst du z. B. nicht direkt per Tastendruck irgendwas ans Programm senden, da die Sachen erst gepuffert werden. D. h. du müsstest immer erst Return drücken damit was passiert.

Hilfe schaffen da so Dinge wie conio.h, was aber eben kein Ansi-C mehr ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also da haben wir uns glaub ich etwas missverstanden, wenn conio.h kein ansi C ist (wusste nicht genau was das ist) dann hab ich kein ansi c, denn ich habe die ganzen bibliotheken inklusive conio.h etc also sollte es schon möglich sein. Sonst würde unser Lehrer es uns schon sagen wens nicht gehen würde.

Also was ich nicht genau verstehe wie es funktieren sollte, wären zuerst mal 2 Sachen.

1. Wie kann man es machen, dass sich die schläger bewegen sollen und 2. wie schaffe ich es, dass der ball dann von den Schlägern abprallt.

Gruß,

Nokio

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm.... wenn ich kurz überleg.

Wenn es wirklich ultra einfach sein soll hat man ja nur 5-7 Tasten

(1 Taste um das Spiel zu Starten (nich das Programm, das Spiel ;)))

1 Taste um das Programm, nicht das Spiel zu verlassen

(1 Um das Spiel zu resetten)

2 Tasten für Spieler A

2 Tasten für Spieler B

Dann mach ich ne Endlosschleife mit getch()

Dann frag ich meine Eingabe ab und reagiere darauf.

Abfrage ob max_high oder max_low erreicht wurde, ansonsten bewegen um faktor 1 oder so.

Kollisionsabfrage für schläger und wand is auch recht einfach, aber wie bitte wird das mit einfalls und ausfallswinkel bestimmt.

Is das n Zufallswert dann isses einfach, is er bestimmt dann hab ich kein plan wonach das geht O_o

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schon klar, will auch keine sonst hats ja keinen Lernzweck mehr, das letzte waren pointer glaub ich was wir gemacht haben aber nur grob. Also wie gesagt ich habe schon so eine Ahnung wie ich das machen werde, das sich der ball bewegt, wenn er z.B. abprallt oder so, aber wie ich die Schläger mache damit sie sich auch bewegen, habe ich wirklich keine Ahnung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also was ich nicht genau verstehe wie es funktieren sollte, wären zuerst mal 2 Sachen.

1. Wie kann man es machen, dass sich die schläger bewegen sollen und 2. wie schaffe ich es, dass der ball dann von den Schlägern abprallt.

Die Schlaeger und den Ball zeichnest du vermutlich aus einzelnen ASCII-Zeichen. Du solltest in deinem Programm einen Puffer (2-dimensionales char Array) definieren, in den du den Bildschirminhalt zeichnest. Die Schlaeger haben eine Eigenschaft, die es leicht macht mit Ihnen umzugehen. Ihre x-Position ist konstant.

Beim Ball wird die Sache schon schwieriger. Das "Abprallen" ist ein vielschichtiger Prozess. Zuerst musst du erkennen, ob der Ball eine Wand oder einen Schlaeger getroffen hat (Collision Detection). Dann musst du die Ballrichtung und Geschwindigkeit bestimmen. Dazu gibt es bei Pong nicht sehr viele Kriterien. Das Ur-Pong bestimmt die Richtung durch den Punkt an dem der Ball den Schlaeger trifft und den Einfallswinkel. Ist ersterer weiter vom Mittelpunkt entfernt, ist auch der Austrittswinkel flacher und die Geschwindigkeit niedriger. Man kann aber natuerlich auch die Schlaegergeschwindigkeit zum Zeitpunkt der Kollision beruecksichtigen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...