に期待して使用して、このコードは、ちょうど私の全体のプログラムを実行し、私はなぜわかりません。私は含まれています:せて、現時点ではRSpecの
if __FILE__ == $0
game = Game.new("Harry", "Nick")
end
私のスクリプトでは、まだ全体のプログラムの実行を開始します。私の目標は#playersというインスタンスメソッドを使ってプレーヤーの名前を表示することです。私が今までに一番近かったのはlet(:game)を使っていますが、それはすべて、プレイヤーの名前の代わりにゲームを印刷したというテストには失敗しました。今はスクリプトを実行しているだけなので、失敗することさえできません。ここに含まれて実行されます
require "tictactoe"
describe Game do
describe "#players" do
let(:game) do
new_game = Game.new("Harry", "Nick")
new_game.players
end
it "displays player names" do
expect(game).to eq("Player 1: #{@player1}\nPlayer 2: #{@player2}")
end
end
end
ゲームクラス:
class Game
def initialize(player1, player2)
@player1 = player1
@player2 = player2
@rows = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
@wins = [1, 2, 3], [4, 5, 6], [7, 8, 9],
[1, 4, 7], [2, 5, 8], [3, 6, 9],
[1, 5, 9], [3, 5, 7]
@selected_numbers = []
@counter = 0
game_board
start_player1
end
def players
puts "Player 1: #{@player1}"
puts "Player 2: #{@player2}"
end
def game_board
@rows.each do |r|
puts r.each { |c| c }.join(" ")
end
end
def start_player1
puts "#{@player1}: Please enter a number for your X to go"
player1_input = STDIN.gets.chomp
locate_player1_input(player1_input)
end
私たちは占い師ではないので、実際に実行されるコードは、何が起こっているか理解するために私たちを助けるかもしれません。 'tictactoe.rb'を投稿してください。 – mudasobwa