Benutzer-Werkzeuge

Webseiten-Werkzeuge


hunter:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
hunter:start [2023/02/03 06:46] – angelegt Martin Pabsthunter:start [2023/02/27 07:03] (aktuell) – [Plan] Martin Pabst
Zeile 3: Zeile 3:
 Die Idee zu diesem Spiel stammt von Frau Dr. Siglinde Voß vom Gymnasium Immenstadt. \\ -> Danke! Die Idee zu diesem Spiel stammt von Frau Dr. Siglinde Voß vom Gymnasium Immenstadt. \\ -> Danke!
 </WRAP> </WRAP>
 +
 +===== Plan =====
 +Wir erstellen wieder eine Hauptklasse "HunterGame", von der ein einziges Objekt instanziert wird. Es hält Referenzen auf den Hunter, das Target und die Enemies. 
 +{{ :hunter:pasted:20230227-080327.png?600 }}
  
 {{ youtube>6YVOfUoB00U?large }} {{ youtube>6YVOfUoB00U?large }}
  
 +[[.hunterfertig:start|Hier das fertige Programm]]
  
-<HTML> 
- 
-<div class="java-online" style="height: 400px; width: 80%" data-java-online="{'withBottomPanel': true, 'id': 'hunter'}"> 
- 
-<script type="text/plain" title="Hunter.java"> 
-new HunterGame(); 
- 
- 
-class HunterGame extends Actor { 
- 
-   Circle hunter; 
-   double vx = 4; 
-   double vy = 0; 
- 
-   double v = 4; 
- 
-   Circle target; 
- 
-   int punkte = 0; 
- 
-   Group enemies = new Group(); 
- 
- 
-   HunterGame() { 
-       
-      super(); 
-      hunter = new Circle(400, 300, 5); 
-      target = new Circle(0, 0, 5); 
-      target.setFillColor(Color.green); 
-      moveTarget(); 
- 
-   } 
- 
-   public void act() { 
-      if(isKeyDown(Key.ArrowUp)) { 
-         vx = 0; 
-         vy = -v; 
-      } 
-      if(isKeyDown(Key.ArrowDown)) { 
-         vx = 0; 
-         vy = v; 
-      } 
-      if(isKeyDown(Key.ArrowLeft)) { 
-         vx = -v; 
-         vy = 0; 
-      } 
-      if(isKeyDown(Key.ArrowRight)) { 
-         vx = v; 
-         vy = 0; 
-      } 
- 
-      hunter.move(vx, vy); 
- 
-      if(hunter.collidesWith(target)) { 
-         moveTarget(); 
-         punkte++; 
-         println(punkte + " Punkte!"); 
- 
-         addEnemy(); 
-      } 
- 
-      if(hunter.getCenterX() < 0 || hunter.getCenterX() > 800 ||  
-            hunter.getCenterY() < 0 || hunter.getCenterY() > 600 
-         ) { 
-         gameOver(); 
-      } 
- 
-      if(hunter.collidesWith(enemies)) { 
-         gameOver(); 
-      } 
- 
-   } 
- 
-   void moveTarget() { 
-      target.moveTo(Math.random() * 800, Math.random() * 600); 
-   } 
- 
-   void addEnemy() { 
-      Circle enemy = new Circle(Math.random() * 800, Math.random() * 600, 5); 
-      enemy.setFillColor(Color.red); 
-      enemies.add(enemy); 
-   } 
- 
-   void gameOver() { 
-      println("Game Over!"); 
-      stopActing(); 
-   } 
- 
-} 
-</script> 
- 
-</div> 
- 
-</HTML> 
- \\  
  
 ===== Aufgaben ===== ===== Aufgaben =====
Zeile 107: Zeile 17:
   - Damit das Spiel mit fortschreitender Dauer immer schwerer wird, soll immer dann, wenn der Spieler einen Punkt erhält, seine Geschwindigkeit um $0.5$ erhöht werden.   - Damit das Spiel mit fortschreitender Dauer immer schwerer wird, soll immer dann, wenn der Spieler einen Punkt erhält, seine Geschwindigkeit um $0.5$ erhöht werden.
   - Zudem sollen die neu hinzukommenden Gegner (rote Kreise) mit fortschreitender Spieldauer immer größer werden.   - Zudem sollen die neu hinzukommenden Gegner (rote Kreise) mit fortschreitender Spieldauer immer größer werden.
-  - Freiwillig: Es ist sehr frustrierend, wenn das Target mitten in einem roten Kreis zu liegen kommt. Ändere das Programm so ab, dass das nicht passiert.+  - Es ist sehr frustrierend, wenn das Target mitten in einem roten Kreis zu liegen kommt. Ändere das Programm so ab, dass das nicht passiert.
   - Freiwillig: Sicher hast Du selbst auch noch Ideen, wie man das Spiel verbessern könnte. Ich bin gespannt! \\ //Bitte kennzeichne diese Programmstellen mit einem Kommentar, so dass ich sie finden kann.//   - Freiwillig: Sicher hast Du selbst auch noch Ideen, wie man das Spiel verbessern könnte. Ich bin gespannt! \\ //Bitte kennzeichne diese Programmstellen mit einem Kommentar, so dass ich sie finden kann.//
  
 [[.loesung:start|Hier geht's zur Lösung!]] [[.loesung:start|Hier geht's zur Lösung!]]
hunter/start.1675406788.txt.gz · Zuletzt geändert: 2023/02/03 06:46 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki