From 974d33fe921023935522df5f8ed094f147c995c1 Mon Sep 17 00:00:00 2001 From: 3009594 Date: Tue, 27 Aug 2024 00:08:26 +0200 Subject: [PATCH] mein altes Spiel --- .../src/Übungen/MeinAltesSpiel/JTest.java | 37 +++++ .../src/Übungen/MeinAltesSpiel/Modell.java | 143 ++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 Programmierung2/src/Übungen/MeinAltesSpiel/JTest.java create mode 100644 Programmierung2/src/Übungen/MeinAltesSpiel/Modell.java diff --git a/Programmierung2/src/Übungen/MeinAltesSpiel/JTest.java b/Programmierung2/src/Übungen/MeinAltesSpiel/JTest.java new file mode 100644 index 0000000..3061646 --- /dev/null +++ b/Programmierung2/src/Übungen/MeinAltesSpiel/JTest.java @@ -0,0 +1,37 @@ +package Übungen.MeinAltesSpiel; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +public class JTest { + private Modell obai; + private Modell omar; + private Controller c1; + + @BeforeEach + public void ertelleObjekt() { + obai = new Modell("Obai"); + omar = new Modell("omar"); + View view = new View(); + c1 = new Controller(obai,omar,view); + + } + + @Test + void testKarten() { + c1.setKarten(); + System.out.println("Obai" + obai.getKarten()); + System.out.println("Omar" + omar.getKarten()); + } + + @Test + void testfigurenkarten() { + c1.setfigurenkarten(); + System.out.println("Obai" + obai.getFigurenkarten()); + System.out.println("Omar" + omar.getFigurenkarten()); + } + +} diff --git a/Programmierung2/src/Übungen/MeinAltesSpiel/Modell.java b/Programmierung2/src/Übungen/MeinAltesSpiel/Modell.java new file mode 100644 index 0000000..a089070 --- /dev/null +++ b/Programmierung2/src/Übungen/MeinAltesSpiel/Modell.java @@ -0,0 +1,143 @@ +package Übungen.MeinAltesSpiel; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Scanner; +import java.util.Collections; +import java.util.ArrayList; + + +public class Modell { + private String name; + private ArrayList karten; + private ArrayList figurenkarten; + + public Modell(String name) { + this.name = name; + karten = new ArrayList<>(); + figurenkarten = new ArrayList<>(); + + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ArrayList getKarten() { + return karten; + } + + public void setKarten(ArrayList karten) { + this.karten = karten; + } + + public ArrayList getFigurenkarten() { + return figurenkarten; + } + + public void setFigurenkarten(ArrayList figurenkarten) { + this.figurenkarten = figurenkarten; + } + + @Override + public String toString() { + return "Modell [name=" + name + ", karten=" + karten + "]"; + } +} + +class Controller{ + + private Modell spieler1; + private Modell spieler2; + private View view; + private ArrayList karten; + private ArrayList figurenkarten; + private ArrayList spielfeld; + + public Controller(Modell spieler1, Modell spieler2,View view) { + this.spieler1 = spieler1; + this.spieler2 = spieler2; + karten =new ArrayList<>(); + figurenkarten =new ArrayList<>(); + spielfeld = new ArrayList<>(); + this.view = view; + } + public void setfigurenkarten() { + for (int i = 1; i <= 4; i++) { + figurenkarten.add("Jack"); + figurenkarten.add("Dame"); + figurenkarten.add("König"); + } + + // Erste 18 Karten für Spieler 1 + ArrayList kartenFuerSpieler1 = new ArrayList<>(figurenkarten.subList(0, figurenkarten.size() / 2)); + spieler1.setFigurenkarten(kartenFuerSpieler1); + + // Letzte 18 Karten für Spieler 2 + ArrayList kartenFuerSpieler2 = new ArrayList<>(figurenkarten.subList(figurenkarten.size() / 2, figurenkarten.size())); + spieler2.setFigurenkarten(kartenFuerSpieler2); + } + + public ArrayList getfigurenkarten(){ + return figurenkarten; + } + + public void setKarten() { + for (int i = 1; i <= 4;i++) + for (int j = 1; j <= 9; j++) + karten.add(j); + + // Karten mischen + Collections.shuffle(karten); + + // Erste 18 Karten für Spieler 1 + ArrayList kartenFuerSpieler1 = new ArrayList<>(karten.subList(0, 18)); + spieler1.setKarten(kartenFuerSpieler1); + + // Letzte 18 Karten für Spieler 2 + ArrayList kartenFuerSpieler2 = new ArrayList<>(karten.subList(18, 36)); + spieler2.setKarten(kartenFuerSpieler2); + + } + + public ArrayList getAlleKarten(){ + return karten; + } + + public void werfeEineKarte(Modell spieler) { + if (spieler.getKarten().size() > 0) { + spielfeld.add(spieler.getKarten().get(0)); + spieler.getKarten().remove(0); + }else { + view.zeigeNachricht("Du hast keine Karten mehr!"); + String auswahl = view.frageUser("möchtest Du Karten kaufen? Ja/Nein"); + if (auswahl.equalsIgnoreCase("ja")) { + view.zeigeNachricht("Deine Figurenkarten: " + spieler.getKarten()); + } + } + + + + } + + public void kaufeKarten(ArrayList figurenkarten) { + + } +} + +class View{ + private Scanner scanner = new Scanner(System.in); + + public void zeigeNachricht(String nachricht) { + System.out.println(nachricht); + } + + public String frageUser(String nachricht) { + System.out.println(nachricht); + return scanner.nextLine(); + } +}