Compare commits

...

3 Commits

Author SHA1 Message Date
Joe S 8b3dba02cc Experiment with themes 2021-02-22 19:46:39 -05:00
Joe S b55bcf77b8 Replace some helptext 2021-02-22 16:59:45 -05:00
Joe S b396cee469 Logbox echo works! 2021-02-22 16:48:01 -05:00
4 changed files with 30 additions and 5 deletions

View File

@ -10,13 +10,30 @@ class QuitButton(npyscreen.ButtonPress):
class GameNavigator(npyscreen.FormBaseNew):
# def afterEditing(self):
# it self.parentApp.setNextForm('GAME')
"""
This class handles all the drawing and 'graphics' of our game.
only basic logic like initial loading should happen here. re-drawing
and game logic should be done in Handler.py
TODO: Find a fix for initial room startup
TODO: Find a way to reset the cursor after a user hits sendButton
"""
def update_log(self, newline):
self.logList.append(newline) # Append the newline
self.logList = self.logList[-7:] # Truncate to only the last 5 lines
res = '' # Convert the list to a string
for element in self.logList:
res = res + str(element) + '\n'
res = res.upper() # Log is always uppercase
self.logBox.value = res # Set the logbox to that value
def create(self):
top_division_height = 20
inventory_width = 20
art_width = 100
self.logList = []
self.artBox = self.add(npyscreen.BoxBasic,
name='ArtBox',
@ -49,7 +66,7 @@ class GameNavigator(npyscreen.FormBaseNew):
rely=top_division_height + 2,
editable=False)
self.logBox = self.add(npyscreen.Textfield,
self.logBox = self.add(npyscreen.MultiLineEdit,
max_width=inventory_width + art_width - 7,
max_height=7,
relx=2,

View File

@ -5,6 +5,10 @@ from Player import Player
class MainMenu(npyscreen.Form):
"""
This is the main menu, code here should only be for
initializing the player data and any settings they want to change
"""
def afterEditing(self):
# TODO: the game needs to happen after this inital main menu
self.parentApp.setNextForm('GAME')

View File

@ -9,7 +9,7 @@ class Handler(npyscreen.ButtonPress):
3: re-render the screen
"""
def whenPressed(self):
self.parent.logBox.value = self.parent.dialogueBox.value
self.parent.update_log(self.parent.dialogueBox.value)
self.parent.dialogueBox.value = ''
self.parent.artContent.display()
self.parent.parentApp.switchForm('GAME')
self.parent.parentApp.switchForm('GAME')

View File

@ -32,6 +32,10 @@ class AdventureGame(npyscreen.NPSAppManaged):
# dimensions['inventory_width']+dimensions['art_width'],
# 30)) # TODO: Finish setting this up.
# Set theme
#TODO: modify custom theme?
npyscreen.setTheme(npyscreen.Themes.ElegantTheme)
# Draw game windows
self.addForm('GAME', GameNavigator, name='Unnamed Adventure Game') # This window should draw the actual game
self.addForm('MENU', MainMenu, name='Welcome to the main menu') # This window should draw the main menu