Startbildschirm für ein Spiel erstellen

T

Tino124

Mitglied
Hallo zusammen! Ich muss für einen Einführungskurs in Java ein Spiel programmieren. Das Spiel an sich funktioniert bislang. Nun möchte ich einen Startbildschirm mit einem Startbutton hinzufügen, der wenn er betätigt wird das Spiel startet. Jemand eine Idee was ich falsch mache oder wie ich das Einbetten könnte?

Java:
ArrayList<Integer> xRichtung = new ArrayList<Integer>(), yRichtung = new ArrayList<Integer>();

int spielFeldGroesseX=30, spielFeldGroesseY=30, bloecke=20, richtung=2, essenX=15, essenY=15, speed = 8, R = 255, G = 255, B = 255;

int[]richtungX={0, 0, 1, -1}, richtungY={1, -1, 0, 0}; // 2=rechts 3=links 0=runter 1= hoch

boolean gameover=false;

void setup()
{
  size(600, 600);
  xRichtung.add(10); //startpunkt
  yRichtung.add(10);
}  

void draw()
{
  background(100, 50, 50);
  line(0, 20, 600, 20);
  fill(random(255), random(255), random(255)); //Farbwechsel

  //Neue Schriftart auswählen
  textSize(80);
  text("Snake", 190, 130);

  fill (255);
  rect( 200, 260, 200, 80);
  fill(0);
  textSize(30);
  text("Start Game", 220, 310);

  if ((mouseX >=  200)&& (mouseX <= 400 ) &&(mouseY >=  260)&& (mouseY <= 340 ))
  {
    println("hi");

    for (int i = 0; i < xRichtung.size(); i++) rect(xRichtung.get(i)*bloecke, yRichtung.get(i)*bloecke, bloecke, bloecke); //schlange zeichnen
    if (!gameover) {  //solange gameover false läuft Spiel

      fill(R, G, B); //Futterfarbe
      rect(essenX*bloecke, essenY*bloecke, bloecke, bloecke); //essen
      textAlign(LEFT);
      textSize(20);
      fill(255);
      text("Punkte: " + xRichtung.size(), 1, 1, 580, 50); //Ausrichtung Punktetafel

      if (xRichtung.size()<= 5) {
        textAlign(RIGHT);
        textSize(20);
        fill(255);
        text("Schelligkeit: Lahm", 0, 0, 550, 50); //Ausrichtung Schelligkeitanzeige
      }
      if (xRichtung.size()> 5 && xRichtung.size()<= 10) {
        textAlign(RIGHT);
        textSize(20);
        fill(255);
        text("Schelligkeit: Normal", 0, 0, 550, 50); //Ausrichtung Schelligkeitanzeige
      }
      if (xRichtung.size()>10 && xRichtung.size() <= 15) {
        textAlign(RIGHT);
        textSize(20);
        fill(255);
        text("Schelligkeit: Schnell", 0, 0, 550, 50); //Ausrichtung Schelligkeitanzeige
      }
      if (xRichtung.size() > 15) {
        textAlign(RIGHT);
        textSize(20);
        fill(255);
        text("Schelligkeit: Ultra", 0, 0, 550, 50); //Ausrichtung Schelligkeitanzeige
      }

      if (frameCount%speed==0)
      {
        xRichtung.add(0, xRichtung.get(0) + richtungX[richtung]); // wachsen
        yRichtung.add(0, yRichtung.get(0) + richtungY[richtung]);

        if (xRichtung.get(0) < 0 || yRichtung.get(0) < 0 || xRichtung.get(0) >= spielFeldGroesseY || yRichtung.get(0) >= spielFeldGroesseX) //sterben wenn spielefeldrand berührt
          gameover = true;

        for (int i=1; i<xRichtung.size(); i++) // sterben wenn Schlange sich selbst berührt
          if (xRichtung.get(0)==xRichtung.get(i)&&yRichtung.get(0)==yRichtung.get(i))
            gameover=true;

        if (xRichtung.get(0)==essenX && yRichtung.get(0)==essenY) //neues essen wenn geschnappt
        {
          if (xRichtung.size() %5==0 && speed>=2)
            speed-=1;  // alle 5 Punkte schnelligkeit erhöhen

          essenX = (int)random(0, spielFeldGroesseX); //neues essen spawn, damit nicht in Schrift spawnt
          essenY = (int)random(0, 29);

          R = (int)random(255);
          G = (int)random(255);
          B = (int)random(255); // farbe ändern essen
        } else
        {
          xRichtung.remove(xRichtung.size()-1);
          yRichtung.remove(yRichtung.size()-1);
        }
      }
    } else {  //game overtext
      fill(200, 200, 50);
      textSize(30);
      textAlign(CENTER);
      text("Verloren! \n Deine Punktzahl ist: "+ xRichtung.size() +"\n Drücke ENTER zum Neustart", width/2, height/2);


      if (keyCode == ENTER) // neustart einleiten und breinigung
      {
        xRichtung.clear();
        yRichtung.clear();
        xRichtung.add(10);  //Respawn schlange bei 10 und 10
        yRichtung.add(10);
        richtung = 2;
        speed = 8;
        gameover = false;
      }
    }
  }
}



void keyPressed() {
  int richtungsWechsel=keyCode == DOWN? 0:
    (keyCode == UP?1:
    (keyCode == RIGHT?2:
    (keyCode == LEFT?3:-1)));
  if (richtungsWechsel != -1) richtung = richtungsWechsel;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P startbildschirm spiel Java Basics - Anfänger-Themen 13
Kanaska Datentyp für Zahlenbereiche Java Basics - Anfänger-Themen 7
U BestPractise für Deployment unter Windows gesucht Java Basics - Anfänger-Themen 12
lilrack UML Diagramm für Parkplatzverwaltung Java Basics - Anfänger-Themen 8
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
B Generische Typen für dynamisches Formular Java Basics - Anfänger-Themen 3
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
T Alternative für switch case Java Basics - Anfänger-Themen 1
P Ressourcen für JSON & API Informationen? Java Basics - Anfänger-Themen 1
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
L Compiler-Fehler SupressWarning für clone() Java Basics - Anfänger-Themen 6
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
D Ampel für Mitarbeiter zum An-/Abwesend zeigen Java Basics - Anfänger-Themen 28
T Wahrscheinlichkeiten für Slot Machine Java Basics - Anfänger-Themen 13
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
V Ersätze für Java-Scanner Java Basics - Anfänger-Themen 9
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
R OOP Einfaches Programmierbeispiel für Assoziation, Aggregation und Komposition gesucht Java Basics - Anfänger-Themen 10
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
A Literale für primitive Daten Typen Java Basics - Anfänger-Themen 4
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
M Regex für bestimmte Wörter bzw. bestimmte Zeichen erstellen Java Basics - Anfänger-Themen 5
D Zusammenhängenden Graphen für Gleisnetz erstellen Java Basics - Anfänger-Themen 13
M Writer für unterschiedliche Obj/inbt/double erstellen? Java Basics - Anfänger-Themen 1
D Denkweise für Rekusionen Java Basics - Anfänger-Themen 1
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
M Unverständnis für ":" und "?" Java Basics - Anfänger-Themen 28
X Buchungssystem für Busse Java Basics - Anfänger-Themen 11
W Eclipse Autoformatierung für Streams ändern ? Java Basics - Anfänger-Themen 1
X Modellieren eines Buchungssystems für Busfahrkarten Java Basics - Anfänger-Themen 53
T Collections Methode (Knoten hinzufügen) für Graphen Java Basics - Anfänger-Themen 32
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
I Preis finden für ein Uber-App(?) Java Basics - Anfänger-Themen 3
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
F RegEx für Email Java Basics - Anfänger-Themen 2
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
K nur für das verständnis Java Basics - Anfänger-Themen 3
A Bedingungen für Parameterwerte Java Basics - Anfänger-Themen 7
H For-Schleife für 60 sekunden laufen lassen Java Basics - Anfänger-Themen 1
K GUI Entwicklung - Welche Richtung passt für euch zum mobilen Zeitalter? Java Basics - Anfänger-Themen 4
J Projektideen für Java (auch gehobeneres Niveau)? Java Basics - Anfänger-Themen 16
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
D Richtig für Programmieren an der UNI lernen Java Basics - Anfänger-Themen 8
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Welches Framework für kleine WebApp nutzen? Java Basics - Anfänger-Themen 6
O Iterator für eine geordnete Menge Java Basics - Anfänger-Themen 134
N Schleife für ein Würfelspiel Java Basics - Anfänger-Themen 10
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
F Regex für Inlineformatierungen Java Basics - Anfänger-Themen 12
M Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
N Obstmarkt für Intellektuelle Java Basics - Anfänger-Themen 40
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
O Ideen für kleinere Projekte um Java zu lernen Java Basics - Anfänger-Themen 1
F Bedingung für Eingabe Java Basics - Anfänger-Themen 2
S Hilfe für Aufgabe Java Basics - Anfänger-Themen 4
C Verbesserungsvorschlag für effizienteren Code - (Project Euler10) Java Basics - Anfänger-Themen 26
B Spielfiguren für ein Beute-Jägerspiel programmieren Java Basics - Anfänger-Themen 12
L Binären Bäume für beliebige Datentypen Java Basics - Anfänger-Themen 15
B API für Längen und Breitengrad zu bekommen Java Basics - Anfänger-Themen 2
A Datenstruktur für Savings Algorithmus und Planung von kleinen Programmierprojekten Java Basics - Anfänger-Themen 1
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
H Interface Final für Parameter in überschriebenen Methoden? Java Basics - Anfänger-Themen 3
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
L Neue Klasse für TableView? Java Basics - Anfänger-Themen 17
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
D Setter/Getter für Instanzvariablen praktisch? Java Basics - Anfänger-Themen 19
A Erste Schritte Hilfe für for-Schleife Java Basics - Anfänger-Themen 1
jaleda100 Component für Suche Java Basics - Anfänger-Themen 4
S Server - für jeden Client ein Serverthread Java Basics - Anfänger-Themen 2
Queiser Datentypen 2 generische Datentypen für eine Schnittstelle Java Basics - Anfänger-Themen 1
M Verbesserung für JRadioButton Java Basics - Anfänger-Themen 10
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
J Für jeden Buchstaben eine Zahl Java Basics - Anfänger-Themen 1
Hanschyo Formel für n-Eck Java Basics - Anfänger-Themen 3
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
L Polymorphie Dynamischer oder Statischer Typ für Methodenparameter Java Basics - Anfänger-Themen 8
C Idee für Programmierprojekt Java Basics - Anfänger-Themen 3
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Anzeige

Neue Themen


Oben