猫史档案馆


【求助贴】一个python文字游戏框架

用户:lsk666666lsk666666查看:0 回复:0 评论:0 创建时间:2020-07-25T20:09:27


前一阵想写一个文字游戏框架,已经写了一部分了,然后我又懒得搞下去了,在这里把代码开放,希望有人帮我把这个程序写完!!!

import xml.sax

variables = {}
dialogs = {}
class Dialog:
	def __init__(self):
		self.name = ""
		self.say = ""
		self.answers = {}
	def getName(self):
		return self.name
	def getSay(self):
		return self.say
	def getAnswers(self):
		return self.answers
	def setName(self,name):
                self.name = name
        def setSay(self,say):
                self.say = say
        def setAnswers(self,answers):
                self.answers = answers
	def addAnswer(self,answer):
		self.answers.append(answer)
class Variable():
	def __init__(self,name,value):
		self.name = name
		self.value = value
	def set(self,value):
		self.value = value
	def get(self):
		return self.value
class Answer():
	def __init__(self,name,executeOn,do):
		self.name = name
		self.executeOn = executeOn
		self.do = do
	def executOn(self):
		return self.executeOn
	def getDo(self):
		return self.do
class Do():
	def __init__(self):
		pass
	def execute(self):
		pass

class Say(Do):
	def __init__(self,text):
		self.text = text
	def execute(self):
		print(self.text)

class Jump(Do):
	def __init__(self,targetDialogId):
		self.targetDialogId = targetDialogId
	def execute(self):
		executeDialog(dialogs[targetDialogId])

class Win(Do):
        def __init__(self,text):
                self.text = text
        def execute(self):
                print(self.text)
		exit(0)

class Loss(Do):
        def __init__(self,text):
                self.text = text
        def execute(self):
                print(self.text)
		exit(1)

class Parser(xml.sax.ContentHandler):
	def __init__(self):
		self.dialogs = []
		self.variables = {}
		self.currentDialogId = 0
	def startElement(self,tag,attributes):
		if tag == "variable":
			name = attributes["name"]
			value = attributes["value"]
			variable = Variable(name,value)
			self.variables[name] = variable
		elif tag == "dialog":
			dialog = Dialog()
			self.dialogs.append(dialog)
			self.currentDialogId = self.dialogs.index(dialog)
		elif tag == "answer":
			answer = Answer
def parse(gamefile):
	

def execute(gamefile):
	variables,dialogs = parse(gamefile)


回复

上一页1 页 / 共 0下一页