我只是想使用 ruby​​ 2d,但它没有显示任何输出

问题描述

我需要在我的代码中使用“ruby2d”并编写一个简单的程序来构建我的蛇游戏。我试图让程序在屏幕上弹出一个窗口。这是我的代码

require 'ruby2d'

set background: 'navy'

#width = 640 / 20 =32
#height = 480 / 2- = 24
GRID_SIZE = 20

class Snake
    def init
        @positions = [[2,0],[2,1],2],3]]
    end

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

snake = Snake.new
snake.draw
show

我还在终端中运行命令 gem install ruby​​2d ,它给了我这个错误

Fetching ruby2d-0.10.0.gem
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

解决方法

您的代码可以正常工作,但您需要检查以下几点:

  1. 检查您的 ruby​​ 环境是否运行正常,rbenv 可能是一个很好的解决方案,我在 ruby​​ 2.5.0 下运行您的代码
  2. 我在您的代码中看到的主要问题是构造函数需要是 initialize 而不是 init