class GameController < ApplicationController
def index
@games = Game.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @games }
end
end
def start_game
session[:round] = 1
session[:points] = 0
@round = session[:round]
@points = session[:points]
end
def next_round
@round += 1
@points += 1200
end
def game_over
puts "Game Over."
end
def highscore
puts "Leaderboard action here."
end
def generate_round
numbers = Array.new(6){rand(9)}
@addition = []
@display = numbers
numbers.inject do |s, i|
@addition << s + i
@addition.last
end
end
def new
start_game
generate_round
puts @points
puts @round
if session[:addition]
if not session[:addition].index(params[:guess].to_i).nil?
puts "Correct."
next_round
else
game_over
puts "Wrong anwser."
highscore
end
end
session[:addition] = @addition
respond_to do |format|
format.html
end
end
end
Привет, ребята, так что я пытаюсь построить простую игру в рельсах.
Его предпосылка состоит в том, чтобы добавить все числа в вашей памяти и набрать наибольшую сумму, которую вы можете в течение предопределенного срока.
Сейчас я могу сгенерировать числа и проверить правильность ответов, однако я не знаю, как зациклить метод так, чтобы точки начислялись после каждого успешного раунда.
Я предполагаю, что проблема в том, что для каждого экземпляра "new" он снова устанавливает метод start_game, таким образом обнуляя точки и снова округляя?