generated from mwc/project_game
131 lines
4.2 KiB
Python
131 lines
4.2 KiB
Python
"""Created by Kathryn Odell-Hamilton
|
|
This retro game is "Lost World Treasures."
|
|
1 Player game.
|
|
The player is looking to discover the 6 World Lost Treasures.
|
|
The player can score 60 points to win the game.
|
|
The player has 3 lives. If the player goes onto a trap, the player loses a live.
|
|
Once there are 0 lives, the player loses and game over."""
|
|
|
|
|
|
from retro.game import Game
|
|
from player import Player
|
|
from wall import Wall
|
|
from wall_vert import Wall_vert
|
|
from endcap import EndCap
|
|
from treasure import Treasure
|
|
from trap import Trap
|
|
|
|
|
|
"""Define Game Board Size, Single Player, Agents, Initial State of Game
|
|
Create the Game, Play the Game"""
|
|
board_size = (48, 20)
|
|
player = Player ((38, 1))
|
|
agents = [player]
|
|
|
|
|
|
"""Left Vert Wall, Top n Bottom End Caps"""
|
|
agents += Wall_vert.vertline((5, 1), 18)
|
|
agents += EndCap.endcap((5, 0), 1)
|
|
agents += EndCap.endcap((5, 19), 1)
|
|
|
|
|
|
"""Top Left Horiz Wall. Top End Cap - Top Left Horiz Wall"""
|
|
agents += Wall.horzline((6, 0), 22)
|
|
agents += EndCap.endcap((28, 0), 1)
|
|
|
|
|
|
"""Left Inner TopBox Vert Wall 1 n 2"""
|
|
agents += Wall_vert.vertline((11, 4), 3)
|
|
agents += Wall_vert.vertline((21, 4), 3)
|
|
"""Top Left Inner TopBox Horiz Wall 1 n 2"""
|
|
agents += Wall.horzline((12, 3), 9)
|
|
agents += Wall.horzline((12, 7), 9)
|
|
"""Top End Caps 1, 2, 3, 4"""
|
|
agents += EndCap.endcap((11, 3), 1)
|
|
agents += EndCap.endcap((21, 3), 1)
|
|
agents += EndCap.endcap((11, 7), 1)
|
|
agents += EndCap.endcap((21, 7), 1)
|
|
|
|
|
|
"""Left Inner BottomBox Vert Wall 1 n 2"""
|
|
agents += Wall_vert.vertline((11, 11), 5)
|
|
agents += Wall_vert.vertline((21, 11), 5)
|
|
"""Top Left Inner BottomBox Horiz Wall 1 n 2"""
|
|
agents += Wall.horzline((12, 10), 9)
|
|
agents += Wall.horzline((12, 16), 9)
|
|
"""Bottom End Caps 1, 2, 3, 4"""
|
|
agents += EndCap.endcap((11, 10), 1)
|
|
agents += EndCap.endcap((21, 10), 1)
|
|
agents += EndCap.endcap((11, 16), 1)
|
|
agents += EndCap.endcap((21, 16), 1)
|
|
|
|
|
|
"""Right Inner Vert wall 1n Horz Wall 1"""
|
|
agents += Wall_vert.vertline((28, 1), 2)
|
|
agents += Wall.horzline((29, 3), 6)
|
|
"""Right Inner End Cap"""
|
|
agents += EndCap.endcap((35, 3), 1)
|
|
"""Right Inner End Cap 1 n 2"""
|
|
agents += EndCap.endcap((28, 3), 1)
|
|
agents += EndCap.endcap((35, 3), 1)
|
|
|
|
|
|
"""Right Inner TopBox Horiz Wall 1 n 2"""
|
|
agents += Wall.horzline((29, 6), 6)
|
|
agents += Wall.horzline((29, 9), 6)
|
|
"""Right Inner TopBox Vert Wall 1 n 2"""
|
|
agents += Wall_vert.vertline((35, 7), 2)
|
|
agents += Wall_vert.vertline((28, 7), 2)
|
|
"""Right Inner TopBox End Caps 1, 2, 3, 4"""
|
|
agents += EndCap.endcap((28, 6), 1)
|
|
agents += EndCap.endcap((35, 9), 1)
|
|
agents += EndCap.endcap((28, 9), 1)
|
|
agents += EndCap.endcap((35, 6), 1)
|
|
|
|
|
|
"""Right Inner BottomBox Horiz Wall 1 n 2"""
|
|
agents += Wall.horzline((29, 12), 6)
|
|
agents += Wall.horzline((29, 16), 6)
|
|
"""Right Inner BottomBox Vert Wall 1 n 2"""
|
|
agents += Wall_vert.vertline((35, 13), 3)
|
|
agents += Wall_vert.vertline((28, 13), 3)
|
|
"""Right Inner BottomBox End Caps 1, 2, 3, 4"""
|
|
agents += EndCap.endcap((28, 12), 1)
|
|
agents += EndCap.endcap((35, 12), 1)
|
|
agents += EndCap.endcap((28, 16), 1)
|
|
agents += EndCap.endcap((35, 16), 1)
|
|
|
|
|
|
"""Right Wall"""
|
|
agents += Wall_vert.vertline((42, 1), 18)
|
|
"""Right Top End Cap n Bottom End Cap"""
|
|
agents += EndCap.endcap((42, 0), 1)
|
|
agents += EndCap.endcap((42, 19), 1)
|
|
"""Right Inner wall - top 1st section """
|
|
agents += Wall_vert.vertline((35, 1), 2)
|
|
"""Right Inner End Cap"""
|
|
agents += EndCap.endcap((35, 0), 1)
|
|
|
|
|
|
"""Bottom Wall"""
|
|
agents += Wall.horzline((6, 19), 36)
|
|
|
|
"""Treasures, return as a single instance, object"""
|
|
agents.append(Treasure((38, 7), 1, "You discovered Arc of the Covenant!"))
|
|
agents.append(Treasure((38, 14), 1, "You discovered King Arthur's Sword!"))
|
|
agents.append(Treasure((25, 4), 1, "You discovered Lost Inca Gold!"))
|
|
agents.append(Treasure((25, 11), 1, "You discovered Oak Island Money Pit!"))
|
|
agents.append(Treasure((16, 2), 1, "You discovered Amber Room Treasures!"))
|
|
agents.append(Treasure((9, 13), 1, "You discovered Imperial Faberge Eggs!"))
|
|
|
|
"""Traps, return as a single instance, object"""
|
|
agents.append(Trap((32, 5), 1, "Skeletons killed you with swords."))
|
|
agents.append(Trap((16, 17), 1, "Fell into a pit on spikes."))
|
|
agents.append(Trap((8, 5), 1, "Killed by poison darts."))
|
|
|
|
|
|
state = {'score':0, 'lives':3}
|
|
game = Game(agents, state, board_size, color="white")
|
|
game.play()
|
|
|
|
"""In Player.py, game ends if Player Scores 60 points or gets 0 Lives""" |