Nokio Geschrieben 22. August 2005 Geschrieben 22. August 2005 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 Zitieren
carstenj Geschrieben 22. August 2005 Geschrieben 22. August 2005 Hallo, mmmh....meinst du sowas? http://www.ordiworld.com/jargon/fig/pong.gif Einen Einstieg in C gibts z. B. hier: www.pronix.de Gleich vorweg: Mit Ansi-C alleine ist das nicht möglich. Wenn du genauere Infos willst, müsste man wissen, ob das z. B. unter Linux oder Windows realisiert werden soll. Zitieren
Nokio Geschrieben 22. August 2005 Autor Geschrieben 22. August 2005 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 Zitieren
carstenj Geschrieben 22. August 2005 Geschrieben 22. August 2005 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. Zitieren
Nokio Geschrieben 22. August 2005 Autor Geschrieben 22. August 2005 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 Zitieren
SNOWMAN Geschrieben 22. August 2005 Geschrieben 22. August 2005 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 Zitieren
carstenj Geschrieben 22. August 2005 Geschrieben 22. August 2005 Hello again, wie sind denn keine Kenntnisse in C? Was hast du denn bisher? Eine Komplettlösung wird dir hier keiner liefern fürchte ich. Zitieren
Nokio Geschrieben 22. August 2005 Autor Geschrieben 22. August 2005 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. Zitieren
carstenj Geschrieben 22. August 2005 Geschrieben 22. August 2005 Hallo, vielleicht hilft dir das weiter: http://www.zfx.info/DisplayThread.php?TID=16482&Page=1 Zitieren
Timon Geschrieben 24. August 2005 Geschrieben 24. August 2005 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. Zitieren
Empfohlene Beiträge
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.