BlueJ Zug

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hallo Community,
    ich habe heute folgenden Thread in dem Forum gefunden (diesen hier)
    Soweit habe ich alles von diesem Quelltext verstanden, bis auf den ersten teil des Hauptprogramms (HP).
    Undzwar folgendes:

    Quellcode

    1. public class HP
    2. {
    3. // Objekte
    4. Bildschirm derBildschirm;
    5. Tastatur dieTastatur;
    6. Maus dieMaus;
    7. Stift hatStift;
    8. Knopf Knopf;
    9. Knopf Knopf2;
    10. Figur dummy;
    11. Lokomotive dieLok;
    12. PersonenWaggon derPer;
    13. OelWaggon derOel;
    14. HolzWaggon derHol;
    15. // Konstruktor
    16. public HP()
    17. {
    18. derBildschirm = new Bildschirm(333,333);
    19. dieTastatur = new Tastatur();
    20. dieMaus = new Maus();
    21. hatStift = new Stift();
    22. Knopf = new Knopf(derBildschirm.breite()/3-25 ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');
    23. Knopf2 = new Knopf(derBildschirm.breite()/3*2-25,derBildschirm.hoehe()-50,25,50,dieMaus,'S');
    24. dieLok = new Lokomotive(derBildschirm.breite()/4,derBildschirm.hoehe()/2,dieMaus);
    25. derPer = new PersonenWaggon(derBildschirm.breite()/3-50,derBildschirm.hoehe()/8,dieMaus);
    26. derOel = new OelWaggon(derBildschirm.breite()/3*2-50,derBildschirm.hoehe()/8,dieMaus);
    27. derHol = new HolzWaggon(derBildschirm.breite()/3*3-50,derBildschirm.hoehe()/8,dieMaus);
    28. dieLok.zeichneDich();
    29. dummy = dieLok;
    30. }
    Alles anzeigen


    Hier geht es um die Klasse "Knopf" und "Knopf 2".

    Quellcode

    1. Knopf Knopf;
    2. Knopf Knopf2;


    Bei denen habe ich das Problem, wenn ich das Programm übersetzen lassen will, dass folgender Fehler kommt:
    cannot find symbol - class Knopf

    Ich weiss, dass Knopf in BlueJ nicht mit integriert ist. Deshalb das:

    Quellcode

    1. Knopf Knopf;
    2. Knopf Knopf2;

    Dort wird den Knöpfen einmal Knopf(1) und Knopf2 zugewiesen, allerdings erkennt BlueJ die Knöpfe nicht an.

    MfG
  • Also was ich vorhabe:
    BlueJ soll einen Zug erzeugen, und verschiedene Waggons. Der Zug und die Waggons sollen über die Tastatur abrufbar sein (z.B. mit taste 1 für den ersten Zug, oder z für Zug. Den Teil habe ich bereits fertig)

    Bisher funktionieren tut:
    Der Zug und die Waggons funktionieren bereits. Auch das mit den Tastenbefehlen habe ich bereits drin.
    Es scheitert noch:
    Es scheitert noch an dem Hauptprogramm, um genauer zu sein um die Klasse Knopf und Knopf 2.
    Diese werden von BlueJ nicht erkannt /angenommen. Mein Problem ist nun, dass ich nicht genau weiss wie ich es anstellen soll, dass BlueJ Knopf und Knopf2 erkennt.

    MfG
  • Der Knopf soll ein virtueller Knopf sein und soll 2 Tasten zugewiesen werden, welche sich auf der Tastatur befinden.

    Quellcode

    1. import sum.kern.*;
    2. /**
    3. * @author Philip WOLtersdorf
    4. * @version 1.0
    5. */
    6. public class HP
    7. {
    8. // Objekte
    9. Bildschirm derBildschirm;
    10. Tastatur dieTastatur;
    11. Maus dieMaus;
    12. Stift hatStift;
    13. Knopf Knopf;
    14. Knopf2 Knopf2;
    15. Figur dummy;
    16. Lokomotive dieLok;
    17. PersonenWaggon derPer;
    18. OelWaggon derOel;
    19. HolzWaggon derHol;
    20. // Konstruktor
    21. public HP()
    22. {
    23. derBildschirm = new Bildschirm(333,333);
    24. dieTastatur = new Tastatur();
    25. dieMaus = new Maus();
    26. hatStift = new Stift();
    27. Knopf = new Knopf(derBildschirm.breite()/3-25 ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');
    28. Knopf2 = new Knopf(derBildschirm.breite()/3*2-25,derBildschirm.hoehe()-50,25,50,dieMaus,'S');
    29. dieLok = new Lokomotive(derBildschirm.breite()/4,derBildschirm.hoehe()/2,dieMaus);
    30. derPer = new PersonenWaggon(derBildschirm.breite()/3-50,derBildschirm.hoehe()/8,dieMaus);
    31. derOel = new OelWaggon(derBildschirm.breite()/3*2-50,derBildschirm.hoehe()/8,dieMaus);
    32. derHol = new HolzWaggon(derBildschirm.breite()/3*3-50,derBildschirm.hoehe()/8,dieMaus);
    33. dieLok.zeichneDich();
    34. dummy = dieLok;
    35. }
    36. // Dienste
    37. public void fuehreAus()
    38. {
    39. // Aktionsteil
    40. hatStift.bewegeBis(0,derBildschirm.hoehe()/4);
    41. hatStift.runter();
    42. hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4);
    43. hatStift.hoch();
    44. hatStift.bewegeBis(0,derBildschirm.hoehe()/4+10);
    45. hatStift.runter();
    46. hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4+10);
    47. hatStift.hoch();
    48. hatStift.bewegeBis(0,(derBildschirm.hoehe()/4)*3);
    49. hatStift.runter();
    50. hatStift.bewegeBis(derBildschirm.breite(),(derBildschirm.hoehe()/4)*3);
    51. hatStift.hoch();
    52. hatStift.bewegeBis(0,((derBildschirm.hoehe()/4)*3)-10);
    53. hatStift.runter();
    54. hatStift.bewegeBis(derBildschirm.breite(),((derBildschirm.hoehe()/4)*3)-10);
    55. hatStift.hoch();
    56. do
    57. {
    58. if(dieMaus.doppelKlick())
    59. {
    60. if(derPer.getroffen())
    61. {
    62. dummy = dieLok;
    63. while (dummy.nenneNachfolger() != null)
    64. {
    65. dummy = dummy.nenneNachfolger();
    66. }
    67. dummy.kuppelAn(new PersonenWaggon(0,0,dieMaus));
    68. do
    69. {
    70. dieLok.bewegeDich(-1);
    71. }while (dummy.nennehPosition() > derBildschirm.breite()/2);
    72. }
    73. if(derOel.getroffen())
    74. {
    75. dummy = dieLok;
    76. while (dummy.nenneNachfolger() != null)
    77. {
    78. dummy = dummy.nenneNachfolger();
    79. }
    80. dummy.kuppelAn(new OelWaggon(0,0,dieMaus));
    81. do
    82. {
    83. dieLok.bewegeDich(-1);
    84. }while (dummy.nennehPosition() > derBildschirm.breite()/2);
    85. }
    86. if(derHol.getroffen())
    87. {
    88. dummy = dieLok;
    89. while (dummy.nenneNachfolger() != null)
    90. {
    91. dummy = dummy.nenneNachfolger();
    92. }
    93. dummy.kuppelAn(new HolzWaggon(0,0,dieMaus));
    94. do
    95. {
    96. dieLok.bewegeDich(-1);
    97. }while (dummy.nennehPosition() > derBildschirm.breite()/2);
    98. }
    99. if(Knopf.getroffen())
    100. {
    101. Knopf.aktiviere();
    102. dummy = dieLok;
    103. if(dieLok.nenneNachfolger() != null)
    104. {
    105. while (dummy.nenneNachfolger().nenneNachfolger() != null)
    106. {
    107. dummy = dummy.nenneNachfolger();
    108. }
    109. dummy.entferneNachfolger();
    110. do
    111. {
    112. dummy = dieLok;
    113. while (dummy.nenneNachfolger() != null)
    114. {
    115. dummy = dummy.nenneNachfolger();
    116. }
    117. dieLok.bewegeDich(+1);
    118. }while (dummy.nennehPosition() < derBildschirm.breite()/2);
    119. }
    120. Knopf.deaktiviere();
    121. }
    122. if(Knopf2.getroffen())
    123. {
    124. Knopf2.aktiviere();
    125. do
    126. {
    127. dieLok.bewegeDich(+5);
    128. }while (dieLok.nennehPosition() < derBildschirm.breite()/2);
    129. do
    130. {
    131. dieLok.bewegeDich(-1);
    132. }while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);
    133. Knopf2.deaktiviere();
    134. }
    135. }
    136. }while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);
    137. // Aufraeumen
    138. dieTastatur.gibFrei();
    139. derBildschirm.gibFrei();
    140. dieMaus.gibFrei();
    141. hatStift.gibFrei();
    142. Knopf.gibFrei();
    143. Knopf2.gibFrei();
    144. derPer.gibFrei();
    145. derOel.gibFrei();
    146. derHol.gibFrei();
    147. dieLok.gibFrei();
    148. }
    149. }
    Alles anzeigen


    Hier nochmal der teil mit dem Knopf:

    Quellcode

    1. public HP()
    2. {
    3. derBildschirm = new Bildschirm(333,333);
    4. dieTastatur = new Tastatur();
    5. dieMaus = new Maus();
    6. hatStift = new Stift();
    7. Knopf = new Knopf(derBildschirm.breite()/3-25 ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');
    8. Knopf2 = new Knopf(derBildschirm.breite()/3*2-25,derBildschirm.hoehe()-50,25,50,dieMaus,'S');
    9. dieLok = new Lokomotive(derBildschirm.breite()/4,derBildschirm.hoehe()/2,dieMaus);
    10. derPer = new PersonenWaggon(derBildschirm.breite()/3-50,derBildschirm.hoehe()/8,dieMaus);
    11. derOel = new OelWaggon(derBildschirm.breite()/3*2-50,derBildschirm.hoehe()/8,dieMaus);
    12. derHol = new HolzWaggon(derBildschirm.breite()/3*3-50,derBildschirm.hoehe()/8,dieMaus);
    13. dieLok.zeichneDich();
    14. dummy = dieLok;
    15. }
    Alles anzeigen
  • ich hatte dir gesagt, dass du die klasse selbst implementieren musst.
    wenn ich mir das hier ansehe hat knop irgendwelche felder, 6 stück, welche sind das?

    Quellcode

    1. Knopf = new Knopf(derBildschirm.breite()/3-25 ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');

    su musst ja irgenwelche aufgabenstellung haben, was steht denn da?

    wir können dir auch nicht an fremdem code etwas eklären, da musst du shcon mehr infos geben
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.
  • So wie ich es verstanden habe,soll ein Knopf erzeugt werden, mit den bildschirm "Maßen" und die sollen halt unter anderem E sein.

    Mein Problem ist doch nur, dass BlueJ die klasse Knopf nicht erkennt.Der Quelltext dürfte richtig sein

    edit: Habe nun mal alles was noch nicht funktionert (sprich die knöpfe) aus dem code entfernt und statisch funktioniert das Programm. Nur die animation funktioniert nicht, weil Knopf und Knopf2 nicht funktionieren.

    MfG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von krome ()

  • na klar, ich habe dir doch shcon mal gesagt dass du erst die klasse Knopf implementieren musst, befor bluej es erkennt, wenn keine klasse da ist kann er sie auch nicht erkennen
    mach doch einfahc mal iene neue klasse mit den dazugehörigen instanzvariablen und methoden und dann wird es auch laufen
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.