Class: Sc2::Player::Computer

Inherits:
Sc2::Player show all
Defined in:
lib/sc2ai/player.rb

Overview

A Computer opponent using the game’s built-in AI for a Match

Instance Attribute Summary

Attributes included from GameState

#chats_received, #data, #game_info, #game_info_loop, #game_loop, #observation, #result, #spent_minerals, #spent_supply, #spent_vespene, #status

Instance Method Summary collapse

Methods included from GameState

#common, #game_info_stale?, #on_status_change

Methods included from Connection::StatusListener

#on_status_change

Constructor Details

#initialize(race:, difficulty: Api::Difficulty::VeryEasy, ai_build: Api::AIBuild::RandomBuild, name: "Computer") ⇒ Sc2::Computer

Parameters:

  • race (Integer)

    (see Api::Race)

  • difficulty (Integer) (defaults to: Api::Difficulty::VeryEasy)

    see Api::Difficulty::VeryEasy,Api::Difficulty::VeryHard,etc.)

  • ai_build (Api::AIBuild::RandomBuild) (defaults to: Api::AIBuild::RandomBuild)

    (see Api::AIBuild)

  • name (String) (defaults to: "Computer")

Raises:



436
437
438
439
440
441
442
443
444
# File 'lib/sc2ai/player.rb', line 436

def initialize(race:, difficulty: Api::Difficulty::VeryEasy, ai_build: Api::AIBuild::RandomBuild,
  name: "Computer")
  difficulty = Api::Difficulty::VeryEasy if difficulty.nil?
  ai_build = Api::AIBuild::RandomBuild if ai_build.nil?
  raise Error, "unknown difficulty: '#{difficulty}'" if Api::Difficulty.lookup(difficulty).nil?
  raise Error, "unknown difficulty: '#{ai_build}'" if Api::AIBuild.lookup(ai_build).nil?

  super(race:, name:, type: Api::PlayerType::Computer, difficulty:, ai_build:)
end

Instance Method Details

#requires_client?Boolean

Returns whether or not the player requires a sc2 instance

Returns:

  • (Boolean)

    false always for Player::Computer



448
449
450
# File 'lib/sc2ai/player.rb', line 448

def requires_client?
  false
end