Kalaha Spiel Implementation

Ericshao

Mitglied
Hallo zusammen,

ich wollte das Spiele Kalah in Java implementieren, bin jedoch einer Schwierigkeit begegnet dass die Mulde (array) die ich leeren will sich nicht leert und ich den Fehler nicht erkennen kann. Könntet ihr bitte mal den Code angucken und mir sagen wo der Fehler liegt?

Java:
public class Kallaha
{

private int spieler;
private int array[];



public Kallaha(int pSpieler)
{

spieler = pSpieler;
array = new int[14];
array[6] = 0;
array[13] = 0;
for(int i=0 ; i<6; i++)
{
array[i] = 4;
}
for(int i=7 ; i<13; i++)
{
array[i] = 4;
}


}

void verteile (int pMulde)
{

int anzahlSteine = array[pMulde];
int zeiger = pMulde+1;
while(anzahlSteine > 0)
{
anzahlSteine=anzahlSteine-1;
array[zeiger]=array[zeiger]+1;

if(zeiger == 5)
{
if (spieler == 1)
{
zeiger = zeiger+1;
}
else
{
zeiger = zeiger+2;
}

}
else if (zeiger == 12)
{

if(spieler == 2)
{
zeiger = zeiger+1;
}
else 
{
zeiger = zeiger-12;
}

}
else if (zeiger == 13)
{
zeiger = zeiger-13;
}
else
{
zeiger = zeiger+1;
}

}
}
}
 
Zuletzt bearbeitet von einem Moderator:

Ericshao

Mitglied
Spielregeln lauten folgendes:
Bei dem Steinchenspiel besteht das Spielbrett aus zwei Reihen mit jeweils sechs Mulden zum Spielen und rechts und links jeweils eine Gewinnmulde.
1. Setzen Sie sich gegenüber von ihrem Gegenspieler und legen das Spielbrett so zwischen sich, dass jeder seine sechs Spielmulden vor sich hat. Außerdem gehört jedem die rechts von ihm liegende Gewinnmulde.
2. Verteilen Sie nun auf die Spielmulden jeweils vier Steine.
3. Nehmen Sie nun aus einer ihrer Mulden alle Steine und verteilen sie gegen den Uhrzeigersinn in die Mulden. In jede Mulde dürfen Sie nur einen Stein legen. Die gegnerische Gewinnmulde wird dabei ausgelassen.
4. Gelingt es ihnen, den letzten Stein in ihre Gewinnmulde zu legen, dürfen Sie noch eine Runde spielen. Das können Sie beliebig oft wiederholen.
5. Wenn der letzte Stein in einer ihrer leeren Spielmulden landet und in der gegenüberliegenden Mulde mindestens ein Sternchen liegt, dann dürfen Sie den letzten Stein sowie die Steine aus der gegenüberliegenden Spielmulde nehmen und in ihre Gewinnmulde legen.
6. Das Steinchenspiel ist zu Ende, wenn nach ihrem Zug alle ihre Spielmulden leer sind. Dann muss ihr Gegenüber alle Steine aus seinen Mulden nehmen und diese in seine Gewinnmulde legen.
7. Sie haben gewonnen, wenn Sie die meisten Steine in ihrer Gewinnmulde haben.

Arbeite gerade nur an die Methode verteile :)
 

Ericshao

Mitglied
"leeren" würde für mich bedeuten, dass alle Einträge 0 sind. Das einzige was du in der Schleife aber momentan machst ist den Inhalt zu inkrementieren.

Ach ja: Code bitte in Code-Tags setzen
Danke für die Antwort, bin ef Schüler und programmiere erst seit 2/3 Jahren im Unterricht, deshalb kann ich irgendwie nicht direkt deine Antwort nachvollziehen die von einem erfahrenen Programmierer kommt. Meine Frage war dass ich nur die pMulde von der ich die 4 Steine auf weiter folgende Mulden verteilen will, auf 0 setzen will. Zb pMulde=4 Mulde=4 Mulde=4 Mulde=4 Mulde=4 und nach verteilen muss das so aussehen: pMulde=0 Mulde=5 Mulde=5 Mulde=5 Mulde=5
Wie soll ich das hinbekommen? Arbeite seit 2-3 Tagen dran und finde meinen fehler nicht
 

mihe7

Top Contributor
Was Dir Robat sagen wollte ist, dass Du die Anzahl der Steine in den Mulden immer nur hochzählst. Wenn Du eine Mulde leeren willst, musst Du sie irgendwo mal auf 0 setzen.
Kurz: nach der while-Schleife fügst Du ein
Java:
array[pMulde] = 0; // oder anzahlSteine;
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K BlueJ - Fragen zu dem Spiel Pacman (Nachprogrammieren) Allgemeine Java-Themen 141
J Das Spiel 17und 4 Allgemeine Java-Themen 3
J Spieler aus der Spielerliste entfernen in dem Spiel 17und 4 Allgemeine Java-Themen 2
August Wave-Spiel Allgemeine Java-Themen 1
kev34 nim-Spiel problem Allgemeine Java-Themen 1
Kirby.exe Movement System für Spiel Allgemeine Java-Themen 13
Drachenbauer Wie sorge ich dafür, dass mein Spiel die ini-Datei in der Resourcen-ordner des Projektes schreibt? Allgemeine Java-Themen 5
A Steuerung von Spiel aus Datei lesen Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
SkyScreamer Java Spiel nutzt wenig Arbeitsspeicher Allgemeine Java-Themen 4
F Interpreter-Fehler Spiel - Fehlfunktion??? Allgemeine Java-Themen 1
C Java programmiertes Spiel ruckelt(Nur auf Laptop) Allgemeine Java-Themen 7
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
S Java Spiel des Lebens Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
G Error Meldung bei Gomoku Spiel Allgemeine Java-Themen 9
K Interpreter-Fehler Java Zahl Raten Spiel- Fehlermeldung mir unbekannt Allgemeine Java-Themen 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Allgemeine Java-Themen 3
K OOP OOP Gui Spiel + Vererbungen Probleme durch Nichtwissen!! Allgemeine Java-Themen 1
F Java Spiel Sprung problem Allgemeine Java-Themen 5
K Java QUIZ-Spiel Fragen und Antworten generieren?! Allgemeine Java-Themen 5
F Spiel lässt sich nicht aus GUI starten Allgemeine Java-Themen 5
M Lichteffekte in einem Java-Spiel Allgemeine Java-Themen 4
T Takuzu Spiel programmieren Allgemeine Java-Themen 4
x22 OOP Spiel Allgemeine Java-Themen 2
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
X Neues Spiel/ Neustart Allgemeine Java-Themen 5
L Spiel Roulette Allgemeine Java-Themen 17
L Methode "Neues Spiel" für Memory Allgemeine Java-Themen 2
G java spiel (geschwindigkeit) Allgemeine Java-Themen 37
S Spiel - Ressourcen Allgemeine Java-Themen 10
B Spiel bleibt hängen Allgemeine Java-Themen 3
W Spiel für Handy, normale GUI und Web programmieren Allgemeine Java-Themen 2
M Ein Spiel vom Internet rippen Allgemeine Java-Themen 2
S KI für TicTacToe spiel Allgemeine Java-Themen 11
M [Threads / Spiel] Help! I need sombody.. Allgemeine Java-Themen 2
A Snake Spiel in Java Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
M Lernende Vektorquantisierung - Implementation und Speicherung Allgemeine Java-Themen 1
D javadoc interface + implementation + @overrides Allgemeine Java-Themen 16
M Implementation von Zugriffen auf Object[index] in der JVM Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben