![]() |
#2
haoyunzk2020-08-28 18:32
|
只有本站会员才能查看附件,请 登录
这个代码写好了之后,完全自动运行让后关闭,为了查清楚在哪出问题 我又写了 一些print()进去 但是我学习的书上告诉我 类只有实例之后才能用 ,为啥我定义的类直接就自己运行了 就是写好的函数再没有调用之前也不可能自己运行吧?
![](zzz/editor/img/code.gif)
from sys import exit
from random import randint
from textwrap import dedent
print("从这里开始的?")
class Engine(object):
# 非得带object? Engine 意思是引擎 游戏的引擎
def __init__(self, fangjianming):
self.name = fangjianming
def play(self):
dqcj = self.name.dakai()
zzcj = self.name.xiayige('zuihou')
while dqcj != zzcj:
print("到这里了吗")
xiagechangjing = dqcj.enter() # dqcj就是获得的类名字 用xingechangjing 来实例化
dqcj = self.name.xiayige(xiagechangjing)
dqcj.enter()
print("从这里开始的?1")
class Fj1():
print("""这是第一个房间
这个房间你可以寻找到武器,
试着输入 xunzhao tuichu
""")
def enter(self):
choice = input("输入提示让你输入的>>>>> ")
if choice == "xunzhao":
print("你找到了一把枪")
return 'fj1'
elif choice == "tuichu":
print("你回到了走廊")
return 'zoulang'
else:
print("你说的什么啊?")
return 'fj1'
print("从这里开始的?2")
class Fj2():
print("""这是第二个房间
这个房间你可以寻找到炸弹,
试着输入 xunzhao tuichu
""")
def enter(self):
choice = input("输入提示让你输入的>>>>> ")
if choice == "xunzhao":
print("你找到了一个炸弹")
return 'fj2'
# 这里完善的时候可以加一个判断,如果已经找到炸弹 炸弹类里面的属性变为真,则输出不能再找到炸弹
elif choice == "tuichu":
print("你回到了走廊")
return 'zoulang'
else:
print("你说的什么啊?")
return 'fj2'
print("从这里开始的?3")
class Zoulang():
print("""这是一个走廊.
从这里你可以进入飞船上的房间,
试着输入 fj1 fj2 zoulang end
""")
def enter(self):
choice = input("输入提示让你输入的>>>>> ")
if choice == "fj1":
print("你走到了房间1的门前,准备进入")
return 'fj1'
# 这里完善的时候可以加一个判断,如果已经找到炸弹 炸弹类里面的属性变为真,则输出不能再找到炸弹
elif choice == "fj2":
print("你走到了房间2的门前,准备进入")
return 'fj2'
elif choice == "zuihou":
print("你不想玩了")
return 'zuihou'
else:
print("你说的什么啊?")
return 'zoulang'
print("从这里开始的?4")
class zuizhong():
print("你完成了整个游戏")
#exit(1)
print("从这里开始的?5")
class Map(object):
mapname = {
'fj1': Fj1(),
'fj2': Fj2(),
'zoulang': Zoulang(),
'zuihou': zuizhong(),
}
print("这里你总要运转到吧")
def __init__(self, start_name):
self.start_name = start_name
def xiayige(self, fangjianming):
val = Map.mapname.get(fangjianming)
return val
print("1",val)
def dakai(self):
return self.xiayige(self.start_name)
print("2",self.xiayige(self.start_name))
#a_test = Map('fj2')
print("zheli?")
#a_game = Engine(a_test)
print("haishizheli?")
#a_game.play
print("zuihouzheli?")
from random import randint
from textwrap import dedent
print("从这里开始的?")
class Engine(object):
# 非得带object? Engine 意思是引擎 游戏的引擎
def __init__(self, fangjianming):
self.name = fangjianming
def play(self):
dqcj = self.name.dakai()
zzcj = self.name.xiayige('zuihou')
while dqcj != zzcj:
print("到这里了吗")
xiagechangjing = dqcj.enter() # dqcj就是获得的类名字 用xingechangjing 来实例化
dqcj = self.name.xiayige(xiagechangjing)
dqcj.enter()
print("从这里开始的?1")
class Fj1():
print("""这是第一个房间
这个房间你可以寻找到武器,
试着输入 xunzhao tuichu
""")
def enter(self):
choice = input("输入提示让你输入的>>>>> ")
if choice == "xunzhao":
print("你找到了一把枪")
return 'fj1'
elif choice == "tuichu":
print("你回到了走廊")
return 'zoulang'
else:
print("你说的什么啊?")
return 'fj1'
print("从这里开始的?2")
class Fj2():
print("""这是第二个房间
这个房间你可以寻找到炸弹,
试着输入 xunzhao tuichu
""")
def enter(self):
choice = input("输入提示让你输入的>>>>> ")
if choice == "xunzhao":
print("你找到了一个炸弹")
return 'fj2'
# 这里完善的时候可以加一个判断,如果已经找到炸弹 炸弹类里面的属性变为真,则输出不能再找到炸弹
elif choice == "tuichu":
print("你回到了走廊")
return 'zoulang'
else:
print("你说的什么啊?")
return 'fj2'
print("从这里开始的?3")
class Zoulang():
print("""这是一个走廊.
从这里你可以进入飞船上的房间,
试着输入 fj1 fj2 zoulang end
""")
def enter(self):
choice = input("输入提示让你输入的>>>>> ")
if choice == "fj1":
print("你走到了房间1的门前,准备进入")
return 'fj1'
# 这里完善的时候可以加一个判断,如果已经找到炸弹 炸弹类里面的属性变为真,则输出不能再找到炸弹
elif choice == "fj2":
print("你走到了房间2的门前,准备进入")
return 'fj2'
elif choice == "zuihou":
print("你不想玩了")
return 'zuihou'
else:
print("你说的什么啊?")
return 'zoulang'
print("从这里开始的?4")
class zuizhong():
print("你完成了整个游戏")
#exit(1)
print("从这里开始的?5")
class Map(object):
mapname = {
'fj1': Fj1(),
'fj2': Fj2(),
'zoulang': Zoulang(),
'zuihou': zuizhong(),
}
print("这里你总要运转到吧")
def __init__(self, start_name):
self.start_name = start_name
def xiayige(self, fangjianming):
val = Map.mapname.get(fangjianming)
return val
print("1",val)
def dakai(self):
return self.xiayige(self.start_name)
print("2",self.xiayige(self.start_name))
#a_test = Map('fj2')
print("zheli?")
#a_game = Engine(a_test)
print("haishizheli?")
#a_game.play
print("zuihouzheli?")