Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
schule:klassen:2018:10bc:projekt [2019/05/21 07:55]
martin [Vorlage für die Hauptklasse]
schule:klassen:2018:10bc:projekt [2019/05/21 08:41] (aktuell)
martin [Rahmenbedingungen]
Zeile 1: Zeile 1:
 +====== Projekt ======
 +
 +===== Rahmenbedingungen =====
 +  * Zeit: maximal 3 Doppelstunden
 +  * Zuhause Weiterarbeiten ist erlaubt
 +  * Arbeit alleine; es ist aber erlaubt, sich gegenseitig um Rat zu fragen
 +  * Speicherung:​ Auf privaten Laufwerk, **zusätzlich auf eigenem USB-Stick!**
 +  * Abgabe in Dateiform
 +  * Eine Projektvorlage findet ihr auf Bibliothek/​Pabst/​10b/​GameTeplate.java
 +
 +===== Anforderungen =====
 +  * Gut lesbarer Quellcode
 +  * Möglichst viele der Anforderungen erfüllen (siehe Nummerierung bei den Themen)
 +  * Pluspunkte für eigene Ideen, die das Spiel zusätzlich bereichern.
 +
 +
 +===== Vorlage für die Hauptklasse =====
 +<code java>
 +import sge.*;
 +public class GameTemplate implements TimerListener,​ TastaturListener
 +{
 +
 +    private Timer t;
 +    private Fenster f;
 +    ​
 +    /**
 +     * Konstruktor für Objekte der Klasse GameTemplate
 +     */
 +    public GameTemplate()
 +    {
 +
 +        f = new Fenster(800,​400);​
 + f.addTastaturListener(this);​
 +        ​
 +        t = new Timer(this, 10);
 +        t.start();
 +    ​
 +    }
 +
 +   
 +    public void timerSignalVerarbeiten(){
 +     
 +        // Was hier steht wird alle 10 ms ausgeführt
 +        ​
 +        ​
 +    }
 +    ​
 +    public void tasteGedrueckt(char taste, int keyCode, boolean erstmals){
 +        ​
 +        // Hier kann man auf das Drücken von Tasten reagieren, z.B.
 +        ​
 +        if(taste == '​a'​){
 +            //...
 +        }
 +    }
 +    ​
 +}
 +</​code>​
 +
 +===== Erzeugen von graphischen Elementen =====
 +<code java>
 +Kreis k = new Kreis(100, 200, 50); // MitteX, MitteY, Radius
 +Rechteck r = new Rechteck(50,​ 50, 100, 200); // links, oben, breite, höhe
 +Textfeld t = new Textfeld(100,​ 100, "​Test"​);​ // links, unten, Text
 +</​code>​
 +====== Themen ======
 +{{:​schule:​klassen:​2018:​10bc:​pasted:​20190520-230024.png?​600}}
 +
 +{{:​schule:​klassen:​2018:​10bc:​pasted:​20190520-230122.png?​600}}
 +
 +{{:​schule:​klassen:​2018:​10bc:​pasted:​20190520-230155.png?​600}}
 +
 +{{:​schule:​klassen:​2018:​10bc:​pasted:​20190520-230219.png?​600}}
  
Drucken/exportieren
QR-Code
QR-Code schule:klassen:2018:10bc:projekt (erstellt für aktuelle Seite)