Sha256: d83b3d8174478671fd38abf626d3af048c6ba31de35d40d97a0eb4da69c2693b

Contents?: true

Size: 699 Bytes

Versions: 9

Compression:

Stored size: 699 Bytes

Contents

# encoding: utf-8
# frozen_string_literal: true

# Das Interface sollte von einem Client implementiert werden, damit er über das
# Gem an einem Spiel teilnehmen kann.
class ClientInterface
  # Wird automatisch aktualisiert und ist immer der Spielzustand des aktuellen Zuges.
  attr_accessor :gamestate

  # Wird aufgerufen, wenn der Client einen Zug machen soll. Dies ist der
  # Einstiegspunkt für die eigentliche Logik des Computerspielers. Er muss auf
  # Basis des Spielzustandes entscheiden, welchen Zug er machen möchte und diese
  # zurückgeben.
  #
  # @return [Move] Ein für den aktuellen Spielzustand gültiger Spielzug.
  def move_requested
    raise 'Not yet implemented'
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
software_challenge_client-22.1.0.1 lib/software_challenge_client/client_interface.rb
software_challenge_client-22.1.0 lib/software_challenge_client/client_interface.rb
software_challenge_client-22.0.3 lib/software_challenge_client/client_interface.rb
software_challenge_client-22.0.2 lib/software_challenge_client/client_interface.rb
software_challenge_client-21.2.0 lib/software_challenge_client/client_interface.rb
software_challenge_client-21.1.0 lib/software_challenge_client/client_interface.rb
software_challenge_client-21.0.2 lib/software_challenge_client/client_interface.rb
software_challenge_client-21.0.1 lib/software_challenge_client/client_interface.rb
software_challenge_client-21.0.0 lib/software_challenge_client/client_interface.rb