Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'colorize'
- class Player
- def initialize(name)
- @name = name
- @starting_life = 3
- @starting_points = 0
- end
- def lose_life
- @starting_life -= 1
- end
- def gain_points
- @starting_points += 1
- end
- def random_number
- @first_number = rand(1..20)
- @second_number = rand(1..20)
- end
- def question
- puts "#{@name} what does #{@first_number} + #{@second_number} equals to?"
- end
- def player_answer
- @answer = gets.chomp.to_i
- end
- def match?
- @answer == @first_number + @second_number
- end
- def is_right
- if match? == true
- puts "Great job!".colorize(:green)
- gain_points
- else
- puts "You lost a point!".colorize(:red)
- lose_life
- end
- end
- def life
- @starting_life
- end
- def points
- @starting_points
- end
- def name
- @name
- end
- end
- def player_creation
- puts "Player 1, please enter your name."
- name = gets.chomp
- @player1 = Player.new(name)
- puts "Player 2, please enter your name."
- name = gets.chomp
- @player2 = Player.new(name)
- end
- def game
- player_creation
- loop do
- @player1.random_number
- @player1.question
- @player1.player_answer
- @player1.match?
- @player1.is_right
- break if @player1.life == 0 || @player1.points == 3
- @player2.random_number
- @player2.question
- @player2.player_answer
- @player2.match?
- @player2.is_right
- break if @player2.life == 0 || @player2.points == 3
- puts "#{@player1.name} currently has #{@player1.points} points".colorize(:magenta)
- puts "#{@player1.name} currently has #{@player1.life} live(s)".colorize(:magenta)
- puts "#{@player2.name} currently has #{@player2.points} points".colorize(:cyan)
- puts "#{@player2.name} currently has #{@player2.life} live(s)".colorize(:cyan)
- end
- end
- game
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement