The item() class holds the information of the item and also runs the item effect when it gets used. Constructor def __init__ ( self , command , name , cost , usage): self .effect = command self .name = name self .cost = cost self .usage = usage The effect holds the string name of the effect for the item, usage holds the value of the Effect . The rest are self-explanatory. EffectHandler() def effectHandler ( self , user: PlayableCharacter , equip= True ): #learned how to specify type of parameter. if equip: if self .effect == "Def" : user.defense = user.defense + self .usage elif self .effect == "AtkPhy" or self .effect == "AtkMag" : user.attack = user.attack + self .usage else : if self .effect == "hp" : user = self .healing(user) return user This handles the effects of the item when it is used. If equip is true then it will check for the equip...
An adventure is reborn!
Me:
Hello, I am Yimer C. Duggan, I was born on March 18th, 2002. I'm an enthusiastic, energetically motivated, observant, and logical person. I like game design and storytelling a lot and I hope to develop my own big game titles one day. my hobbies are drawing and occasionally gaming. Currently, I'm wrapping up my associates at Palm Beach State College and will soon transfer to FAU to finish my Computer Science major. I've been working on python on and off for 2 years now. I think I'm pretty good at it and I hope to become even better as I work on this project.
The project:
This will be a full-text adventure game using only the console as the game engine, and it will feature an installer script that will create the main script and recourses for the game. This game is inspired by a similar project I did back in high school and a project I did on the side by myself. They weren't really complete games, but the first was a simple exploration prototype that would allow you to explore a grid and have random encounters. The second one was actually a short attempt to write a simple little text adventure with an actual story, and although it failed this is where I came up with the name of our main protagonist: Lori. I started this project 3 months ago, but due to distractions in life, all I have is a half-complete installer and a game that can boot a saved file...
#!/usr/bin/env python
#imports
import os
import csv
#Variables
currentAwnser = 0
x = 0
y = 0
z = 0
chapter = 0
loriLvl = 0
loriHp = 0
loriAtk = 0
loriDef = 0
loriStanima = 0
loriEXP = 0
loriActions = []
loriCommands = []
loriCosts = []
laurenLvl = 0
laurenHp = 0
laurenAtk = 0
laurenDef = 0
laurenArrows = 0
laurenEXP = 0
laurenActions = []
laurenCommands = []
laurenCosts = []
#Functions
def inputAndCheck(question, validAwnsers): #validAwnsers must be a list
awnserString = input(question)
validaty = False
convertedAwnser = 0
awnserFlag = False
try:
int(awnserString)
validaty = True
except ValueError:
pass
if validaty == False:
inputAndCheck(question, validAwnsers)
else:
input("success: Type Correct")
convertedAwnser = int(awnserString)
for awnser in validAwnsers:
if convertedAwnser == awnser:
awnserFlag = True
else:
continue
if awnserFlag == False:
inputAndCheck(question, validAwnsers)
else:
input("Success: Valid Awnser")
currentAwnser = convertedAwnser
#Extracting Save Data
def bootSave(saveNum):
global x
global y
global z
global loriLvl
global laurenLvl
input(saveNum)
input(type(saveNum))
if saveNum == 0:
input("we are in")
f = open("newGame.csv")
fReader = csv.reader(f)
content = next(fReader)
input(type(content))
input(content)
x = int(content[0])
y = int(content[1])
z = int(content[2])
chapter = int(content[3])
loriLvl = int(content[4])
laurenLvl = int(content[5])
input(loriLvl)
f.close()
else:
input("fail")
#Character Data
def generateCharacters():
global loriLvl
global loriAtk
global loriDef
global loriActions
global loriCommands
global loriCosts
global loriHp
global laurenLvl
global laurenHp
global laurenAtk
global laurenDef
global laurenActions
global laurenCommands
global laurenCosts
stringCosts = []
garbage = 0
statLine = []
lvlCounter = 0
if loriLvl < 10:
file = open("lori.csv")
fileReader = csv.reader(file)
loriActions = next(fileReader)
garbage = next(fileReader)
loriCommands = next(fileReader)
garbage = next(fileReader)
stringCosts = next(fileReader)
for row in fileReader:
input("we made it")
if row == []:
pass
else:
statLine = row
input(statLine[0])
input(type(statLine[0]))
try:
lvlCounter = int(statLine[0])
if lvlCounter == loriLvl:
break
else:
pass
except ValueError:
pass
input(loriActions)
input(statLine)
input(loriCommands)
file.close()
loriHp = int(statLine[2])
loriAtk = int(statLine[3])
loriDef = int(statLine[4])
for stuff in stringCosts:
garbage = int(stuff)
loriCosts.append(garbage)
input(loriCosts)
else:
input("almost")
if laurenLvl < 10 and laurenLvl > 0:
file = open("lauren.csv")
fileReader = csv.reader(file)
laurenActions = next(fileReader)
garbage = next(fileReader)
laurenCommands = next(fileReader)
garbage = next(fileReader)
stringCosts = next(fileReader)
for row in fileReader:
input("we made it")
if row == []:
pass
else:
statLine = row
input(statLine[0])
input(type(statLine[0]))
try:
lvlCounter = int(statLine[0])
if lvlCounter == laurenLvl:
break
else:
pass
except ValueError:
pass
input(laurenActions)
input(statLine)
input(laurenCommands)
file.close()
laurenHp = int(statLine[2])
laurenAtk = int(statLine[3])
laurenDef = int(statLine[4])
for stuff in stringCosts:
garbage = int(stuff)
laurenCosts.append(garbage)
input(laurenCosts)
else:
input("almost")
#Main Line Commands
inputAndCheck("how would you like to boot? 0 New game or integer of save you are booting", [0])
bootSave(currentAwnser)
input(type(loriLvl))
generateCharacters()
os.system("cls")
input("we made it!!!")

I will be uploading all my versions of this project to git hub
Looks great Yimer, look forward to seeing how the game progresses - Joshua
ReplyDelete