Sel93 Geschrieben 18. Dezember 2009 Geschrieben 18. Dezember 2009 Hi, wir machen in BlueJ ein Projekt. Wir müssen ein Spiel erstellen. Wir (meine Gruppe & ich) wollten ein Pong-Ähnliches Spiel erstellen. Wir haben die Kugel, die sich bewegt und an den Rändern korrekt abstoßt. Wir haben einen Balken, den man mit der Maus bewegen kann. Jetzt was wir noch brauchen: 1. Wir müssen die Kollisionsabfrage für Kugel mit Balken einbauen. Da wissen wir allerdings nicht, wie das geht. Es sollte so ähnlich wie bei Pong sein: Die Kugel stößt von dem Balken ab. Je nachdem wo sie den Balken trifft prallt sie anders ab. Wie genau sie das macht, weiss ich garnicht. Auf jeden Fall nicht Einfallwinkel = Ausfallwinkel. Wir hatten gedacht es wäre nur möglich wenn wir den Balken in mehrere Abschnitte aufteilen. Aber wir wissen nicht wie das geht. Wir wissen bisher noch nichtmal wie wir überhaupt die Kugel zum Abstoßen lassen bringen sollen, wenn die Kugel sie berührt. 2. Wir brauchen einen Computergegner. Eine KI. Sie muss nicht besonders schlau sein. Es würde ja eigentlich reichen, wenn sie sich immer zur Kugel hin bewegt in ner bestimmten Geschwindigkeit. Auch hier: Wie sollen wir das anstellen? Das wars fürs erste. Wir haben BlueJ erst vor zwei Wochen angefangen und wenig Ahnung davon. Vorher haben wir garkein Java gemacht. Deshalb wäre es gut, wenn ihr es so einfach wie möglich halten könntet. Ich bedanke mich schonmal herzlichst im Vorraus für alle Hilfe, die wir bekommen. Mit freundlichen Grüßen Sel93 Zitieren
DFens Geschrieben 18. Dezember 2009 Geschrieben 18. Dezember 2009 Könnte man doch vllt. mit nem Array als Spielfeld programmieren (halt großes Array -> Großes Spielfeld und kleine "Rasterung"). Zitieren
Sel93 Geschrieben 21. Dezember 2009 Autor Geschrieben 21. Dezember 2009 Arrays haben wir noch nicht gemacht. Wie geht das genau? Zitieren
__Flow__ Geschrieben 5. Januar 2010 Geschrieben 5. Januar 2010 hey, ich denke ich kann dir dabei nicht helfen, und die leute die es könnten denen fehlt warscheinlich die zeit für so etwas aufwendiges. ich hoffe ihr habt das hinbekommen, aber ein lehrer der euch erst ein spiel programmieren lässt um danach grundlegendes wie arrays erklärt, geht irgendwie falsch herum vor. ich kenne das....ich sollte auch bevor er mir sql erklärt hat ne datenbankapplikation bauen viel erfolg und für java kannste eig alles googeln... z.B.: "java arrays" oder "java pong tutorial" gibts bestimmt byebye Zitieren
Sel93 Geschrieben 5. Januar 2010 Autor Geschrieben 5. Januar 2010 (bearbeitet) Naja, also unser Lehrer erklärt sehr wenig stimmt. Ich habs jetzt irgendwie geschafft ein einigermaßen gut laufendes Pong zu programmieren. Den Balken hab ich mit ganz simplen Befehlen in ca. 10 Teile unterteilt, bei jedem prallt der Ball in einem anderen Winkel zurück. Der Einfallswinkel wird jetzt garnicht mehr berücksichtigt, nur wo er auf den Balken prallt. Die KI hab ich auch seeehr simpel gemacht, und zwar so das ich die beiden .vPosition von Balken und Ball vergleiche und dann bewegt der Balken sich zu Ball.vPosition mit einer festgelegten Geschwindigkeit. Ist also alles sehr einfach gehalten weil ich nicht weiss wie ichs sonst hinkriegen soll. Trotzdem gibts noch Probleme, eins ist das Ball und Balken immer flackern. Wie stell ich das ab? Und ich weiss noch nicht wie ich das mit der Punktevergabe mache, auch wie man genau Labels macht weiss ich noch nicht und werde irgendwie im Internet nicht schlau aus den Erklärungen. Wir müssen das Projekt Dienstag abgeben. Bearbeitet 5. Januar 2010 von Sel93 Zitieren
Sel93 Geschrieben 6. Januar 2010 Autor Geschrieben 6. Januar 2010 SAG mir doch mal BITTE einer wie ich ein ganz einfaches Label erstellen kann, es geht nicht! Egal was ich versuche es wird nix angezeigt! Zitieren
Ulfmann Geschrieben 6. Januar 2010 Geschrieben 6. Januar 2010 es geht nicht! Label myLabel = new Label(); someContainer.add(myLabel); Was geht daran nicht? Poste mal den Code. Zitieren
perdian Geschrieben 6. Januar 2010 Geschrieben 6. Januar 2010 SAG mir doch mal BITTE einer wie ich ein ganz einfaches Label erstellen kannJLabel l = new JLabel(); Oder was wolltest du wissen? Zitieren
Sel93 Geschrieben 6. Januar 2010 Autor Geschrieben 6. Januar 2010 hab das so: public Hauptprogramm() { ... Spielerpunkte = new Label(); Gegnerpunkte = new Label(); Panel1 = new Panel(); Panel2 = new Panel(); public void Labelerstellung() { Panel1.setLayout(new GridLayout(20,20)); Panel1.add(new Label("test")); } Zitieren
Ulfmann Geschrieben 6. Januar 2010 Geschrieben 6. Januar 2010 (bearbeitet) Ja du musst das Label, das Du oben erzeugst auch dem Panel hinzufügen. Also nicht add(new Label()); denn damit fügst Du ein neues, leeres Label hinzu. Edit: Verzeihung, war Blödsinn. Die Klasse Panel stellt gar keine add-Methode zu Verfügung. Das heißt, Du müsstest Dein Label beispielsweise direkt auf die ContentPane setzen. Bearbeitet 6. Januar 2010 von Ulfmann Zitieren
Sel93 Geschrieben 6. Januar 2010 Autor Geschrieben 6. Januar 2010 Also Panel1.add(Spielerpunkte); Wo kann ich dann hinschreiben was in das Label reingeschrieben werden soll und wie kann ich das ändern? Zitieren
perdian Geschrieben 6. Januar 2010 Geschrieben 6. Januar 2010 Wo kann ich dann hinschreiben was in das Label reingeschrieben werden soll und wie kann ich das ändern?Hast du dich überhaupt schonmal mit den Grundlagen von AWT beschäftigt und die entsprechenden Artikel/Tutorials gelesen? Wenn nein solltest du das jetzt nachholen. Zu deiner Frage: Label l = new Label(); l.setText("Dieser Text erscheint im Label"); Zitieren
Sel93 Geschrieben 6. Januar 2010 Autor Geschrieben 6. Januar 2010 Leider funktioniert das Label immer noch nicht. Nix zu erkennen auf dem Bildschirm. public class Hauptprogramm { .... Label Spielerpunkte; Label Gegnerpunkte; Panel Panel1; Panel Panel2; public Hauptprogramm() { ... Spielerpunkte = new Label(); Spielerpunkte.setText("Test"); Gegnerpunkte = new Label(); Gegnerpunkte.setText("Test"); Panel1 = new Panel(); Panel2 = new Panel(); } public void fuehreAus() { Panel1.setLayout(new GridLayout(10,10)); Panel1.add(Spielerpunkte); } Hab ich was vergessen? Zitieren
Ulfmann Geschrieben 6. Januar 2010 Geschrieben 6. Januar 2010 Hab ich was vergessen? Das Panel muss natürlich auch noch hinzugefügt werden. Der 2. Teil von meinem letzten Post kann ignoriert werden. Zitieren
Sel93 Geschrieben 6. Januar 2010 Autor Geschrieben 6. Januar 2010 Wird das Panel nicht mit Panel1.setLayout(new GridLayout(10,10)); hinzugefügt? Ich dachte das wäre der Befehl... Zitieren
perdian Geschrieben 7. Januar 2010 Geschrieben 7. Januar 2010 Hab ich was vergessen?Ja: Dich endlich mit den AWT-Grundlagen zu beschäftigen! Zitieren
MasterG Geschrieben 7. Januar 2010 Geschrieben 7. Januar 2010 Wird das Panel nicht mit Panel1.setLayout(new GridLayout(10,10)); hinzugefügt? Ich dachte das wäre der Befehl... Probiere mal folgende methode bei dir zu implementieren: private void createAndShowGUI(String title, Color bgColour) { canvas = new CanvasPane(fxSize, fySize); xSize = fxSize; ySize = fySize; frame = new JFrame(); frame.setContentPane(canvas); frame.setTitle(title); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.addWindowListener( new WindowAdapter() { public void windowActivated(WindowEvent e) { frame.setEnabled(true); frame.requestFocusInWindow(); } }); Ich habe auch mal ein Pong Spiel geschrieben aber übers Netzwerk. Also vll kann ich dir mit ein paar Codeschnippsel auf die sprünge helfen. 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.