ハンカチをなくすゲームJava実現
1794 ワード
public class LinkedTest {
/**
* @param args
*/
public static void main(String[] args) {
ChildLinked linker = new ChildLinked(9,2,2);
linker.createLinked();
linker.play();
}
}
class Child{
int no; //
Child nextChild; //
public Child(int no){
this.no = no;
}
}
class ChildLinked{
private int length; //
private int startNum; //
private int outNum; //
Child firstChild = null; //
Child temp = null; //
public ChildLinked(int length,int startNum,int outNum){
this.length = length;
this.startNum = startNum;
this.outNum = outNum;
}
//
public void createLinked(){
Child utilChild = null;
for(int i=1;i<=length;i++){
if(i==1){
firstChild = new Child(i);
temp = firstChild;
} else {
utilChild = new Child(i);
temp.nextChild = utilChild;
temp = utilChild;
if(i==length)
utilChild.nextChild = firstChild;
}
}
}
//
public void play(){
temp = firstChild;
Child preChild = null;
for(int i=1;i<startNum;i++){
preChild = temp;
temp = temp.nextChild;
}
while(length>0){
for(int i=1;i<outNum;i++){
preChild = temp;
temp = temp.nextChild;
}
preChild.nextChild = temp.nextChild;
System.out.println("child no="+temp.no+" is out");
temp = temp.nextChild;
length--;
}
}
}