Dateien nach "/" hochladen
parent
1699c071cc
commit
22808f8a56
|
@ -0,0 +1,44 @@
|
|||
|
||||
public class Format {
|
||||
//>>....---------------<<
|
||||
public static String padword(String word, int pad) {
|
||||
|
||||
String result = ">>"+word;
|
||||
if (result.length() >= pad-2) {
|
||||
result += "<<";
|
||||
}
|
||||
else {
|
||||
while(result.length() <= pad-2) {
|
||||
result += "-";
|
||||
}
|
||||
result += "<<";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//>>-----------....------------<<
|
||||
public static String midpadword(String word, int pad) {
|
||||
|
||||
String result = word;
|
||||
if (result.length() >= pad-4) {
|
||||
result =">>" + result + "<<";
|
||||
}
|
||||
else {
|
||||
while(result.length() <= pad-4) {
|
||||
result = "-" + result + "-";
|
||||
}
|
||||
result =">>" + result + "<<";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//##################################################################
|
||||
public static void pad(int input) {
|
||||
|
||||
String result = "#";
|
||||
|
||||
while(result.length() < input) {
|
||||
result += "#";
|
||||
}
|
||||
System.out.println(result);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
import java.util.Scanner;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
|
||||
public class Interface {
|
||||
|
||||
public static void main(String[] arg) throws FileNotFoundException {
|
||||
|
||||
menue();
|
||||
|
||||
}
|
||||
|
||||
public static void menue() throws FileNotFoundException {
|
||||
|
||||
welcomescreen();
|
||||
boolean menue = true;
|
||||
Scanner scan = new Scanner(System.in);
|
||||
|
||||
do {
|
||||
|
||||
String input = scan.nextLine();
|
||||
|
||||
if (input.equalsIgnoreCase("Starten")) {
|
||||
|
||||
Format.pad(141);
|
||||
WortSpiel.spiel();
|
||||
menue = false;
|
||||
|
||||
}else if(input.equalsIgnoreCase("Regeln")){
|
||||
|
||||
regeln();
|
||||
|
||||
}else if(input.equalsIgnoreCase("Spieler")) {
|
||||
|
||||
Format.pad(141);
|
||||
WortSpiel.spieleroptionen();
|
||||
welcomescreen();
|
||||
|
||||
}else if(input.equalsIgnoreCase("Ergebnis")) {
|
||||
|
||||
Format.pad(141);
|
||||
WortSpiel.ergebnis();
|
||||
|
||||
}else if(input.equalsIgnoreCase("Back")) {
|
||||
|
||||
welcomescreen();
|
||||
|
||||
}else if(input.equalsIgnoreCase("Stop")) {
|
||||
menue = false;
|
||||
|
||||
}else {
|
||||
Format.pad(141);
|
||||
System.out.println(Format.midpadword("Befehl war unzulässig!",140));
|
||||
Format.pad(141);
|
||||
welcomescreen();
|
||||
}
|
||||
|
||||
}while(menue);
|
||||
|
||||
scan.close();
|
||||
}
|
||||
|
||||
|
||||
private static void regeln() throws FileNotFoundException {
|
||||
|
||||
Format.pad(141);
|
||||
System.out.println(">->->->->->->->Regeln für das Wortketten-Spiel<-<-<-<-<-<-<-<");
|
||||
Scanner scan = new Scanner(new File("src/Regeln.txt"));
|
||||
while(scan.hasNext()) {
|
||||
System.out.println(Format.padword(scan.nextLine(), 140));
|
||||
}
|
||||
Format.pad(141);
|
||||
scan.close();
|
||||
}
|
||||
|
||||
|
||||
private static void welcomescreen() {
|
||||
Format.pad(141);
|
||||
System.out.println(">->->->Willkommen beim Wörterspiel<-<-<-<");
|
||||
System.out.println(Format.padword("Starten", 40));
|
||||
System.out.println(Format.padword("Regeln", 40));
|
||||
System.out.println(Format.padword("Spieler", 40));
|
||||
System.out.println(Format.padword("Ergebnis", 40));
|
||||
System.out.println(Format.padword("Stop", 40));
|
||||
System.out.println(Format.padword("Back", 40));
|
||||
System.out.println(">>Bitte geben Sie die gewünschte Aktion an<<");
|
||||
Format.pad(141);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
1. Spieleranzahl: Mindestens zwei Spieler.
|
||||
2. Spielstart: Der erste Spieler nennt ein beliebiges Wort. Beispiel: "Apfel".
|
||||
3. Spielablauf:
|
||||
--- Der nächste Spieler muss ein Wort nennen, das mit dem letzten Buchstaben des vorherigen Wortes beginnt.
|
||||
--- Beispiel: Wenn der erste Spieler "Apfel" sagt, muss der nächste Spieler ein Wort nennen, das mit "L" beginnt, z.B. "Lampe".
|
||||
--- Die Spieler wechseln sich ab und machen so weiter, bis jemand einen Fehler macht oder kein Wort mehr einfällt.
|
||||
4. Regeln:
|
||||
--- Ein Wort darf in einer Runde nur einmal verwendet werden.
|
||||
--- Wenn ein Spieler länger als 10 Sekunden braucht, um ein passendes Wort zu finden, hat er verloren.
|
||||
5. Ende des Spiels:
|
||||
--- Das Spiel endet, wenn ein Spieler kein passendes Wort mehr findet oder gegen eine der Regeln verstößt.
|
||||
--- Der andere Spieler gewinnt die Runde.
|
||||
6. Punkte Vergabe:
|
||||
---Punkte bekommt jeder Spieler in höhe der von ihm gespielten Buchstaben. Wenn er ein Wort mit 5 Buchstaben spielt
|
||||
---und eins mit 6 dann erhält er 11 Punkte. Der verlierende Spieler erhält 20 Punkte abgezogen.
|
||||
Viel Spaß beim Spielen und seid kreativ!
|
||||
Um das Menü anzuzeigen "Back"!
|
|
@ -0,0 +1,27 @@
|
|||
public class Spieler {
|
||||
|
||||
private String name = "Spieler";
|
||||
private int score = 0;
|
||||
|
||||
Spieler(String name){
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
System.out.println(Format.midpadword("Name wurde "+name+" geändert!", 140));
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getScore() {
|
||||
return score;
|
||||
}
|
||||
|
||||
public void setScore(int score) {
|
||||
this.score += score;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
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<String> usedwords = new ArrayList<String>();
|
||||
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));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue