import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Date; import java.util.Scanner; public class WortSpiel { public static Spieler spieler1 = new Spieler("Spieler1"); public static Spieler spieler2 = new Spieler("Spieler2"); //spieler einstellungen public static void spieleroptionen() { Scanner scan = new Scanner(System.in); ergebnis(); System.out.println(Format.padword("Wollen sie die bisherigen Spieler weiter nutzen?", 140)); System.out.println(Format.padword("Ja/Nein", 140)); String answer = scan.nextLine(); if(answer.equalsIgnoreCase("nein")) { System.out.println(Format.midpadword("Geben sie bitte den Namen des ersten Spielers ein:",140)); String name = scan.nextLine(); spieler1.setName(name); System.out.println(Format.midpadword("Geben sie bitte den Namen des zweiten Spielers ein:",140)); name = scan.nextLine(); spieler2.setName(name); }else {} } public static void spiel() throws FileNotFoundException { //initialisieren der grundlagen System.out.println(Format.midpadword("Wortkettenspiel", 140)); boolean spielen = true; char letter = '*'; Scanner scan = new Scanner(System.in); ArrayList usedwords = new ArrayList(); int j = 2; Spieler turne = spieler1; do { if (j%2==0) { System.out.println(Format.padword(spieler1.getName()+" wort bitte.", 140)); turne = spieler1; }else { System.out.println(Format.padword(spieler2.getName()+" wort bitte.", 140)); turne = spieler2; } //zeitmessung long starttime = new Date().getTime(); String word = scan.nextLine(); // für erstes wort if (letter == '*') { letter = word.charAt(word.length() - 1); turne.setScore(word.length()); System.out.println(Format.padword("Jetzt ein Wort mit: " + letter, 140)); usedwords.add(word); } else if (word.equals("")) { continue; //antwort bei ungültigem wort } else if(usedwords.contains(word)){ spielen = false; turne.setScore(-20); System.out.println(Format.padword("Dieses Wort wurde bereits genutzt!", 140)); //abfrage ob der buchstabe passt } else if (letter == word.charAt(0)) { letter = word.charAt(word.length() - 1); turne.setScore(word.length()); System.out.println(Format.padword("Jetzt ein Wort mit: " + letter, 140)); usedwords.add(word); } else { spielen = false; turne.setScore(-20); System.out.println(Format.padword("Das Wort war Falsch du hast verloren!", 140)); } // abfrage antwortzeit und dementsprechende antwort long endtime = new Date().getTime(); long time = (endtime - starttime)/1000; if (time >= 10) { spielen = false; System.out.println(Format.padword("Du hast verloren, "+time+"s sind zu langsam zum Antworten!", 140)); } j++; } while (spielen); Interface.menue(); } public static void ergebnis() { System.out.println(Format.padword((spieler1.getName()+" hat insgesamt: "+ spieler1.getScore()+" Punkte."),140)); System.out.println(Format.padword((spieler2.getName()+" hat insgesamt: "+ spieler2.getScore()+" Punkte."),140)); } }