If (), иначе if () альтернатива в C ++ (Это ИИ?)

Во-первых, я новичок. Я также дворник, который никогда не писал ни копейки кода. Я просто люблю это делать. Это для развлечения: При этом я написал эту консольную игру в крестики-нолики, в которой достаточно искусственного интеллекта, чтобы не проиграть каждую игру. (Я полагаю, что он должен называться ai.) Он имеет что-то вроде 70 операторов if / else if для компьютеров. Я использовал 3 массива типа int:

int L[2], M[2], R[2];

0 = blank; 1 = Х; 2 = O;
Доска затем «выглядит» как
L [0] | M [0] | R [0]
L [1] | M [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!

Думаю, мой вопрос (вопросы):
Есть ли лучший способ?
Есть ли способ достичь того же результата с меньшим количеством строк кода?
Считается ли это искусственным интеллектом?

9
задан Nick P. 22 April 2011 в 10:09
поделиться