Во-первых, я нуб. Я также уборщик, который никогда не делал ни копейки. Это просто то, что я люблю делать. Это для удовольствия :) При этом я написал эту консольную игру в крестики-нолики, в которой достаточно ai, чтобы не проиграть в каждой игре. (Я предполагаю, что ai это то, что он должен называться.) У него есть что-то вроде 70 if / else, если операторы для компьютеров поворачиваются. Я использовал 3 массива типа int так:
int L[2], M[2], R[2];
0 = пусто;
1 = Х;
2 = O;
Тогда доска «выглядит» как
L [0] | М [0] | R [0]
L [1] | М [1] | R [1]
L [2] | М [2] | R [2]
Таким образом, я в основном выписал каждый возможный сценарий, который мог бы придумать что-то вроде:
if(M[0]==1 & M[1]==1 & M[2]==0){M[2] = 2;}//here the computer prevents a win
else if(L[0] ==2&M[1]==2&R[2]==0){R[2]=2;}//here the computer wins
//and so on....68 more times!
Я предполагаю, что мой (ые) вопрос (ы):
Есть ли лучший способ?
Есть ли способ достичь того же результата с меньшим количеством строк кода?
Считается ли это искусственным интеллектом? ?