Sha256: c9d90ee77cd5f8aa83e36c43f1e14fac26b2dba2625667d67e3fc698b07820f3

Contents?: true

Size: 1.75 KB

Versions: 2

Compression:

Stored size: 1.75 KB

Contents

require 'monotony/square'

module Monotony

	# A chance square.
	class Chance < Square

		# @param [Hash] opts
		# @option opts [String] :name The name of the square. As chance squares are traditionally all called 'Chance', in the default layout we are calling these squares 'Chance 1', 'Chance 2', etc.
		def initialize(opts)
			@name = opts[:name]
			@action = Proc.new do |game, owner, player, property|
				this_chance = game.chance
				puts '[%s] Drew a chance: %s' % [ player.name, this_chance ]

				case this_chance
				when /Go to jail/
				when 'Go back three spaces'
					moved_to = player.move(-3)
					puts '[%s] Moved back to %s' % [ player.name, moved_to ]
				when 'Take a trip to Marylebone Station'
					player.move('Marylebone Station')
				when 'Advance to Mayfair'
					player.move('Mayfair')
				when 'Advance to Trafalgar Square'
					player.move('Trafalgar Square')
				when 'Advance to GO'
					player.move('GO')
				when 'Advance to Pall Mall'
					player.move('Pall Mall')
				when /Your building loan matures/
					game.pay_player(player, 100)
				when /Speeding fine/
					player.pay(:free_parking, 15, 'speeding fine')
				when /school fees/
					player.pay(:free_parking, 150, 'school fees')
				when /Bank pays you/
					game.pay_player(player, 50)
				when /Drunk in charge/
					player.pay(:free_parking, 50, 'being drunk in charge')
				when /crossword/
					game.pay_player(player, 100)
				when /general repairs/
					player.pay(:free_parking, (25 * player.num_houses) + (100 * player.num_hotels), 'general repairs')
				when /street repairs/
					player.pay(:free_parking, (40 * player.num_houses) + (115 * player.num_hotels), 'street repairs')
				when /jail free/
					player.jail_free_cards = player.jail_free_cards + 1
				end
			end
		end
	end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
monotony-0.0.2 lib/monotony/chance.rb
monotony-0.0.1 lib/monotony/chance.rb