project_game/game_original_layout.py

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 ((35, 1))
agents = [player]
"""Left Vert Wall, Top n Bottom End Caps"""
agents += Wall_vert.vertline((1, 1), 18)
agents += EndCap.endcap((1, 0), 1)
agents += EndCap.endcap((1, 19), 1)
"""Top Left Horiz Wall. Top End Cap - Top Left Horiz Wall"""
agents += Wall.horzline((2, 0), 22)
agents += EndCap.endcap((24, 0), 1)
"""Left Inner TopBox Vert Wall 1 n 2"""
agents += Wall_vert.vertline((7, 4), 3)
agents += Wall_vert.vertline((17, 4), 3)
"""Top Left Inner TopBox Horiz Wall 1 n 2"""
agents += Wall.horzline((8, 3), 9)
agents += Wall.horzline((8, 7), 9)
"""Top End Caps 1, 2, 3, 4"""
agents += EndCap.endcap((7, 3), 1)
agents += EndCap.endcap((17, 3), 1)
agents += EndCap.endcap((7, 7), 1)
agents += EndCap.endcap((17, 7), 1)
"""Left Inner BottomBox Vert Wall 1 n 2"""
agents += Wall_vert.vertline((7, 11), 5)
agents += Wall_vert.vertline((17, 11), 5)
"""Top Left Inner BottomBox Horiz Wall 1 n 2"""
agents += Wall.horzline((8, 10), 9)
agents += Wall.horzline((8, 16), 9)
"""Bottom End Caps 1, 2, 3, 4"""
agents += EndCap.endcap((7, 10), 1)
agents += EndCap.endcap((17, 10), 1)
agents += EndCap.endcap((7, 16), 1)
agents += EndCap.endcap((17, 16), 1)
"""Right Inner Vert wall 1n Horz Wall 1"""
agents += Wall_vert.vertline((24, 1), 2)
agents += Wall.horzline((25, 3), 6)
"""Right Inner End Cap """
agents += EndCap.endcap((31, 3), 1)
"""Right Inner End Cap 1 n 2"""
agents += EndCap.endcap((24, 3), 1)
agents += EndCap.endcap((31, 3), 1)
"""Right Inner TopBox Horiz Wall 1 n 2"""
agents += Wall.horzline((25, 6), 6)
agents += Wall.horzline((25, 9), 6)
"""Right Inner TopBox Vert Wall 1 n 2"""
agents += Wall_vert.vertline((31, 7), 2)
agents += Wall_vert.vertline((24, 7), 2)
"""Right Inner TopBox End Caps 1, 2, 3, 4"""
agents += EndCap.endcap((24, 6), 1)
agents += EndCap.endcap((31, 9), 1)
agents += EndCap.endcap((24, 9), 1)
agents += EndCap.endcap((31, 6), 1)
"""Right Inner BottomBox Horiz Wall 1 n 2"""
agents += Wall.horzline((25, 12), 6)
agents += Wall.horzline((25, 16), 6)
"""Right Inner BottomBox Vert Wall 1 n 2"""
agents += Wall_vert.vertline((31, 13), 3)
agents += Wall_vert.vertline((24, 13), 3)
"""Right Inner BottomBox End Caps 1, 2, 3, 4"""
agents += EndCap.endcap((24, 12), 1)
agents += EndCap.endcap((31, 12), 1)
agents += EndCap.endcap((24, 16), 1)
agents += EndCap.endcap((31, 16), 1)
"""Right Wall"""
agents += Wall_vert.vertline((38, 1), 18)
"""Right Top End Cap n Bottom End Cap"""
agents += EndCap.endcap((38, 0), 1)
agents += EndCap.endcap((38, 19), 1)
"""Right Inner wall - top 1st section """
agents += Wall_vert.vertline((31, 1), 2)
"""Right Inner End Cap"""
agents += EndCap.endcap((31, 0), 1)
"""Bottom Wall"""
agents += Wall.horzline((2, 19), 36)
"""Treasures, return as a single instance, object"""
agents.append(Treasure((34, 7), 1, "You discovered Arc of the Covenant!"))
agents.append(Treasure((34, 14), 1, "You discovered King Arthur's Sword!"))
agents.append(Treasure((21, 4), 1, "You discovered Lost Inca Gold!"))
agents.append(Treasure((21, 11), 1, "You discovered Oak Island Money Pit!"))
agents.append(Treasure((11, 2), 1, "You discovered Amber Room Treasures!"))
agents.append(Treasure((4, 13), 1, "You discovered Imperial Faberge Eggs!"))
"""Traps, return as a single instance, object"""
agents.append(Trap((28, 5), 1, "Skeletons killed you with swords."))
agents.append(Trap((11, 17), 1, "Fell into a pit on spikes."))
agents.append(Trap((4, 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"""