Class: Rubygoal::MyCoach
- Defined in:
- lib/rubygoal/coaches/template.rb,
lib/rubygoal/coaches/template.rb
Overview
Gran parte de la gracia de este juego está en hacer cambios en la formación a medida que va transcurriendo el partido
La instancia de match que recibe el método formation contiene información sobre el partido y el rival de turno
Veamos un ejemplo
Instance Method Summary collapse
-
#formation(match) ⇒ Object
Este método debe devolver una instancia de Formation indicando como se tienen que parar los jugadores en la cancha.
-
#name ⇒ Object
Indica el nombre del equipo Debe retornar un string.
Instance Method Details
#formation(match) ⇒ Object
Este método debe devolver una instancia de Formation indicando como se tienen que parar los jugadores en la cancha
Este método es invocado constantemente (varias veces por segundo) proporcionando información de como va el partido utilizando el parámetro match
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/rubygoal/coaches/template.rb', line 22 def formation(match) formation = Formation.new # La clase Formation tiene varios helpers para ayudar a definir la # formación del equipo # # La cancha se divide en una matriz de 5 por 5 # # ------------------------------ # | N N N N N | # | | # | N N N N N | # A | | A # R | N N N N N | R # C | | C # O | N N N N N | O # | | # | N N N N N | # ------------------------------ # # Esto es un ejemplo que posiciona jugadores en columnas de la matriz # # Los tipos de jugadores válidos son :average, :fast, :captain # Se usa :none para las posiciones que no se usen en la línea # # Restricciones: # Exactamente un :captain # Exactamente tres :fast # Exactamente seis :average # # :captain -> Este jugador es el más rápido y preciso del equipo # :fast -> Estos jugadores son más rápidos que los demás (aunque más lentos que # el capitán del equipo) # :average -> Estos jugadores completan el equipo # # El arquero no hay que especificarlo, ya viene incluido por defecto formation.defenders = [:none, :average, :average, :average, :none] formation.midfielders = [:average, :fast, :captain, :none, :average] formation.attackers = [:none, :fast, :none, :fast, :average] # Esto produce la siguiente alineación # # ------------------------------ # | N N A N N | # | | # | A N F N F | # A | | A # R | A N C N N | R # C | | C # O | A N N N F | O # | | # | N N A N A | # ------------------------------ formation end |
#name ⇒ Object
Indica el nombre del equipo Debe retornar un string
12 13 14 |
# File 'lib/rubygoal/coaches/template.rb', line 12 def name "My team name" end |