Почему мои блоки не переместятся вправо в ruby 2d? - PullRequest
0 голосов
/ 11 апреля 2020

Итак, я пытаюсь скопировать игровой укладчик в ruby2d. Я нарисовал три моих начальных блока на экране, но у меня возникли проблемы с их перемещением вправо, когда игра началась.

здесь - начало класса (в основном, здесь, чтобы показать начальную позицию блоки). Я пропустил ту часть класса, где я рисую квадраты, но знаю, что она включена в код.

require 'ruby2d'
set fps_cap: 1
set title: 'Stacker'

set background: 'blue'
GRID_SIZE = 40

#width = 640/ 40 = 16
#height = 480/ 40 = 12


# Create a class that is the starting position of three centered blocks along the bottom of the screen
class Blocks
  def initialize
    @positions = [[6,11], [7,11], [8,11]]
    @direction = 'right'
  end

#draw the actual blocks on the screen
  def draw
    @positions.each do |position|
      Square.new(x: position[0] * GRID_SIZE, y: position[1] * GRID_SIZE, size: GRID_SIZE - 1, color: 'white')
    end
  end

#move the blocks right first and then have them bounce off the wall and move the opposite direction
#Have the blocks stop moving when I hit the spacebar
#Have the blocks fall if they are not places above a previouslt place block or the bottom floor
  def move
    @positions.shift

    case @direction
    when 'right'
      @positions.push(head[0] + 1, head[1])
    when 'left'
      @positions.push(first[0] - 1, first[1])
    end
  end

  private

#define the right side of the blocks
  def head
    @positions.last
  end
#define the left side of the blocks
  def first
    @positions.first
  end
end
#create an instance variable of the blocks to start the game
blocks = Blocks.new

#during each frame of the game clear the previously drawn blocks and then re-draw them into their
#moved position
update do
  clear

  blocks.draw
  blocks.move
end
#When the spacebar is pressed, stop the blocks from moving
on :key_down do |event|
end


show

Просто я хочу, чтобы мои три блока двигались вправо, пока они не коснутся края окна. прямо сейчас они просто перемещаются в верхний левый угол окна (0,0). Любая помощь с благодарностью

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...