求助用java编写点灯游戏的源码

2026年09月19日 22:30
有1个网友回答
网友(1):

static boolean[][] states=new boolean[10][10]

public void main(String[] args){
init();
while(checkWin())
{ System.out.println(“输入点灯x轴”);
Scanner s = new Scanner(System.in);
int x=s.nextInt();
System.out.println(“输入点灯y轴”);
int y=s.nextInt();
states[x][y]=!states[x][y];
states[x+1][y]=!states[x+1][y];
states[x-1][y]=!states[x-1][y];
states[x][y+1]=!states[x][y+1];
states[x][y-1]=!states[x][y-1];//自己想办法解决越界问题

}
System.out.println("U win");
}
void init(){
for(boolean[] k:states){
for(boolean b:k){
b=Math.random()>0.5f;//随机
}}
boolean checkWin(){
boolean pp=false;
for(boolean[] k:states){
for(boolean b:k){
if(!b){pp=true;}//有一个灯为暗的,就使其返回true使while继续~
System.out.print(b?"o":"i");//顺便把灯打印出来

}
System.out.println();//换行
}
return pp;

}