Kartenvariable zu Wert geändert, dementsprechend methoden und Tests angepasst

pull/38/head
Philipp Kotte 2023-10-20 08:52:29 +02:00
parent fedf21b3e4
commit 8689110670
7 changed files with 103 additions and 17 deletions

3
.vscode/settings.json vendored 100644
View File

@ -0,0 +1,3 @@
{
"editor.defaultFormatter": "esbenp.prettier-vscode"
}

View File

@ -20,8 +20,8 @@ public class Magierkarte extends Karte {
private static int magierkartenanzahl = 0; private static int magierkartenanzahl = 0;
// Konstruktoren // Konstruktoren
public Magierkarte() { public Magierkarte(int id) {
super(); super(id);
} }

View File

@ -22,7 +22,7 @@ public class Zahlenkarte extends Karte {
// Attribute jedes Objektes // Attribute jedes Objektes
/*------------------------------------------*/ /*------------------------------------------*/
private Kartenfarbe farbe; private Kartenfarbe farbe;
private int kartenNummer; private int wert;
/*------------------------------------------*/ /*------------------------------------------*/
// Konstruktoren (default und spezifische) // Konstruktoren (default und spezifische)
@ -31,10 +31,10 @@ public class Zahlenkarte extends Karte {
super(); super();
} }
public Zahlenkarte(Kartenfarbe farbe, int kartenNummer) { public Zahlenkarte(Kartenfarbe farbe, int wert) {
super(); super();
setFarbe(farbe); setFarbe(farbe);
setKartenNummer(kartenNummer); setWert(wert);
} }
/*------------------------------------------*/ /*------------------------------------------*/
@ -52,12 +52,12 @@ public class Zahlenkarte extends Karte {
return farbe; return farbe;
} }
public void setKartenNummer(int kartenNummer) { public void setWert(int kartenNummer) {
this.kartenNummer = kartenNummer; this.wert = kartenNummer;
} }
public int getKartenNummer() { public int getWert() {
return kartenNummer; return wert;
} }
/*------------------------------------------*/ /*------------------------------------------*/

View File

@ -6,6 +6,11 @@ written on: 05 / 10 / 2023 at: 23:42
*/ */
package Domain; package Domain;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import Domain.Enums.Kartenfarbe;
import Domain.Karten.*; import Domain.Karten.*;
public class Kartenstapel { public class Kartenstapel {
@ -21,6 +26,12 @@ public class Kartenstapel {
/*------------------------------------------*/ /*------------------------------------------*/
// Attribute jedes Objektes // Attribute jedes Objektes
/*------------------------------------------*/ /*------------------------------------------*/
private boolean[][] belegung = {
{ false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
{ false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
{ false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
{ false, false, false, false, false, false, false, false, false, false, false, false, false, false, false }
};
private Karte[] kartenStapel = new Karte[60]; private Karte[] kartenStapel = new Karte[60];
@ -29,6 +40,7 @@ public class Kartenstapel {
/*------------------------------------------*/ /*------------------------------------------*/
public Kartenstapel() { public Kartenstapel() {
mischen();
} }
@ -74,6 +86,37 @@ public class Kartenstapel {
// Hilfsmethoden (privat) // Hilfsmethoden (privat)
/*------------------------------------------*/ /*------------------------------------------*/
private void Kartenverteilung() {
Random r = new Random();
List<Karte> karten = new ArrayList<>();
while (karten.size() < 60) {
int high = 4;
int low = 1;
int ultra_high = 15;
int x = r.nextInt(high - low) + low;
int y = r.nextInt(ultra_high - low) + low;
if (!belegung[x - 1][y - 1]) {
if (y == 1) {
karten.add(new Narrenkarte(x * y));
} else if (y == 15) {
karten.add(new Magierkarte(x * y));
} else {
if (x == 1) {
karten.add(new Zahlenkarte(Kartenfarbe.ZWERG, y));
} else if (x == 2) {
} else if (x == 3) {
} else if (x == 4) {
}
}
}
}
}
// //
} }

View File

@ -55,6 +55,7 @@ public class Spiel implements Serializable {
this.istBeendet = false; this.istBeendet = false;
this.spielerAmZug = null; this.spielerAmZug = null;
this.runde = 0; this.runde = 0;
this.kartenstapel = new Kartenstapel();
}; };
/*--------------------------------------------------------*/ /*--------------------------------------------------------*/
// statische Methoden // statische Methoden
@ -167,6 +168,26 @@ public class Spiel implements Serializable {
System.out.println("Es fehlen " + (3 - this.spieler.size()) + " spieler"); System.out.println("Es fehlen " + (3 - this.spieler.size()) + " spieler");
} }
while (!this.istSpielBeendet()) {
System.out.println("Das Spiel wurde gestartet.");
// Beginn der Runde
// Stiche erstellen
erstelleStiche(this.runde);
// Karten verteilen
// Runde erhöhen
runde++;
}
// Die Karten sind verteilt
// Für jeden Spieler Karten ausspielen und im Stich speichern
// ermitteln welcher Spieler gewonnen hat
// Stich beim Spieler speichern
// Gameloop? // Gameloop?
} }
@ -232,6 +253,8 @@ public class Spiel implements Serializable {
private void updateSpielerAmZug() { private void updateSpielerAmZug() {
if (this.spieler.size() >= 1) { if (this.spieler.size() >= 1) {
this.spielerAmZug = (Spieler) this.spieler.values().toArray()[0]; this.spielerAmZug = (Spieler) this.spieler.values().toArray()[0];
} else {
this.spielerAmZug = null;
} }
} }

17
RendomTest.java 100644
View File

@ -0,0 +1,17 @@
/*
============================================================
This is the "RendomTest" file from Author: Philipp Kotte
written on: 20 / 10 / 2023 at: 08:26
============================================================
*/
import java.util.Random;
public class RendomTest {
public static void main(String[] args) {
Random r = new Random();
int high = 10;
int low = 1;
System.out.println(r.nextInt(high - low) + low);
}
}

View File

@ -38,10 +38,10 @@ public class ZahlenkarteTest {
} }
assertEquals(zm.get(7).getFarbe(), Kartenfarbe.MENSCH); assertEquals(zm.get(7).getFarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(7).getKartenNummer(), 7); assertEquals(zm.get(7).getWert(), 7);
assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH); assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(4).getKartenNummer(), 4); assertEquals(zm.get(4).getWert(), 4);
} }
@Test @Test
@ -54,10 +54,10 @@ public class ZahlenkarteTest {
} }
assertEquals(ze.get(7).getFarbe(), Kartenfarbe.ELF); assertEquals(ze.get(7).getFarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(7).getKartenNummer(), 7); assertEquals(ze.get(7).getWert(), 7);
assertEquals(ze.get(4).getFarbe(), Kartenfarbe.ELF); assertEquals(ze.get(4).getFarbe(), Kartenfarbe.ELF);
assertEquals(ze.get(4).getKartenNummer(), 4); assertEquals(ze.get(4).getWert(), 4);
} }
@Test @Test
@ -70,10 +70,10 @@ public class ZahlenkarteTest {
} }
assertEquals(zz.get(7).getFarbe(), Kartenfarbe.ZWERG); assertEquals(zz.get(7).getFarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(7).getKartenNummer(), 7); assertEquals(zz.get(7).getWert(), 7);
assertEquals(zz.get(4).getFarbe(), Kartenfarbe.ZWERG); assertEquals(zz.get(4).getFarbe(), Kartenfarbe.ZWERG);
assertEquals(zz.get(4).getKartenNummer(), 4); assertEquals(zz.get(4).getWert(), 4);
} }
@ -87,9 +87,9 @@ public class ZahlenkarteTest {
} }
assertEquals(zr.get(9).getFarbe(), Kartenfarbe.RIESE); assertEquals(zr.get(9).getFarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(9).getKartenNummer(), 9); assertEquals(zr.get(9).getWert(), 9);
assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE); assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(2).getKartenNummer(), 2); assertEquals(zr.get(2).getWert(), 2);
} }
} }