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;
// Konstruktoren
public Magierkarte() {
super();
public Magierkarte(int id) {
super(id);
}

View File

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

View File

@ -6,6 +6,11 @@ written on: 05 / 10 / 2023 at: 23:42
*/
package Domain;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import Domain.Enums.Kartenfarbe;
import Domain.Karten.*;
public class Kartenstapel {
@ -21,6 +26,12 @@ public class Kartenstapel {
/*------------------------------------------*/
// 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];
@ -29,6 +40,7 @@ public class Kartenstapel {
/*------------------------------------------*/
public Kartenstapel() {
mischen();
}
@ -74,6 +86,37 @@ public class Kartenstapel {
// 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.spielerAmZug = null;
this.runde = 0;
this.kartenstapel = new Kartenstapel();
};
/*--------------------------------------------------------*/
// statische Methoden
@ -167,6 +168,26 @@ public class Spiel implements Serializable {
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?
}
@ -232,6 +253,8 @@ public class Spiel implements Serializable {
private void updateSpielerAmZug() {
if (this.spieler.size() >= 1) {
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).getKartenNummer(), 7);
assertEquals(zm.get(7).getWert(), 7);
assertEquals(zm.get(4).getFarbe(), Kartenfarbe.MENSCH);
assertEquals(zm.get(4).getKartenNummer(), 4);
assertEquals(zm.get(4).getWert(), 4);
}
@Test
@ -54,10 +54,10 @@ public class ZahlenkarteTest {
}
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).getKartenNummer(), 4);
assertEquals(ze.get(4).getWert(), 4);
}
@Test
@ -70,10 +70,10 @@ public class ZahlenkarteTest {
}
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).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).getKartenNummer(), 9);
assertEquals(zr.get(9).getWert(), 9);
assertEquals(zr.get(2).getFarbe(), Kartenfarbe.RIESE);
assertEquals(zr.get(2).getKartenNummer(), 2);
assertEquals(zr.get(2).getWert(), 2);
}
}