Коллеги, доброго здоровья!
Помогите ученику, пожалуйста.
решаю крестики-нолики.
на #ход компьютера зависает. не могу понять, где ошибка. предполагаю, что цикл неправильно запускаю, но вроде всё верно.
pole = {1=>"1", 2=>"2", 3=>"3", 4=>"4", 5=>"5", 6=>"6", 7=>"7", 8=>"8", 9=>"9"}
print "|#{pole[1]}|#{pole[2]}|#{pole[3]}|\n"
print "|#{pole[4]}|#{pole[5]}|#{pole[6]}|\n"
print "|#{pole[7]}|#{pole[8]}|#{pole[9]}|\n"
#drawpole
puts "You playing Xs, AI playing Os!"
while true do
puts "Where you want to go? Type number and press Enter..."
turn = gets.to_i
pole[turn] = "x"
lastplayer = "human"
print "|#{pole[1]}|#{pole[2]}|#{pole[3]}|\n"
print "|#{pole[4]}|#{pole[5]}|#{pole[6]}|\n"
print "|#{pole[7]}|#{pole[8]}|#{pole[9]}|\n"
#drawpole
if (pole[1] == pole[2] && pole[2] == pole[3]) ||
(pole[4] == pole[5] && pole[5] == pole[6]) ||
(pole[7] == pole[8] && pole[8] == pole[9]) ||
(pole[1] == pole[4] && pole[4] == pole[7]) ||
(pole[2] == pole[5] && pole[5] == pole[8]) ||
(pole[3] == pole[6] && pole[6] == pole[9]) ||
(pole[1] == pole[5] && pole[5] == pole[9]) ||
(pole[3] == pole[5] && pole[5] == pole[7])
puts "Player #{lastplayer} wins!"
end
#ход компьютера
puts "AI turn"
loop do
while pole[turn] == "o" || pole[turn] == "x"
turn = rand(1..9)
end
pole[turn] = "o"
lastplayer = "AI"
end
end