LJZN

每天更新Rails练习项目到Github~

» Home
» Category
» About Me
» Github

45制作一个游戏

05 Jul 2016 » LRTHW

一个小游戏

@debt = 0
@i = 0
@identity = "初出茅庐"

def game()

	@identity = "久经沙场" if @debt > 0
	puts "这里是硅谷。"
	puts "你是一位#{@identity}的创业者。"
	puts "怀揣10万美元开始创业项目。"
	puts "游戏一旦开始就只有两种结局:"
	puts "成为千万富翁,或是血本无归。"
	puts " "
	puts "按Enter确认开始。"
	print "> "
	$stdin.gets
	money = 10

	while money < 1000 && money > 0 
		winrate = rand(50..80).to_f
		profile = 200/winrate.to_i
		@i += 1
		puts "第#{@i}个项目,成功率#{winrate}%,收益#{profile}倍。"
	
		finish = false
		until finish
			puts "请输入你要投入的金额,"
			puts "0~#{money}万元,全部投入请输入'a'。"
			print "> "
		
			g = $stdin.gets.chomp
			if	g.to_i == 0
				if g == 'a'
					invest = money
				elsif g == ''
					invest = 0
				else 
					next
				end
			else
				invest = g.to_i
			end
		
			if invest == 0
				puts "深思熟虑之后,你没有投入这个项目。"
				print "[Enter]> "
				$stdin.gets
				finish = true
			elsif invest > money
				puts "抱歉,你没有那么多钱。"
			elsif invest < 0
				puts "你在逗我吗。"
			else
				money = money - invest	
				if winrate >= rand(1..100)
					puts "创业成功,你得到了#{income = profile * invest}万美元回报。"
					puts "现在你有#{money = money + income}万美元。"
					print "[Enter]> "
					$stdin.gets
				else
					puts "创业失败,你还剩下#{money}万美元。"
					print "[Enter]> "
					$stdin.gets
				end
				finish = true	
			end
		end
	
		puts " "
	
	end

	if money >= 1000 - @debt
		puts "Congratulations! 经历过#{@i}个项目之后,你成为了千万富翁。"
	else
		puts "Good job! 你输得裤子都不剩。"
		print "[Enter]> "
		$stdin.gets
		answer = nil
		until ["yes", "no"].include?(answer)
			puts "目前你的债务是#{@debt}万美元,需要贷款吗?"
			print "[yes/no]> "
			answer = $stdin.gets.chomp
			if answer == "yes"
				@debt += 10
				game()
			elsif answer == "no"
				puts "再见。"
			end
		end
	end
end

game()

Related Posts