Настройка двух игроков в игре - PullRequest
0 голосов
/ 07 сентября 2011

Сейчас я пытаюсь создать базовую игру в крестики-нолики.Перед тем, как начать программировать ИИ, я хотел настроить игру с двумя игроками-людьми и добавить компьютер позже.Я не совсем уверен, что лучший способ настроить запрос нескольких игроков, хотя.(Мой код написан на Ruby)

num_of_users = 2

player1 = User.new
player2 = User.new
cpu = AI.new

if turn
  # player1 stuff
  turn = !turn
else
  # player2 stuff
  turn = !turn
end

Это прекрасно работает для двух игроков, но я не знаю, как это настроить, когда я хочу играть против ИИ.Может ли кто-нибудь помочь мне с наилучшим способом решения этой проблемы?

1 Ответ

3 голосов
/ 07 сентября 2011

Использование чисел в качестве суффиксов в именах переменных обычно является признаком того, что вам нужен массив вместо этого.

players = []
players[0] = User.new
players[1] = User.new # or AI.new

current_player = 0
game_over = false

while !game_over do
  # the User#make_move and AI#make_move method are where you
  # differentiate between the two - checking for game rules
  # etc. should be the same for either.
  players[current_player].make_move

  if check_for_game_over
    game_over = true
  else
    # general method to cycle the current turn among
    # n players, and wrap around to 0 when the round 
    # ends (here n=2, of course)
    current_player = (current_player + 1) % 2
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...