-
Notifications
You must be signed in to change notification settings - Fork 0
/
gameEngine.py
91 lines (75 loc) · 3.29 KB
/
gameEngine.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import os
import json
import sys
from terminaltables import SingleTable
from inventorySystem import Inventory
from gameHandler import MapHandler
import gameHandler
from dataStock import DataStock
class GameWorld:
def __init__(self, loadName):
self.loadName = loadName
def start(self):
#START MODULES
Inventory(self.loadName)
DataStock(self.loadName)
myScreen = MapHandler(self.loadName)
myScreen.UI().start()
with open(f'saves/{self.loadName}/gameData.json', encoding='utf-8') as jf:
data = json.load(jf)
with open(f'saves/{self.loadName}/worldData.json', encoding='utf-8') as wf:
dataWorld = json.load(wf)
with open(f'saves/{self.loadName}/{self.loadName}.json', encoding='utf-8') as pf:
dataPlayer = json.load(pf)
with open(f'saves/{self.loadName}/npcData.json', encoding='utf-8') as nf:
global dataNpc
dataNpc = json.load(nf)
#GLOBALS PLAYER DATA
playerName = dataPlayer['playerName']
playerRace = data[dataPlayer['playerRace']]['name']
playerClass = data[dataPlayer['playerClass']]['name']
playerLanguage = data[dataPlayer['playerLanguage']]['name']
playerAge = dataPlayer['playerAge']
playerHeight = dataPlayer['playerHeight']
playerHealth = dataPlayer['playerHealth']
playerMana = dataPlayer['playerMana']
playerArmor = dataPlayer['playerArmor']
playerLevel = dataPlayer['playerLevel']
playerXP = dataPlayer['playerXP']
playerStrength = dataPlayer['playerStrength']
playerDexterity = dataPlayer['playerDexterity']
playerConstitution = dataPlayer['playerConstitution']
playerIntelligence = dataPlayer['playerIntelligence']
playerWisdom = dataPlayer['playerWisdom']
playerCharisma = dataPlayer['playerCharisma']
playerFavoriteWeapon = dataPlayer['playerFavoriteWeapon']
playerWorldRegion = dataPlayer["playerWorld"]["worldRegion"]
playerLocalRegion = dataPlayer["playerWorld"]["localRegion"]
playerBuilding = dataPlayer["playerWorld"]["building"]
# ["Bem", "Com fome", "Com sono", "Irritado"]
playerMood = dataPlayer["playerMood"]
eventsEngineSide = gameHandler.events
if playerHealth == 0:
MapHandler.UI().deathScreen()
while True:
eventTerminal = input(">>> ")
#Game Commands
if eventTerminal == "i":
Inventory.showInventory()
elif eventTerminal == "dev data":
DataStock.seeAllData()
elif eventTerminal in eventsEngineSide:
thisEvent = gameHandler.events[eventTerminal]
if thisEvent.eType == "sleep":
sleepTime = input("Horas de sono: ")
thisEvent.event(int(sleepTime))
elif thisEvent.eType == "devTest":
if eventTerminal == "addxp":
thisXP = input("Quantidade de XP a se adicionar: ")
thisEvent.event(int(thisXP))
else:
thisEvent.event()
else:
thisEvent.event()
else:
MapHandler.UI().update("default")