Me hubiese gustado que incluyera m谩s ejemplos de stub y Mock o al menos que explicara un poco de la documentaci贸n.
Introducci贸n
Lo que aprender谩s sobre Ruby
驴Qu茅 es Ruby? Ventajas y desventajas
Instalaci贸n de Ruby
Bases del lenguaje
Tipos de datos I: Integer, float
Tipos de datos II: Strings
Tipos de datos III: Symbols
Tipos de datos IV: Arrays
Tipos de datos V: Hashes
Uso de condicionales
Uso de ciclos
Rangos
Uso de Regex
Procs y lambdas
Programaci贸n Orientada a Objetos en Ruby Comenzando la creaci贸n de nuestra clase
Programaci贸n Orientada a Objetos en Ruby: M贸dulos
Programaci贸n Orientada a Objetos: Clases y Objetos
Concurrencia vs Paralelismo: Threads en Ruby
Bundler y gemas
Testing en Ruby
Testing con MiniTest
Diferencias entre Ruby 2.5 y 3
Proyecto
Introducci贸n al proyecto
Instalar Ruby 2D
Overview Ruby 2D
Arquitectura
Estructurando el proyecto
Vista b谩sica
Programando la base para los movimientos
Programando el movimiento de nuestro snake
Test de nuestras acciones
Implementando el timer del movimiento
Actualizando la vista
Preparando el cambio de direcci贸n
Recapitulaci贸n de la arquitectura
Moviendo la serpiente con el teclado
Creciendo la serpiente y programando la condici贸n de derrota
Generando comida aleatoria: uso de rand y stub en pruebas
Condici贸n de salida y conclusiones
Retos del curso
A煤n no tienes acceso a esta clase
Crea una cuenta y contin煤a viendo este curso
Aportes 3
Preguntas 0
Me hubiese gustado que incluyera m谩s ejemplos de stub y Mock o al menos que explicara un poco de la documentaci贸n.
Y cuando la comida aparece donde ya est谩 la serpiente?
def self.new_food(grid, state)
pos = [rand(grid.rows), rand(grid.cols)]
pos = [rand(grid.rows), rand(grid.cols)] while state.snake.positions.include? pos
food = Game::Food.new(*pos)
state.food = food
end
test
def test_generate_food
@inital_state =
Model::State.new(
Model::Snake.new(
Model::Coord.new(1, 1),
Model::Coord.new(0, 1)
),
Model::Food.new(2, 1),
Model::Grid.new(8, 12),
Direction::DOWN,
false
)
expected_state =
Model::State.new(
Model::Snake.new(
Model::Coord.new(2, 1),
Model::Coord.new(1, 1),
Model::Coord.new(0, 1)
),
Model::Food.new(0, 0),
Model::Grid.new(8, 12),
Direction::DOWN,
false
)
Actions.stub(:rand, 0) do
actual_state = Actions::move_snake(@initial_state)
assert_equal expected_state, actual_state
end
end
actions
def generate_food(state)
new_food = Model::Food.new(rand(state.grid.rows), rand(state.grid.cols))
state.food = new_food
state
end
def self.position_is_food(state, next_position)
state.food.row == next_position.row && state.food.col == next_position.col
end
def self.grow_snake(state, next_position)
new_snake = [next_position] + state.snake
state.snake = new_snake
state
end
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.