エラー文
E:/zairyo.rb:163: syntax error, unexpected $end, expecting']'(SyntaxError)
というエラー文が出ています。
zairyo.rbというのは、このファイルのことです。
いつもお世話になっております。
今回このようなエラーが出たのですが、どこがいけないのかがよくわかりません。
多分endの数が多いとか少ないとかだと思うのですが、自分が見たところ間違いが見つかりません。
ruby
1 #!ruby -Ks 2require "./window2" 3require "./syujinko" 4require "./item" 5 6def hit?(syujinko,baikin) 7 diffx = syujinko.centerX - baikin.centerX 8 diffy = syujinko.centerY - baikin.centerY 9 if (diffx > -30) and (diffx < 50) and (diffy > -20) and (diffy < 50) 10 return true 11 else 12 return false 13 end 14end 15def clicked?(x,y,baikin) 16 diffx = x - baikin.centerX 17 diffy = y - baikin.centerY 18 if (diffx > -20) and (diffx < 20) and (diffy > -20) and (diffy < 20) 19 return true 20 else 21 return false 22 end 23end 24 25def gameOver(window,syujinko) 26 window.drawEndBack 27 syujinko.draw 28 window.refresh 29 sleep 5 30 exit 31end 32 33def checkScore(window,score) 34 if score >= 200 35 window.drawEndClear 36 window.refresh 37 sleep 3 38 exit 39 end 40end 41 42 43window = Window.new 44syujinko = Syujinko.new(window,Window::WINDOW_WIDTH/2,Window::SKYLINE) 45baikin1 = Baikin.new(window) 46baikin2 = Baikin.new(window) 47baikin3 = Baikin.new(window) 48wakame = Wakame.new(window) 49tenpura = Tenpura.new(window) 50tamago = Tamago.new(window) 51sitimi = Sitimi.new(window) 52negi = Negi.new(window) 53remon = Remon.new(window) 54kamaboko = Kamaboko.new(window) 55tenkasu = Tenkasu.new(window) 56syouga = Syouga.new(window) 57 58score = 0 59clickCount = 0 60 61topping = [wakame,tenpura,tamago,sitimi,negi,remon,kamaboko,tenkasu,syouga] 62tpg1 = topping[#{rand(8)}] 63tpg2 = topping[#{rand(8)}] 64tpg3 = topping[#{rand(8)}] 65tpg4 = topping[#{rand(8)}] 66 67 68 69while true do 70 time = window.getTime 71 while event = SDL::Event2.poll do 72 case event 73 when SDL::Event2::Quit 74 exit 75 when SDL::Event2::MouseButtonDown 76 x = event.x 77 y = event.y 78 isClickedBaikin1 = clicked?(x,y,baikin1) 79 isClickedBaikin2 = clicked?(x,y,baikin2) 80 isClickedBaikin3 = clicked?(x,y,baikin3) 81 if isClickedBaikin1 or isClickedBaikin2 or isClickedBaikin3 82 gameOver(window,syujinko) 83 end 84 isClickedTpg1 = clicked?(x,y,tpg1) 85 isClickedTpg2 = clicked?(x,y,tpg2) 86 isClickedTpg3 = clicked?(x,y,tpg3) 87 isClickedTpg4 = clicked?(x,y,tpg4) 88 if isClickedTpg1 89 score = score + tpg1.getScore 90 clickCount = clickCount + 1 91 tpg1.reset 92 checkScore(window,score) 93 end 94 if isClickedTpg2 95 score = score + tpg2.getScore 96 clickCount = clickCount + 1 97 tpg2.reset 98 checkScore(window,score) 99 end 100 if isClickedTpg3 101 score = score + tpg3.getScore 102 clickCount = clickCount + 1 103 tpg3.reset 104 checkScore(window,score) 105 end 106 if isClickedTpg4 107 score = score + tpg4.getScore 108 clickCount = clickCount + 1 109 tpg4.reset 110 checkScore(window,score) 111 end 112 end 113 end 114 115 SDL::Key.scan 116 if SDL::Key.press?(SDL::Key::A) 117 syujinko.moveLeft 118 end 119 if SDL::Key.press?(SDL::Key::F) 120 syujinko.moveRight 121 end 122 123 window.drawBack 124 syujinko.draw 125 baikin1.drop 126 baikin2.drop 127 baikin3.drop 128 tpg1.drop 129 tpg2.drop 130 tpg3.drop 131 tpg4.drop 132 if hit?(syujinko,tpg1) 133 score = score + tpg1.getScore 134 tpg1.reset 135 checkScore(window,score) 136 end 137 if hit?(syujinko,tpg2) 138 score = score + tpg2.getScore 139 tpg2.reset 140 checkScore(window,score) 141 end 142 143 if hit?(syujinko,tpg3) 144 score = score + tpg3.getScore 145 tamago.reset 146 checkScore(window,score) 147 end 148 if hit?(syujinko,tpg4) 149 score = score + tpg4.getScore 150 sitimi.reset 151 checkScore(window,score) 152 end 153 154 if hit?(syujinko,baikin1) or hit?(syujinko,baikin2) or hit?(syujinko,baikin3) or time < 0 155 gameOver(window,syujinko) 156 end 157 time2 = time.to_s.tr(' 0-9a-zA-Z',' 0-9a-zA-Z') 158 score2 = score.to_s.tr(' 0-9a-zA-Z',' 0-9a-zA-Z') 159 clickCount2 = clickCount.to_s.tr(' 0-9a-zA-Z',' 0-9a-zA-Z') 160 hyouji = "あなたの得点 #{score2}点 残りは#{time2}秒 (クリック#{clickCount2} 回)" 161 window.writeChar(hyouji) 162 window.refresh 163end
全文にしました。
お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/25 00:35
2016/07/25 01:01
2016/07/25 01:12
2016/07/25 01:29
2016/07/25 01:57
2016/07/25 02:00
2016/07/25 02:20