-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Screens for tk; currently mostly just copy of interface
- Loading branch information
Showing
23 changed files
with
1,735 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
"" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
""" | ||
Space Trader (PalmOS) | RPINerd, 2024 | ||
Average Prices screen | ||
This shows the prices of goods in comparison to the target system. | ||
""" | ||
|
||
import pygame | ||
|
||
from ..constants import BKG_COLOR, GameStateID | ||
from .renderer import Header, TextRender, TitleBar | ||
from .state import State | ||
|
||
|
||
class AvgPrices(State): | ||
|
||
def __init__(self, game) -> None: | ||
self.game = game | ||
self.head_font: pygame.font.Font = game.font_sm_bold | ||
self.font: pygame.font.Font = game.font_sm | ||
super().__init__(game) | ||
|
||
def handle_events(self, event: pygame.event) -> None: | ||
if event.type == pygame.QUIT: | ||
self.game.running = False | ||
if event.type == pygame.KEYDOWN: | ||
if event.key == pygame.K_ESCAPE: | ||
self.game.current_state = GameStateID.SPLASH | ||
if event.key == pygame.K_b: | ||
self.game.current_state = GameStateID.B_CARGO | ||
if event.key == pygame.K_s: | ||
self.game.current_state = GameStateID.S_CARGO | ||
if event.key == pygame.K_y: | ||
self.game.current_state = GameStateID.Y_SHIPYARD | ||
if event.key == pygame.K_e: | ||
self.game.current_state = GameStateID.BUY_EQUIPMENT | ||
if event.key == pygame.K_q: | ||
self.game.current_state = GameStateID.SELL_EQUIPMENT | ||
if event.key == pygame.K_p: | ||
self.game.current_state = GameStateID.PERSONNEL | ||
if event.key == pygame.K_k: | ||
self.game.current_state = GameStateID.BANK | ||
if event.key == pygame.K_i: | ||
self.game.current_state = GameStateID.SYSTEM_INFO | ||
if event.key == pygame.K_c: | ||
self.game.current_state = GameStateID.STATUS | ||
if event.key == pygame.K_g: | ||
self.game.current_state = GameStateID.GALACTIC_CHART | ||
if event.key == pygame.K_w: | ||
self.game.current_state = GameStateID.W_SHORTRANGE | ||
if event.key == pygame.K_o: | ||
NotImplemented | ||
|
||
def update(self, actions) -> None: | ||
pass | ||
|
||
def render(self, canvas: pygame.Surface) -> pygame.Surface: | ||
canvas.fill(BKG_COLOR) | ||
|
||
# Draw the header | ||
header = Header(canvas, self.font) | ||
header.render() | ||
title = TitleBar("Average Price List", self.head_font, canvas) | ||
title.render() | ||
|
||
return canvas |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
""" | ||
Space Trader (PalmOS) | RPINerd, 2024 | ||
Banking Screen | ||
For managing both loans and insurance. | ||
""" | ||
|
||
import pygame | ||
|
||
from ..constants import BKG_COLOR, GameStateID | ||
from .renderer import Header, TextRender, TitleBar | ||
from .state import State | ||
|
||
|
||
class Bank(State): | ||
|
||
def __init__(self, game) -> None: | ||
self.game = game | ||
self.head_font: pygame.font.Font = game.font_sm_bold | ||
self.font: pygame.font.Font = game.font_sm | ||
super().__init__(game) | ||
|
||
def handle_events(self, event: pygame.event) -> None: | ||
if event.type == pygame.QUIT: | ||
self.game.running = False | ||
if event.type == pygame.KEYDOWN: | ||
if event.key == pygame.K_ESCAPE: | ||
self.game.current_state = GameStateID.SPLASH | ||
if event.key == pygame.K_b: | ||
self.game.current_state = GameStateID.B_CARGO | ||
if event.key == pygame.K_s: | ||
self.game.current_state = GameStateID.S_CARGO | ||
if event.key == pygame.K_y: | ||
self.game.current_state = GameStateID.Y_SHIPYARD | ||
if event.key == pygame.K_e: | ||
self.game.current_state = GameStateID.BUY_EQUIPMENT | ||
if event.key == pygame.K_q: | ||
self.game.current_state = GameStateID.SELL_EQUIPMENT | ||
if event.key == pygame.K_p: | ||
self.game.current_state = GameStateID.PERSONNEL | ||
if event.key == pygame.K_k: | ||
self.game.current_state = GameStateID.BANK | ||
if event.key == pygame.K_i: | ||
self.game.current_state = GameStateID.SYSTEM_INFO | ||
if event.key == pygame.K_c: | ||
self.game.current_state = GameStateID.STATUS | ||
if event.key == pygame.K_g: | ||
self.game.current_state = GameStateID.GALACTIC_CHART | ||
if event.key == pygame.K_w: | ||
self.game.current_state = GameStateID.W_SHORTRANGE | ||
if event.key == pygame.K_o: | ||
NotImplemented | ||
|
||
def update(self, actions) -> None: | ||
pass | ||
|
||
def render(self, canvas: pygame.Surface) -> pygame.Surface: | ||
canvas.fill(BKG_COLOR) | ||
|
||
# Draw the header | ||
header = Header(canvas, self.font) | ||
header.render() | ||
title = TitleBar("Bank", self.head_font, canvas) | ||
title.render() | ||
|
||
# Bank headers | ||
loan_headers = [ | ||
"Loan", | ||
"Current debt:", | ||
"Maximum loan:", | ||
] | ||
ins_headers = [ | ||
"Insurance", | ||
"Current ship:", | ||
"No-claim:", | ||
"Costs:", | ||
] | ||
i = 0 | ||
for head in loan_headers: | ||
TextRender(head, (2, 18 + i), self.head_font).draw(canvas) | ||
i += 16 | ||
i = 0 | ||
for head in ins_headers: | ||
TextRender(head, (2, 80 + i), self.head_font).draw(canvas) | ||
i += 16 | ||
|
||
TextRender("Cash: {} cr.", (154, 158), self.font, ref="bottomright").draw(canvas) | ||
|
||
return canvas |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
""" | ||
Space Trader (PalmOS) | RPINerd, 2024 | ||
Buy Cargo Screen | ||
""" | ||
|
||
import pygame | ||
|
||
from ..constants import BKG_COLOR, GameStateID | ||
from ..economy import TradeItemId | ||
from .renderer import Header, TextRender, TitleBar | ||
from .state import State | ||
|
||
|
||
class BuyCargo(State): | ||
|
||
def __init__(self, game) -> None: | ||
self.game = game | ||
self.head_font: pygame.font.Font = game.font_sm_bold | ||
self.font: pygame.font.Font = game.font_sm | ||
super().__init__(game) | ||
|
||
def handle_events(self, event: pygame.event) -> None: | ||
if event.type == pygame.QUIT: | ||
self.game.running = False | ||
if event.type == pygame.KEYDOWN: | ||
if event.key == pygame.K_ESCAPE: | ||
self.game.current_state = GameStateID.SPLASH | ||
if event.key == pygame.K_b: | ||
self.game.current_state = GameStateID.B_CARGO | ||
if event.key == pygame.K_s: | ||
self.game.current_state = GameStateID.S_CARGO | ||
if event.key == pygame.K_y: | ||
self.game.current_state = GameStateID.Y_SHIPYARD | ||
if event.key == pygame.K_e: | ||
self.game.current_state = GameStateID.BUY_EQUIPMENT | ||
if event.key == pygame.K_q: | ||
self.game.current_state = GameStateID.SELL_EQUIPMENT | ||
if event.key == pygame.K_p: | ||
self.game.current_state = GameStateID.PERSONNEL | ||
if event.key == pygame.K_k: | ||
self.game.current_state = GameStateID.BANK | ||
if event.key == pygame.K_i: | ||
self.game.current_state = GameStateID.SYSTEM_INFO | ||
if event.key == pygame.K_c: | ||
self.game.current_state = GameStateID.STATUS | ||
if event.key == pygame.K_g: | ||
self.game.current_state = GameStateID.GALACTIC_CHART | ||
if event.key == pygame.K_w: | ||
self.game.current_state = GameStateID.W_SHORTRANGE | ||
if event.key == pygame.K_o: | ||
NotImplemented | ||
|
||
def update(self, actions) -> None: | ||
pass | ||
|
||
def render(self, canvas: pygame.Surface) -> pygame.Surface: | ||
canvas.fill(BKG_COLOR) | ||
|
||
# Draw the header | ||
header = Header(canvas, self.font) | ||
header.render() | ||
title = TitleBar("Buy Cargo", self.head_font, canvas) | ||
title.render() | ||
|
||
# Draw the cargo list | ||
i = 0 | ||
for good in TradeItemId.lst(): | ||
TextRender(good, (30, 18 + i), self.font).draw(canvas) | ||
i += 13 | ||
|
||
TextRender("Bays: {}/{}", (2, 158), self.font, ref="bottomleft").draw(canvas) | ||
TextRender("Cash: {} cr.", (154, 158), self.font, ref="bottomright").draw(canvas) | ||
|
||
return canvas |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
""" | ||
Space Trader (PalmOS) | RPINerd, 2024 | ||
Buy Equipment Screen | ||
""" | ||
|
||
import pygame | ||
|
||
from ..constants import BKG_COLOR, GameStateID | ||
from ..ships import Equipment | ||
from .renderer import Header, TextRender, TitleBar | ||
from .state import State | ||
|
||
|
||
class BuyEquipment(State): | ||
|
||
def __init__(self, game) -> None: | ||
self.game = game | ||
self.head_font: pygame.font.Font = game.font_sm_bold | ||
self.font: pygame.font.Font = game.font_sm | ||
super().__init__(game) | ||
|
||
def handle_events(self, event: pygame.event) -> None: | ||
if event.type == pygame.QUIT: | ||
self.game.running = False | ||
if event.type == pygame.KEYDOWN: | ||
if event.key == pygame.K_ESCAPE: | ||
self.game.current_state = GameStateID.SPLASH | ||
if event.key == pygame.K_b: | ||
self.game.current_state = GameStateID.B_CARGO | ||
if event.key == pygame.K_s: | ||
self.game.current_state = GameStateID.S_CARGO | ||
if event.key == pygame.K_y: | ||
self.game.current_state = GameStateID.Y_SHIPYARD | ||
if event.key == pygame.K_e: | ||
self.game.current_state = GameStateID.BUY_EQUIPMENT | ||
if event.key == pygame.K_q: | ||
self.game.current_state = GameStateID.SELL_EQUIPMENT | ||
if event.key == pygame.K_p: | ||
self.game.current_state = GameStateID.PERSONNEL | ||
if event.key == pygame.K_k: | ||
self.game.current_state = GameStateID.BANK | ||
if event.key == pygame.K_i: | ||
self.game.current_state = GameStateID.SYSTEM_INFO | ||
if event.key == pygame.K_c: | ||
self.game.current_state = GameStateID.STATUS | ||
if event.key == pygame.K_g: | ||
self.game.current_state = GameStateID.GALACTIC_CHART | ||
if event.key == pygame.K_w: | ||
self.game.current_state = GameStateID.W_SHORTRANGE | ||
if event.key == pygame.K_o: | ||
NotImplemented | ||
|
||
def update(self, actions) -> None: | ||
pass | ||
|
||
def render(self, canvas: pygame.Surface) -> pygame.Surface: | ||
canvas.fill(BKG_COLOR) | ||
|
||
# Draw the header | ||
header = Header(canvas, self.font) | ||
header.render() | ||
title = TitleBar("Buy Equipment", self.head_font, canvas) | ||
title.render() | ||
|
||
# Draw available equipment | ||
i = 0 | ||
for equip in Equipment.sale_list(): | ||
TextRender(equip, (35, 18 + i), self.font).draw(canvas) | ||
i += 13 | ||
|
||
TextRender("Cash: {} cr.", (154, 158), self.font, ref="bottomright").draw(canvas) | ||
|
||
return canvas |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
""" | ||
Space Trader (PalmOS) | RPINerd, 2024 | ||
""" | ||
|
||
import pygame | ||
|
||
from ..constants import BKG_COLOR, GameStateID | ||
from ..game_data import ShipID | ||
from .renderer import Header, TextRender, TitleBar | ||
from .state import State | ||
|
||
|
||
class BuyShip(State): | ||
|
||
def __init__(self, game) -> None: | ||
self.game = game | ||
self.head_font: pygame.font.Font = game.font_sm_bold | ||
self.font: pygame.font.Font = game.font_sm | ||
super().__init__(game) | ||
|
||
def handle_events(self, event: pygame.event) -> None: | ||
if event.type == pygame.QUIT: | ||
self.game.running = False | ||
if event.type == pygame.KEYDOWN: | ||
if event.key == pygame.K_ESCAPE: | ||
self.game.current_state = GameStateID.SPLASH | ||
if event.key == pygame.K_b: | ||
self.game.current_state = GameStateID.B_CARGO | ||
if event.key == pygame.K_s: | ||
self.game.current_state = GameStateID.S_CARGO | ||
if event.key == pygame.K_y: | ||
self.game.current_state = GameStateID.Y_SHIPYARD | ||
if event.key == pygame.K_e: | ||
self.game.current_state = GameStateID.BUY_EQUIPMENT | ||
if event.key == pygame.K_q: | ||
self.game.current_state = GameStateID.SELL_EQUIPMENT | ||
if event.key == pygame.K_p: | ||
self.game.current_state = GameStateID.PERSONNEL | ||
if event.key == pygame.K_k: | ||
self.game.current_state = GameStateID.BANK | ||
if event.key == pygame.K_i: | ||
self.game.current_state = GameStateID.SYSTEM_INFO | ||
if event.key == pygame.K_c: | ||
self.game.current_state = GameStateID.STATUS | ||
if event.key == pygame.K_g: | ||
self.game.current_state = GameStateID.GALACTIC_CHART | ||
if event.key == pygame.K_w: | ||
self.game.current_state = GameStateID.W_SHORTRANGE | ||
if event.key == pygame.K_o: | ||
NotImplemented | ||
|
||
def update(self, actions) -> None: | ||
pass | ||
|
||
def render(self, canvas: pygame.Surface) -> pygame.Surface: | ||
canvas.fill(BKG_COLOR) | ||
|
||
# Draw the header | ||
header = Header(canvas, self.font) | ||
header.render() | ||
title = TitleBar("Buy Ship", self.head_font, canvas) | ||
title.render() | ||
|
||
# Draw avaialble ships | ||
i = 0 | ||
for ship in ShipID.sale_lst(): | ||
TextRender(ship, (35, 18 + i), self.font).draw(canvas) | ||
i += 13 | ||
|
||
TextRender("Cash: {0} cr.", (154, 158), self.font, ref="bottomleft").draw(canvas) | ||
|
||
return canvas |
Oops, something went wrong.