私の割り当て:
Stixのゲームは、以前「Survivor、Thailand」でプレイされたゲームに似ていますが、簡略化されたバージョンでは、次のようになります。
2人のプレイヤーがプレイします(Survivorでは2人以上でしたが、ここでは2人だけを扱います)。いくつかのスティック(マッチのような)がテーブルに置かれます。最初のプレーヤーは、テーブルにその数があれば、1、2、または3本のスティックを奪います。次に、2番目のプレーヤーが1、2、または3本のスティックを(可能であれば)取り去ります。最後のスティックを取る人は誰でも負けます。
これは私のクラスです:
public class StixBoard
{
public int number;
public StixBoard(int number)
{
number = number;
}
public int getNumStix()
{
return number;
}
public boolean takeStix(int number)
{
int take = 1;
while(take <= getNumStix())
{
takeStix(take);
take++;
}
if(number >= 1 && number <= 3)
{
number = number - this.number;
System.out.println("Number of sticks on board:" + number);
return(true);
}
else
System.out.println("Illegeal Move");
return(false);
}
public boolean isGameOver()
{
if(number >=1)
{
return(true);
}
else
return false;
}
public String toString()
{
return(getNumStix() + " Stix Remaining.");
}
}
This is my tester:
public class StixGame
{
public static void main(String[] args)
{
StixBoard game1 = new StixBoard(6);
System.out.println(game1.getNumStix());
}
}
Can someone tell my why game1 only returns 0?
*UPDATE*
Now that it constantly displays:
6
Illegeal Move
false
6
I've been playing around with it but can't figure out why =/
Program now looks like this:
public class StixBoard
{
public int number;
public StixBoard(int number)
{
this.number = number;
}
public int getNumStix()
{
return number;
}
public boolean takeStix(int number)
{
int take = 0;
while(take != number && number <= 3 && number > 0)
{
number = this.number - take;
take++;
}
if(this.number >= 1 && this.number <= 3)
{
number = number - this.number;
System.out.println("Number of sticks on board:" + number);
return(true);
}
else
System.out.println("Illegeal Move");
return(false);
}
public boolean isGameOver()
{
if(number >=1)
{
return(true);
}
else
return false;
}
public String toString()
{
return(getNumStix() + " Stix Remaining.");
}
}
そしてこれは私のテスターです:
public class StixGame
{
public static void main(String[] args)
{
StixBoard game1 = new StixBoard(6);
System.out.println(game1.getNumStix());
System.out.println(game1.takeStix(3));
System.out.println(game1.getNumStix());
}
}