第一个游戏

# -*- coding:utf-8 -*-
from sys import exit
import random

#定义全局变量			
knife = '' 
skill = ''
sanban = False
snake = False
def win():
	print"\n\n\n------------------\n恭喜你通过了这么小概率的胜利游戏,手气不错去买点caipiao吧。[撒花][撒花]\n\n"
	exit(0)
def snakesay():
	print"就你这样的实力,根本用不上蓝染大人出面,我就可以轻松解决你。\n\n"
	print"神枪!\n\n"
	print".............\n\n\n\n"
	print"昏迷....\n\n"
def lanran_dead():
	a = raw_input("输入任意字符释放鬼道。\n>")
	print"\n\n“破道之九十六 一刀火葬!”\n\n"
	print"................\n"
	print"蓝染:你居然可以无吟唱使用如此高段的鬼道,是小看你了。\n"
	print"蓝染 卒。\n"
	win()
def lanran_lock():
	a = raw_input("输入任意字符释放鬼道。\n>")
	print"\n\n“破道之九十 黑棺!”\n\n"
	print"................\n"
	print"我的身体...怎么可能...!\n\n"
	print"是浦原喜助干的吧.....最后还是栽在这个男人的手上。\n"
	print"不过封印我只是暂时的,我迟早会回来的。"
	print"等着吧,黑崎一护。"
	print"\n\n\n\n“蓝染惣右介,你现在被判20000年徒刑,收押在尸魂界一番队底下最深处的第八狱无间地狱!”"
	win()
def lanran_win():
	a = raw_input("输入任意字符释放鬼道。\n>")
	global skill
	print"\n\n"
	print skill ,"!\n\n"
	print"................\n"
	print"“雕虫小技。”\n\n\n"
	print"黑崎一护,从你出生开始我就关注着你,我彻底了解了浦原喜助的过去,知道了撸起雅身体里有崩玉。"
	print"于是我安排了你和她的相遇,也就是说,你至今为止的行动和成长,都在我的计划之中。"
	print"我很好奇你能成什么样子,所以一直没有将你除掉,就像市丸银,他也是一心想杀了我。"
	print"最后他的确也动手了,不过一个人再努力,也无法和神作对,他对我的行动反而让我更加强大。"
	print"然后我没有遗憾的将他杀掉,就像踩死一个虫子一样简单。"
	print"\n\n这就是和神作对的下场。\n\n"
	zq_dead()
	
#引擎 
class Engine(object):
	
	def __init__(self, scene_stage):
		self.scene_stage = scene_stage
	
	def play(self):
		playing = self.scene_stage.opening_scene()
		
		while True:
			print"\n---------------------"
			m = playing.enter()
			playing = self.scene_stage.next_scene(m)
			
#开始程序
def zq_start():
	print"-------------------------------------\n"
	print"我是黑崎一护,今年是个宝宝。不,是个高中生,因为撸起雅,我成了代理死神。"
	print"我的故事你应该晓得。"
	print"现在的故事背景是,我被夺去了斩魄刀,诸位队长也正陷入苦战"
	print"面前出现两个柜子和五个场景,必须找回斩魄刀,帮助队长们取得战斗胜利"
	print"最后找到蓝染并且将他击杀。"
	print"柜子分别为:R9、R0"
	print"场景分别是:FireHouse SilverSnake YellowCat BlackTear GodGlass"
	print"\n【直接输入准确名称尝试打开柜子或者进入场景】"
	zq()

#死亡程序
def zq_dead():
	print"你死亡了。"
	print"\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\n\n"
	exit(0)

#输入错误指示程序
def zq_no():
	print"请按照提示准确输入你丫。"
	zq()

#火房子 	
class FireHouse(object):
	
	def enter(self):
		global sanban
		if sanban is False:
			print"我是山本元柳斋重国,请帮助我找回我的斩魄刀。"
			print"a:帮助 b:离开"
			action = raw_input(">")
			
			if action == 'a':
				print"a:参加战斗 b:发动嘴遁"
				actions = raw_input(">")
				if actions == 'a':
					if knife == '流刃若火':
						print"元柳斋重国:你本不应该卷入死神的战争中的。还是谢谢你。"
						sanban = True
						zq()
					else:
						zq_dead()
				elif actions == 'b':
					print"你被山本打了。"
					zq_dead()
					
			elif action == 'b':
				zq()
			else :
				zq_no()
		else:
			print"你已经帮助我找回了流刃若火,请去帮助其他队长。"
			zq()

#银蛇			
class SilverSnake(object):
	
	def enter(self):
		print"蓝染大人不在,但是你可以随时来挑战我。"
		print"a:挑战 b:离开"
		action = raw_input(">")
		
		if knife == '天锁斩月':
			if action == 'a':
				snakesay()
				global snake
				snake = True
				zq()
			elif action == 'b':			
				print"要是你父亲,才不会这样选择离开。"
				zq()
			else:
				zq_no()
		
		else :
			if action == 'a':
				print"实力不够,无法战胜"
				zq_dead()
					
			elif action == 'b':			
				print"等你学会卍解再来找我吧。"
				zq()
			
			else :
				zq_no()

#黄喵	
class YellowCat(object):
	
	def enter(self):
		print"葛力姆乔·贾卡杰克:  好久不见,黑崎一护。让我们来干一架吧!"
		zq()

#黑泪		
class BlackTear(object):

	def enter(self):
		print"乌尔奇奥拉·西法:黑崎?你来做什么。"
		zq()
		
#上帝眼镜		
class GodGlass(object):
	
	def enter(self):
		global sanban
		global snake 
		if sanban is True and snake is True:
			print"蓝染:我已经等候多时了。\n\n"
			global skill
			if skill == "破道之九十六 一刀火葬":
				lanran_dead()
			elif skill == "破道之九十 黑棺":
				lanran_lock()
			else:
				lanran_win()
		else:
			print'这个场景是空的。'
			zq()
				
#“鬼道”列表
R9 = [
	"破道之九十六 一刀火葬","破道之九十 黑棺",
	"破道之八十八 飞龙击贼震天雷炮",
	"破道之八十八 飞龙击贼震天雷炮",
	"破道之七十八 斩华轮","破道之七十三 双莲苍火坠",
	"破道之六十七 雷鸣散","破道之六十三 雷吼炮",
	"破道之五十八 阗岚","破道之五十七 大地转踊","破道の三十二 黄火闪",
	"破道之五十四 废炎","破道の三十三 苍火坠","破道の三十三 苍火坠",
	"破道の三十二 黄火闪","破道の三十一 赤火炮","破道の三十一 赤火炮",
	"破道の二十六 红焰塞","破道の二十 照天球","破道の三十一 赤火炮",
	"破道の十二 伏火","破道の十一 缀雷电""破道の四 白雷","破道の四 白雷",
	"破道の四 白雷","破道の一 冲","破道の一 冲","破道の一 冲"
	]

#“斩魄刀”列表
R0 = [
	 "红姬","豹王","严灵丸","雀蜂","五形头",
	 "五形头","清虫","千本樱","花天狂骨","黑翼大魔",
	 "流刃若火",
	 "镜花水月",
	 "斩月",
	 "天锁斩月",
	 "神枪","侘助","千本樱","花天狂骨","清虫",
	 "冰轮丸","灰猫","双鱼理","袖白雪","天狗丸",
	 "一文字", "群狼","髑髅大帝","黑翼大魔","豹王"
	 ]		
	
class r9(object):
	def enter(self):
		action = random.choice(R9)
		print"精通鬼道:",action
		global skill
		skill = action
		zq()
		
class r0(object):
	def enter(self):
		action = random.choice(R0)
		print"获得斩魄刀:",action
		global knife
		knife = action
		zq()

class rzq(object):
	def enter(self):
		global sanban
		global snake
		global skill
		sanban = True
		snake = True
		c = raw_input(">")
		if c == '1':
			skill = "破道之九十六 一刀火葬"
		elif c == '2':
			skill = "破道之九十 黑棺"
		else:	
			skill = "破道之八十八 飞龙击贼震天雷炮"
		zq()
		
#输入与对应的stage字典
class Stage(object):
	
	scenes = {
		'FireHouse':FireHouse(),
		'SilverSnake':SilverSnake(),
		'YellowCat':YellowCat(),
		'BlackTear':BlackTear(),
		'GodGlass':GodGlass(),
		'R9':r9(),
		'R0':r0(),
		'Rzq':rzq()
	}
	
	def __init__(self, start_scene):
		self.start_scene = start_scene
	
	def next_scene(self, scene_name):
		return Stage.scenes.get(scene_name)
	
	def opening_scene(self):
		return self.next_scene(self.start_scene)

#zq()
def zq():
	print"\n"
	action = str(raw_input("\n>"))
	check = Stage.scenes.has_key(action)
	if(check == True):
		a_stage = Stage(action)
		a_game = Engine(a_stage)
		a_game.play()
	else:
		zq_no()

	
	
try:
	zq_start()
except EOFError:


你可能感兴趣的:(第一个游戏)