マトリックス内の卵の特定の位置を与える。ターゲットの行、列、および対角線のすべての卵を合計する必要があります。
- 卵 -> 1
- 空 -> 0
私は、パラメーターとして卵の位置を渡すegg_performanceというメソッドを実行しました。この方法では、行、列、およびすべての対角線を計算します。行と列に問題はありません。対角線を合計するとき、このコードを使用しました (これは、現在の卵を基準として第 2 象限のみを対象としています)。
# Second quadrant of the diagonals of the egg
x = egg_x - 1
y = egg_y - 1
while x >= 0 && x < egg_x || y >= 0 && y < egg_y
performance += 1 if @carton[y][x] == 1
x -= 1
y -= 1
end
このコードを実行すると、エラーが表示されます。範囲外のエラーだと思いますが、見つかりません。
./carton.rb:73:in `egg_performance': undefined method `[]' for nil:NilClass (NoMethodError)
from ./carton.rb:20:in `generate_random'
from main.rb:5
私はそれをした方法が好きではありません。それを行うためのより良いルビーの方法はありますか?
お時間をいただきありがとうございます。