sweetGurl Geschrieben 9. November 2009 Geschrieben 9. November 2009 Hallo Leute, ich brauche eure Hilfe. Wir müssen Mit BlueJ eine sehr einfache Version des Spieles Moorhuhn programmieren (zB. für die Hühner reichen einfache Kreise.). Also mein Problem ist, dass ich keinerlei erfahrungen beim programieren mit BlueJ habe. auf meiner alten schule hatten wir mit delphi gearbeitet und jetzt muss ich von einem tag auf den nächsten mit bluej arbeiten. und das ist sehr schwer für mich ich habe keine ahnung. kann mir denn einer helfen? Kennt sich irgendeiner aus oder könnte mir jemand helfen? Ich danke euch im voraus!:confused: Zitieren
elSusto Geschrieben 10. November 2009 Geschrieben 10. November 2009 (bearbeitet) Galileo Computing :: Java ist auch eine Insel (8. Auflage) Java ist eine Insel ist sehr gut ;-) The Really Big Index und das ist zwar auf englisch aber dafür ziemlich gut und verständlich, und immer mit Beispielen. Rechtecke und Kreise zeichnen das erst beste beispiel zum zeichnen von kreisen was ich gefunden habe auch wichtig für die steuerung z.B. http://www.dpunkt.de/java/Programmieren_mit_Java/Ereignisbehandlung/11.html weiß ja nich ob mit der tastatur gezielt werden soll(dann musst du die key events verarbeiten) oder mit der Maus (dann halt die Maus events) Bearbeitet 10. November 2009 von elSusto Zitieren
sweetGurl Geschrieben 10. November 2009 Autor Geschrieben 10. November 2009 @elSusto: ohh danke, die links sind sehr hifreich, danke!!! so jetzt versuche ich die kreise zu machen. aber was kommt dann?? es soll ein spiel werden! wie kann ich es animieren und so?? ehrlich ich habe null ahnung. hat das denn niemand zuvor gemacht?? bitte hilft mir :-( Zitieren
lupo49 Geschrieben 10. November 2009 Geschrieben 10. November 2009 so jetzt versuche ich die kreise zu machen. Was für Quellcode hast du denn bisher erstellt? Konntest du die Kreise generieren? ehrlich ich habe null ahnung. Das wird auch so bleiben, wenn du keine Eigeninitiative zeigst. Wenn dir jeder Schritt hier vorgekaut wird, bringt dir das didaktisch rein gar nichts. Schau dir die Inhalte auf den geposteten Java-Seiten an. Zitieren
sweetGurl Geschrieben 10. November 2009 Autor Geschrieben 10. November 2009 hmm tut mir leid, aber ich habe informatik nur noch für einige wochen, deshalb denke ich nich das ich jetzt den ganzen stoff nachholen werde, da ich schließlich auch andere, wichtigere fächer habe. ich will nur diese abschlussarbeit mit einer akzeptablen note abschließen, das wars! so ich habe erstmal eine klasse erstellt. jetzt mache ich die kreise wie oben beschrieben, aber ich weiß nochnichtmal wie man das programm zum laufen bringt! vielleicht nerve ich aber könnt ihr mir nur diesen einen gefallen tun und mir helfen? Zitieren
LadyPreis Geschrieben 10. November 2009 Geschrieben 10. November 2009 Helfen tun wir gerne! Aber wenn du keine Eigeninitiative zeigst, bist du hier leider an der falschen Adresse. BTW: Du hast es als Unterrichtsfach und willst eine gute Note. Für gute Noten muss man nunmal was tun. War bei uns nicht anders. Wenn ich jetzt noch davon ausgehe, dass euer Lehrer kein totaler Unmensch ist, hat er euch vorher auch einige sachen im Unterricht gezeigt! Damit kennst du die grundlegenden Punkte bei der Programmierung und kannst auch bestimmt auch genauer schildern, wo denn exakt dein problem liegt. ...ich weiß nochnichtmal wie man das programm zum laufen bringt! Dann würde ich mir ganz schnell meine Unterrichtsunterlagen suchen Zitieren
sweetGurl Geschrieben 10. November 2009 Autor Geschrieben 10. November 2009 Ja, dass ist mir schon klar. Ich glaube ich habe es in meinem ersten post erwähnt, dass es nichts damit zu tun hat, dass ich nie aufpasse oder eigeninitiative ergreife. das problem ist, dass ich vor kurzem die schule gewechselt habe weil ich umgezogen bin. und auf der schule in der ich jetzt bin, arbeiten die schüler mit blueJ. zuvor hatte ich mit delphi gearbeitet, da war ich auch recht gut. zu unserem unterricht: ich denke viele informatikstunden laufen gleich ab. die schüler sitzen vor den computern und machen ihre aufgaben. in meinem alten kurs war es genauso. wir hatten auch ein buch, davon ist aber keins mehr übriggeblieben für mich. ausserdem benutzen wir es jetzt sowieso nicht mehr. wir müssen an unseren projekten arbeiten, d.h. ich habe auch keine chance irgendwo etwas nachzuschlagen. Zitieren
lupo49 Geschrieben 10. November 2009 Geschrieben 10. November 2009 Wie sieht denn kein Quellcode zurzeit aus? Zitieren
sweetGurl Geschrieben 16. November 2009 Autor Geschrieben 16. November 2009 so also ich habe eine neue klasse mit dem namen huhn erstellt und folgendes reingeschrieben: /** * Write a description of class Huhn here. * * @author (your name) * @version (a version number or a date) */ public class Huhn // Bezugsobjekte private hatKreis1, hatKreis2, hatKreis3; // Attribute private boolean zSchautNachLinks; private boolean zSollDrehen; // Konstruktor public Huhn(int pH, int pV, boolean pSchautNachLinks) { zSchautNachLinks = pSchautNachLinks; zSollDrehen = false; } public void groesseAendern(int neuerDurchmesser) {20] loeschen(); durchmesser = neuerDurchmesser; zeichnen(); } public void groesseAendern(int neuerDurchmesser) {10] loeschen(); durchmesser = neuerDurchmesser; zeichnen(); } public void groesseAendern(int neuerDurchmesser) {30] loeschen(); durchmesser = neuerDurchmesser; zeichnen(); } public void farbeAendern(String schwarz) { farbe = neueFarbe; zeichnen(); } // Dienste public void zeichne() { if (zSchautNachLinks) { hatBildRechts.verstecke(); hatBildLinks.zeige(); } else { hatBildLinks.verstecke(); hatBildRechts.zeige(); } } public boolean schautNachLinks() { return zSchautNachLinks; } public void setzeSchautNachLinks(boolean pSchautNachLinks) { zSchautNachLinks = pSchautNachLinks; } public boolean sollDrehen() { return zSollDrehen; } public void setzeSollDrehen(boolean pSollDrehen) { zSollDrehen = pSollDrehen; } public void drehe() { zSollDrehen = false; zSchautNachLinks = !zSchautNachLinks; this.zeichne(); } public void gibFrei() { hatBildLinks.gibFrei(); hatBildRechts.gibFrei(); } public int hPosition() { return hatBildLinks.links(); } } ich denke da sind schon einige fehler drin, aber ich habe keinen der mir hilft. Zitieren
elSusto Geschrieben 16. November 2009 Geschrieben 16. November 2009 deine variable int durchmesser ist nicht deklariert. dein String farbe ist auch nicht deklariert. hatBildRechts und hatBildLinks kann ich auch nirgends finden. und davan die verstecken und zeige methoden wären villt interresant. // Bezugsobjekte private hatKreis1, hatKreis2, hatKreis3; ? Objekte in java deklarieren: private/public/protected Object(Typ) name; Zitieren
sweetGurl Geschrieben 16. November 2009 Autor Geschrieben 16. November 2009 /** * Write a description of class Huhn here. * * @author (your name) * @version (a version number or a date) */ public class Huhn // Bezugsobjekte // Attribute private boolean zBewegeNachLinks; private boolean zBewegeNachRechts; // Konstruktor public zeichneKreis = Huhn1 public zeichneKreis = Huhn2 public zeichneKreis = Huhn3 public void groesseAendern(int neuerDurchmesser) {20] loeschen(); durchmesser = neuerDurchmesser; zeichnen(); } public void groesseAendern(int neuerDurchmesser) {10] loeschen(); durchmesser = neuerDurchmesser; zeichnen(); } public void groesseAendern(int neuerDurchmesser) {30] loeschen(); durchmesser = neuerDurchmesser; zeichnen(); } public void farbeAendern(String schwarz) { farbe = neueFarbe; zeichnen(); } // Dienste public boolean sollDrehen() { return zSollDrehen; } public void setzeSollDrehen(boolean pSollDrehen) { zSollDrehen = pSollDrehen; } public void gibFrei() { hatBildLinks.gibFrei(); hatBildRechts.gibFrei(); } public int hPosition() { return hatBildLinks.links(); } } ich hab es ein wenig überarbeitet. wahrscheinlich wieder mit 1000 fehlern :-( Zitieren
elSusto Geschrieben 17. November 2009 Geschrieben 17. November 2009 wenn du compiliert wird, werden dir fehler angezigt, villt solltest du lernen diese zu verstehen. ein beispiel aus deinem code: public void farbeAendern(String schwarz) { farbe = neueFarbe; zeichnen(); } wenn du mir jetzt erklärst wieso es schwarz heißt aber du dann in der methode mit dem namen neueFarbe arbeitest ? und farbe ist auch nirgends deklariert. und das die eine MEthode dreimal exakt gleich exestiert ? Das sollte auch fehler meldungen geben. Und dann solltest du mal versuchen zu erklären was du da in den drei zeilen unter dem Kommentar "Konstruktor" versuchst. Wie nen Kunstruktor aufgebaut ist weißt du ja, hast in deinem ersten Quellcode ja schon richtig. Also wenn du auf die Fehlermeldungen achtest die du bekommst, wirst du schon viele fehler beheben können. Gruß Zitieren
sweetGurl Geschrieben 5. Dezember 2009 Autor Geschrieben 5. Dezember 2009 Hallo alle zusammen :-) Also ich will ein spiel programieren, welches die grundlage eines egoshooter spieles sein könnte. Mein spiel: es fliegen drei unterschiedlich große und schnelle kreise durch das spielbild. mit der maustaste soll man die kreise anklicken, dann sollen sie verschwinden und wo anders wieder auftauchen(zufällig). für die unterschiedlichen kreise sollen dann punkte vergeben werden. Also eigentlich ganz einfach :-) aber ich kriege es nicht hin. Aber so ganz faul bin ich auch nicht! ich habe die kreise schon animiert und das" getroffen" attribut programiert (sagt man das so xD), d.h. das programm erkennt nun ob ein kreis getroffen wurde oder nicht. Also übrig bleibt noch: - kreise nach einem "true"Klick verschwinden lassen und irgendwo zufällig wieder auftauchen lassen. - pro "true"KLick punkte gutschreiben Hier die quellcodes: SuMAnwendung import sum.ereignis.*; import sum.komponenten.*; import sum.werkzeuge.*; /** * @author * @version */ public class SuMAnwendung extends EBAnwendung { // Bezugsobjekte Huhn h1,h2,h3; // Attribute // Konstruktor public SuMAnwendung() { super(400,400); h1=new Huhn(100,90,10,1,hatBildschirm); h2=new Huhn(130,100,20,3,hatBildschirm); h3=new Huhn(130,100,5,6,hatBildschirm); } // Dienste public void bearbeiteLeerlauf() { h1.fliegen(); h2.fliegen(); h3.fliegen(); } public void bearbeiteMausDruck(int pWoH, int pWoV) { System.out.println("Mausposition("+pWoH+"|"+pWoV+")"); h1.getroffen(pWoH,pWoV); h2.getroffen(pWoH,pWoV); h3.getroffen(pWoH,pWoV); } } [SIZE=5]Klasse: Huhn import sum.ereignis.*; /** * @author * @version */ public class Huhn { // Bezugsobjekte private Buntstift s= new Buntstift(); // Attribute private double x; private double y; private int radius; private double tempo; private Bildschirm kenntBildschirm; // Konstruktor public Huhn(double px, double py, int pradius, double ptempo, Bildschirm pBildschirm) { x=px; y=py; radius=pradius; tempo=ptempo; s.bewegeBis(x,y); this.zeichnen(); kenntBildschirm=pBildschirm; } // Dienste private void zeichnen() { s.zeichneKreis(radius); } private void loeschen() { s.radiere(); this.zeichnen(); s.normal(); } private void bewegen() { x=x+tempo; s.bewegeBis(x,y); if(x>kenntBildschirm.breite()) x=0; } public void fliegen() { this.loeschen(); this.bewegen(); this.zeichnen(); } public boolean getroffen(int pMausH, int pMausV) { double dx = s.hPosition()-pMausH; double dy = s.vPosition()-pMausV; System.out.println("Getroffen: "+(radius*radius>dx*dx+dy*dy)); if(radius*radius>dx*dx+dy*dy) return false; //nicht getroffne else return true; //getroffen } } die kreise heißen huhn ;-) könnt ihr mir helfen???? Zitieren
Klotzkopp Geschrieben 5. Dezember 2009 Geschrieben 5. Dezember 2009 Das ist doch immer noch dieselbe Aufgabe wie vor knapp einem Monat. Warum machst du dafür einen neuen Thread auf? Zu deiner Frage: Wenn du auf Treffer reagieren willst, solltest du den Rückgabewert von getroffen auswerten. Momentan ist es deiner Anwendungsklasse ja egal, ob da true oder false rauskommt. Und wenn du Punkte zählen willst, brauchst du eine Punktezählvariable an geeigneter Stelle. Wie man ein neues Huhn erstellt, weißt du ja. Und was das zufällige angeht: Random (Java 2 Platform SE v1.4.2) Zitieren
sweetGurl Geschrieben 6. Dezember 2009 Autor Geschrieben 6. Dezember 2009 Das ist doch immer noch dieselbe Aufgabe wie vor knapp einem Monat. Warum machst du dafür einen neuen Thread auf? Sorry hab ich ganz vergessen, tut mir echt leid. So erstens, mein programm reagiert schon auf treffer, jetzt will ich eigentlich nur dass sie verschwinden wenn man sie anklickt. könntest du mir vllt. sagen wie es als code in meinem programm aussehen würde?bitte, wäre dir sehr dankbar. Zitieren
Klotzkopp Geschrieben 7. Dezember 2009 Geschrieben 7. Dezember 2009 So erstens, mein programm reagiert schon auf treffer, jetzt will ich eigentlich nur dass sie verschwinden wenn man sie anklickt.Wenn sofort wieder an anderer Stelle ein neues erscheinen soll, dann musst du nur der "getroffenen" Verweisvariablen ein neu erstelltes Huhn zuweisen. Zitieren
sweetGurl Geschrieben 7. Dezember 2009 Autor Geschrieben 7. Dezember 2009 nein, eigentlich will ich das es zufällig irgendwo auftaucht. weisst du wie das geht? Zitieren
Klotzkopp Geschrieben 7. Dezember 2009 Geschrieben 7. Dezember 2009 nein, eigentlich will ich das es zufällig irgendwo auftaucht. weisst du wie das geht?Das geht, indem du die neuen Koordinaten zufällig ermittelst. Dazu hatte ich dir bereits einen Link gegeben. Zitieren
sweetGurl Geschrieben 7. Dezember 2009 Autor Geschrieben 7. Dezember 2009 ja danke :-) ich habe deinen link nicht vergessen, aber welche zeilen davon schreibe ich den in mein programm? die zeilen müssen doch auf deutsch sen. sorry aber bei sowas bin ich immer zu blöd nicht aufregen ;-) Zitieren
Klotzkopp Geschrieben 8. Dezember 2009 Geschrieben 8. Dezember 2009 Die Klasse Math hat eine Klassenmethode random, die dir einen double zwischen (einschließlich) Null und (ausschließlich) Eins zurückgibt. Math (Java 2 Platform SE v1.4.2)) 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.