Java ArrayList错误,Tic Tac Toe非功能性错误
嗨,我一直在尝试为我正在制作的一个小游戏制作我的第一个人工智能,我现在正在编写一个游戏,我需要帮助。它包含一个种子类,因为它接受一个数字作为它返回的ArrayList长度的参数。然后,ArrayList由按顺序随机化的连续数字组成。唯一的问题是,尽管它似乎可以工作,但在某些情况下,计算机将根本没有选择,而是回到用户的位置。从ArrayList到调用它的对象的转换过程中似乎出现了一些问题。以下是到目前为止我在课堂上学到的内容:Java ArrayList错误,Tic Tac Toe非功能性错误,java,random,arraylist,seed,Java,Random,Arraylist,Seed,嗨,我一直在尝试为我正在制作的一个小游戏制作我的第一个人工智能,我现在正在编写一个游戏,我需要帮助。它包含一个种子类,因为它接受一个数字作为它返回的ArrayList长度的参数。然后,ArrayList由按顺序随机化的连续数字组成。唯一的问题是,尽管它似乎可以工作,但在某些情况下,计算机将根本没有选择,而是回到用户的位置。从ArrayList到调用它的对象的转换过程中似乎出现了一些问题。以下是到目前为止我在课堂上学到的内容: package ttt; import java.util.Coll
package ttt;
import java.util.Collections;
import java.util.ArrayList;
public class Seed
{
private ArrayList<Integer> seed;
public Seed(int num)
{
seed = new ArrayList<Integer>(num);
for(int i = 1; i <= num; i++)
seed.add(i);
generateSeed();
}
public void generateSeed()
{
Collections.shuffle(seed);
}
public ArrayList<Integer> getSeed()
{
return seed;
}
}
包ttt;
导入java.util.Collections;
导入java.util.ArrayList;
公营种子
{
私有ArrayList种子;
公共种子(int-num)
{
种子=新阵列列表(num);
对于(int i=1;我有没有考虑过一种更优雅的方法?我曾经教过一些学生如何编写tic-tac-toe AI,我们了解到,在你获得理想的游戏体验之前,你所需要做的只是一小部分规则。远没有这么复杂。之所以如此复杂,唯一的原因是我简单地将你从wi输入的任何可能的行都设置成这样我会有一个合适的计数器,比如电脑挡住你的行或者自动完成他们的行。也许有一个更有效的方法,使用更多的逻辑,但我只是选择了安全的路线,这样做。这让我想起了。看看有趣的部分是,这正是我所做的。有趣的是,我还没有看到那个特别的漫画呃,我总是看到他的帖子在网上飘荡。但是不管怎样,有人知道ArrayList导致这个bug的原因吗?
if(difficulty == 2)
{
seed.generateSeed();
ArrayList<Integer> random = seed.getSeed();
//It is within this for loop and the for loop following it that I believe the bug occurs.
for(int i = 0; i < random.size(); i++)
{
if(random.get(i) == 1)
{
if(set[0][0] == 1 && set[0][1] == 1 && set[0][2] == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 2)
{
if(set[1][0] == 1 && set[1][1] == 1 && set[1][2] == 0)
{
x = 1;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 3)
{
if(set[2][0] == 1 && set[2][1] == 1 && set[2][2] == 0)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 4)
{
if(set[0][0] == 1 && set[1][0] == 1 && set[2][0] == 0)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 5)
{
if(set[0][1] == 1 && set[1][1] == 1 && set[2][1] == 0)
{
x = 2;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 6)
{
if(set[0][2] == 1 && set[1][2] == 1 && set[2][2] == 0)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 7)
{
if(set[0][0] == 1 && set[1][1] == 1 && set[2][2] == 0)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 8)
{
if(set[0][2] == 1 && set[1][1] == 1 && set[2][0] == 0)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 9)
{
if(set[0][0] == 0 && set[0][1] == 1 && set[0][2] == 1)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 10)
{
if(set[1][0] == 0 && set[1][1] == 1 && set[1][2] == 1)
{
x = 1;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 11)
{
if(set[2][0] == 0 && set[2][1] == 1 && set[2][2] == 1)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 12)
{
if(set[0][0] == 0 && set[1][0] == 1 && set[2][0] == 1)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 13)
{
if(set[0][1] == 0 && set[1][1] == 1 && set[2][1] == 1)
{
x = 0;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 14)
{
if(set[0][2] == 0 && set[1][2] == 1 && set[2][2] == 1)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 15)
{
if(set[0][0] == 0 && set[1][1] == 1 && set[2][2] == 1)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 16)
{
if(set[0][2] == 0 && set[1][1] == 1 && set[2][0] == 1)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 17)
{
if(set[0][0] == 1 && set[0][1] == 0 && set[0][2] == 1)
{
x = 0;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 18)
{
if(set[1][0] == 1 && set[1][1] == 0 && set[1][2] == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 19)
{
if(set[2][0] == 1 && set[2][1] == 0 && set[2][2] == 1)
{
x = 2;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 20)
{
if(set[0][0] == 1 && set[1][0] == 0 && set[2][0] == 1)
{
x = 1;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 21)
{
if(set[0][1] == 1 && set[1][1] == 0 && set[2][1] == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 22)
{
if(set[0][2] == 1 && set[1][2] == 0 && set[2][2] == 1)
{
x = 1;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 23)
{
if(set[0][0] == 1 && set[1][1] == 0 && set[2][2] == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(i) == 24)
{
if(set[0][2] == 1 && set[1][1] == 0 && set[2][0] == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
}
for(int j = 0; j < random.size(); j++)
{
if(random.get(j) == 1)
{
if(set[0][0] == 2 && set[0][1] == 2 && set[0][2] == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 2)
{
if(set[1][0] == 2 && set[1][1] == 2 && set[1][2] == 0)
{
x = 1;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 3)
{
if(set[2][0] == 2 && set[2][1] == 2 && set[2][2] == 0)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 4)
{
if(set[0][0] == 2 && set[1][0] == 2 && set[2][0] == 0)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 5)
{
if(set[0][1] == 2 && set[1][1] == 2 && set[2][1] == 0)
{
x = 2;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 6)
{
if(set[0][2] == 2 && set[1][2] == 2 && set[2][2] == 0)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 7)
{
if(set[0][0] == 2 && set[1][1] == 2 && set[2][2] == 0)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 8)
{
if(set[0][2] == 2 && set[1][1] == 2 && set[2][0] == 0)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 9)
{
if(set[0][0] == 0 && set[0][1] == 2 && set[0][2] == 2)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 10)
{
if(set[1][0] == 0 && set[1][1] == 2 && set[1][2] == 2)
{
x = 1;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 11)
{
if(set[2][0] == 0 && set[2][1] == 2 && set[2][2] == 2)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 12)
{
if(set[0][0] == 0 && set[1][0] == 2 && set[2][0] == 2)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 13)
{
if(set[0][1] == 0 && set[1][1] == 2 && set[2][1] == 2)
{
x = 0;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 14)
{
if(set[0][2] == 0 && set[1][2] == 2 && set[2][2] == 2)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 15)
{
if(set[0][0] == 0 && set[1][1] == 2 && set[2][2] == 2)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 16)
{
if(set[0][2] == 0 && set[1][1] == 2 && set[2][0] == 2)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 17)
{
if(set[0][0] == 2 && set[0][1] == 0 && set[0][2] == 2)
{
x = 0;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 18)
{
if(set[1][0] == 2 && set[1][1] == 0 && set[1][2] == 2)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 19)
{
if(set[2][0] == 2 && set[2][1] == 0 && set[2][2] == 2)
{
x = 2;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 20)
{
if(set[0][0] == 2 && set[1][0] == 0 && set[2][0] == 2)
{
x = 1;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 21)
{
if(set[0][1] == 2 && set[1][1] == 0 && set[2][1] == 2)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 22)
{
if(set[0][2] == 2 && set[1][2] == 0 && set[2][2] == 2)
{
x = 1;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 23)
{
if(set[0][0] == 2 && set[1][1] == 0 && set[2][2] == 2)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(random.get(j) == 24)
{
if(set[0][2] == 2 && set[1][1] == 0 && set[2][0] == 2)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
}
if(set[0][0] == 1 && set[0][1] == 0 && set[0][2] == 0)
{
x = 0;
y = g.nextInt(2) + 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 1 && set[1][1] == 0 && set[1][2] == 0)
{
x = 1;
y = g.nextInt(2) + 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[2][0] == 1 && set[2][1] == 0 && set[2][2] == 0)
{
x = 2;
y = g.nextInt(2) + 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 1 && set[1][0] == 0 && set[2][0] == 0)
{
x = g.nextInt(2) + 1;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 1 && set[1][1] == 0 && set[2][1] == 0)
{
x = g.nextInt(2) + 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 1 && set[1][2] == 0 && set[2][2] == 0)
{
x = g.nextInt(2) + 1;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 1 && set[1][1] == 0 && set[2][2] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 1 && set[1][1] == 0 && set[2][0] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][0] == 0 && set[0][1] == 1 && set[0][2] == 0)
{
x = 0;
if(g.nextInt(2) == 1)
y = 0;
else
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 0 && set[1][1] == 1 && set[1][2] == 0)
{
x = 1;
y = g.nextInt(3);
if(g.nextInt(2) == 1)
y = 0;
else
y = 2;
return new int[] {x, y};
}
if(set[2][0] == 0 && set[2][1] == 1 && set[2][2] == 0)
{
x = 2;
if(g.nextInt(2) == 1)
y = 0;
else
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][0] == 1 && set[2][0] == 0)
{
if(g.nextInt(2) == 1)
x = 0;
else
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 0 && set[1][1] == 1 && set[2][1] == 0)
{
if(g.nextInt(2) == 1)
x = 0;
else
x = 2;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 0 && set[1][2] == 1 && set[2][2] == 0)
{
if(g.nextInt(2) == 1)
x = 0;
else
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][1] == 1 && set[2][2] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 0 && set[1][1] == 1 && set[2][0] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][0] == 0 && set[0][1] == 0 && set[0][2] == 1)
{
x = 0;
y = g.nextInt(2);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 0 && set[1][1] == 0 && set[1][2] == 1)
{
x = 1;
y = g.nextInt(2);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[2][0] == 0 && set[2][1] == 0 && set[2][2] == 1)
{
x = 2;
y = g.nextInt(2);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][0] == 0 && set[2][0] == 1)
{
x = g.nextInt(2);
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 0 && set[1][1] == 0 && set[2][1] == 1)
{
x = g.nextInt(2);
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 0 && set[1][2] == 0 && set[2][2] == 1)
{
x = g.nextInt(2);
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][1] == 0 && set[2][2] == 1)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 0 && set[1][1] == 0 && set[2][0] == 1)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][0] == 2 && set[0][1] == 0 && set[0][2] == 0)
{
x = 0;
y = g.nextInt(2) + 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 2 && set[1][1] == 0 && set[1][2] == 0)
{
x = 1;
y = g.nextInt(2) + 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[2][0] == 2 && set[2][1] == 0 && set[2][2] == 0)
{
x = 2;
y = g.nextInt(2) + 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 2 && set[1][0] == 0 && set[2][0] == 0)
{
x = g.nextInt(2) + 1;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 2 && set[1][1] == 0 && set[2][1] == 0)
{
x = g.nextInt(2) + 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 2 && set[1][2] == 0 && set[2][2] == 0)
{
x = g.nextInt(2) + 1;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 2 && set[1][1] == 0 && set[2][2] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 2 && set[1][1] == 0 && set[2][0] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][0] == 0 && set[0][1] == 2 && set[0][2] == 0)
{
x = 0;
if(g.nextInt(2) == 1)
y = 0;
else
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 0 && set[1][1] == 2 && set[1][2] == 0)
{
x = 1;
y = g.nextInt(3);
if(g.nextInt(2) == 1)
y = 0;
else
y = 2;
return new int[] {x, y};
}
if(set[2][0] == 0 && set[2][1] == 2 && set[2][2] == 0)
{
x = 2;
if(g.nextInt(2) == 1)
y = 0;
else
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][0] == 2 && set[2][0] == 0)
{
if(g.nextInt(2) == 1)
x = 0;
else
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 0 && set[1][1] == 2 && set[2][1] == 0)
{
if(g.nextInt(2) == 1)
x = 0;
else
x = 2;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 0 && set[1][2] == 2 && set[2][2] == 0)
{
if(g.nextInt(2) == 1)
x = 0;
else
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][1] == 2 && set[2][2] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 0 && set[1][1] == 2 && set[2][0] == 0)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][0] == 0 && set[0][1] == 0 && set[0][2] == 2)
{
x = 0;
y = g.nextInt(2);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 0 && set[1][1] == 0 && set[1][2] == 2)
{
x = 1;
y = g.nextInt(2);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[2][0] == 0 && set[2][1] == 0 && set[2][2] == 2)
{
x = 2;
y = g.nextInt(2);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][0] == 0 && set[2][0] == 2)
{
x = g.nextInt(2);
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 0 && set[1][1] == 0 && set[2][1] == 2)
{
x = g.nextInt(2);
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 0 && set[1][2] == 0 && set[2][2] == 2)
{
x = g.nextInt(2);
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][1] == 0 && set[2][2] == 2)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 0 && set[1][1] == 0 && set[2][0] == 2)
{
dig = g.nextInt(2);
if(dig == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][0] == 0 && set[0][1] == 0 && set[0][2] == 0)
{
x = 0;
y = g.nextInt(3);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[1][0] == 0 && set[1][1] == 0 && set[1][2] == 0)
{
x = 1;
y = g.nextInt(3);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[2][0] == 0 && set[2][1] == 0 && set[2][2] == 0)
{
x = 2;
y = g.nextInt(3);
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][0] == 0 && set[2][0] == 0)
{
x = g.nextInt(3);
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][1] == 0 && set[1][1] == 0 && set[2][1] == 0)
{
x = g.nextInt(3);
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][2] == 0 && set[1][2] == 0 && set[2][2] == 0)
{
x = g.nextInt(3);
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(set[0][0] == 0 && set[1][1] == 0 && set[2][2] == 0)
{
dig = g.nextInt(3);
if(dig == 0)
{
x = 0;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 2)
{
x = 2;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
}
if(set[0][2] == 0 && set[1][1] == 0 && set[2][0] == 0)
{
dig = g.nextInt(3);
if(dig == 0)
{
x = 0;
y = 2;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 1)
{
x = 1;
y = 1;
set[x][y] = 2;
return new int[] {x, y};
}
if(dig == 2)
{
x = 2;
y = 0;
set[x][y] = 2;
return new int[] {x, y};
}
}
while(true && !(checkComplete()))
{
x = g.nextInt(3);
y = g.nextInt(3);
if(set[x][y] == 0)
{
set[x][y] = 2;
return new int[] {x, y};
}
}
}