Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
9029e0d
member name
xint0n9 Jul 26, 2024
834b6aa
2.0
xint0n9 Jul 26, 2024
a83f846
hello i am testing out git
UrgedReaper34 Jul 26, 2024
5b5bd42
I am taking back my changes
UrgedReaper34 Jul 26, 2024
da3de1f
shane
Chilliken Jul 26, 2024
92d72bb
What the?
JaywenTan Jul 26, 2024
88bf8c0
Merge branch 'main' of https://github.com/UrgedReaper34/WWWWWEYTON
JaywenTan Jul 26, 2024
fd0d47c
Hi lleyton
JaywenTan Jul 26, 2024
e8358c3
LLLLLLLLEYYTOONNNNN
UrgedReaper34 Jul 26, 2024
f25861f
o
JaywenTan Aug 1, 2024
83e867f
hihi
UrgedReaper34 Aug 1, 2024
9381b42
hihihi
UrgedReaper34 Aug 1, 2024
e8d1e84
Merge pull request #1 from UrgedReaper34/sigma
UrgedReaper34 Aug 1, 2024
3194cf1
idk
Chilliken Aug 1, 2024
30c7eac
Merge pull request #2 from UrgedReaper34/data
Chilliken Aug 1, 2024
a513313
Modified the main file
xint0n9 Aug 1, 2024
9eb0a07
Merge branch 'main' into shane
xint0n9 Aug 1, 2024
a0d5b25
Merge pull request #3 from UrgedReaper34/shane
xint0n9 Aug 1, 2024
c5e44cf
idk
Chilliken Aug 1, 2024
1944ddb
reset
UrgedReaper34 Aug 1, 2024
5da7e61
Merge branch 'main' into reset
UrgedReaper34 Aug 1, 2024
0deffc3
Merge pull request #4 from UrgedReaper34/reset
UrgedReaper34 Aug 2, 2024
d0a6bf5
entity
Chilliken Aug 2, 2024
28e861b
entity 2
Chilliken Aug 2, 2024
818a588
Merge remote-tracking branch 'origin/main' into Entity
Chilliken Aug 2, 2024
5447cf2
entity 3
Chilliken Aug 2, 2024
fdac649
Merge pull request #5 from UrgedReaper34/Entity
UrgedReaper34 Aug 2, 2024
1a4e25c
First commit
UrgedReaper34 Aug 2, 2024
327a524
version 1.0
xint0n9 Aug 2, 2024
244aa4f
entity 4
Chilliken Aug 2, 2024
143eafb
Save progress
UrgedReaper34 Aug 2, 2024
063a09a
Map V1
JaywenTan Aug 2, 2024
ee75ab9
entity 5
Chilliken Aug 7, 2024
aea28c0
version 2.0
xint0n9 Aug 7, 2024
474fd2a
Merge pull request #6 from UrgedReaper34/Entity
UrgedReaper34 Aug 7, 2024
ba34b64
Merge pull request #7 from UrgedReaper34/Level
UrgedReaper34 Aug 7, 2024
642688d
entity 6
Chilliken Aug 7, 2024
c3839fc
Day 2 :(
JaywenTan Aug 7, 2024
062db27
Finish adjacent tiles function
UrgedReaper34 Aug 7, 2024
5e60923
level 3
Chilliken Aug 8, 2024
955001e
Item 1
Chilliken Aug 8, 2024
bd5ee6b
action class
xint0n9 Aug 15, 2024
d84d32b
Intro finished, missing action part
UrgedReaper34 Aug 15, 2024
3cc7d7b
items 2 (entities changed a bit)
Chilliken Aug 15, 2024
e7a07cc
Merge branch 'main' into Gameloop
UrgedReaper34 Aug 15, 2024
4444fb9
Merge pull request #8 from UrgedReaper34/Gameloop
UrgedReaper34 Aug 15, 2024
5900ec0
Merge pull request #9 from UrgedReaper34/Item
UrgedReaper34 Aug 15, 2024
d986b29
Merge pull request #10 from UrgedReaper34/Level
UrgedReaper34 Aug 15, 2024
8082fde
Storyline test
JaywenTan Aug 15, 2024
a92bb11
fminor fix
UrgedReaper34 Aug 15, 2024
c710ba2
Storyline tile info update
JaywenTan Aug 15, 2024
d24ba66
test again
JaywenTan Aug 15, 2024
464ea81
entity 7
Chilliken Aug 16, 2024
1b0581b
items 3
Chilliken Aug 16, 2024
7852e5a
Merge pull request #11 from UrgedReaper34/Entity
Chilliken Aug 16, 2024
f7b69c8
Merge pull request #12 from UrgedReaper34/Item
Chilliken Aug 16, 2024
101176b
Merge branch 'main' into storyline
JaywenTan Aug 16, 2024
eb5a742
Merge branch 'main' into storyline
Chilliken Aug 16, 2024
8e808f4
Merge pull request #13 from UrgedReaper34/storyline
Chilliken Aug 16, 2024
574bbf6
delete storyline file
Chilliken Aug 16, 2024
9b4ef94
Merge pull request #14 from UrgedReaper34/Gameloop
Chilliken Aug 16, 2024
d78a643
Storyline V3
JaywenTan Aug 16, 2024
3c25add
testing py testing only
xint0n9 Aug 16, 2024
3999fa9
fminor fix
UrgedReaper34 Aug 15, 2024
6e890e3
delete storyline file
Chilliken Aug 16, 2024
240d97f
Merge pull request #15 from UrgedReaper34/storyline
JaywenTan Aug 16, 2024
b467f49
first v
xint0n9 Aug 16, 2024
1c2fad8
Merge remote-tracking branch 'origin/main' into test
xint0n9 Aug 16, 2024
35711a5
Map V4
JaywenTan Aug 16, 2024
8638206
Merge branch 'main' into storyline
JaywenTan Aug 16, 2024
3b25b4a
Name Change
JaywenTan Aug 16, 2024
5bfa176
Merge pull request #17 from UrgedReaper34/storyline
JaywenTan Aug 16, 2024
3e6c1ae
Comments added
JaywenTan Aug 16, 2024
86da2d3
update game loop
Chilliken Aug 16, 2024
cd8feea
Merge pull request #18 from UrgedReaper34/Gameloop
Chilliken Aug 16, 2024
365edc8
gameloop functions
Chilliken Aug 16, 2024
70115fa
Merge pull request #19 from UrgedReaper34/Gameloop
Chilliken Aug 16, 2024
aa0c6dc
Merge pull request #20 from UrgedReaper34/storyline
JaywenTan Aug 16, 2024
2410ba3
Merge branch 'main' into test
Chilliken Aug 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## Members

- Member 1
- Member 2
- Member 3
- Member 4
- Shane
- Jayven
- Lleyton
- Xintong

<Description of your project>
39 changes: 39 additions & 0 deletions Tile_data.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

[
{
"position": [1,1],
"description": "Starting Point"
},
{
"position": [3,3],
"description": "Getting closer"
},
{
"position": [9,3],
"description": "Entered Hallway"
},
{
"position": [9,5],
"description": "Walking Through Hallway"
},
{
"position": [19,2],
"description": "Classroom A"
},
{
"position": [19,5],
"description": "Classroom B"
},
{
"position": [19,8],
"description": "Classroom C"
},
{
"position": [18,10],
"description": "Level Boss"
},
{
"position": [16,10],
"description": "Boss nearby"
}
]
26 changes: 26 additions & 0 deletions action.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class Action:

def __init__(self, action, player, monster):
self.action = action
self.player = player
self.monster = monster

def punch(self):
"""
reduce monster health
monster--> monster obj
"""
damage = 10
self.monster.take_damage(damage)

def kick(self, monster):
"""reduce monster health"""
damage = 20
self.monster.take_damage(damage)

def use_item(self,item_index):
"""reduce monster health"""
item = self.player.inventory[item_index - 1]
item.use_item()


134 changes: 134 additions & 0 deletions entities.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@

class Entity:

def __init__(self, name, health, aura, position):
self.name = name
self.health = health
self.aura = aura
self.position = position

def get_name(self):
return self.name

def get_health(self):
return self.health

def gain_health(self, gained_health):
self.health += gained_health

def take_damage(self, damage):
self.health -= damage

def get_position(self):
return self.position

def move(self, move, adjacent_tiles):

if move == "UP":
if adjacent_tiles[move] is None:
return "invalid"
else:
self.position[1] += 1
return self.get_position()

elif move == "LEFT":
if adjacent_tiles[move] is None:
return "invalid"
else:
self.position[0] -= 1
return self.get_position()

elif move == "DOWN":
if adjacent_tiles[move] is None:
return "invalid"
else:
self.position[1] -= 1
return self.get_position()


elif move == "RIGHT":
if adjacent_tiles[move] is None:
return "invalid"
else:
self.position[0] += 1
return self.get_position()




class Player(Entity):

def __init__(self, name, health, aura, position,inventory = []):
super().__init__(name, health, aura, position)
self.inventory = inventory

def get_aura(self):
return self.aura

def set_aura(self,aura):
self.aura = aura

def add_item(self,item):
self.inventory.append(item)

def remove_item(self,item):
self.inventory.remove(item)

def punch(self, monster):
monster.take_damage(5)

def kick(self, monster):
monster.take_damage(10)

def use_item(self, item_index):
item = self.inventory[item_index - 1]
item.use_item()

def get_inventory(self):
return self.inventory


class Monster(Entity):

def __init__(self, name, health, aura, position, damage, description, inventory = []):
super().__init__(name, health, aura, position)
self.damage = damage
self.description = description
self.inventory = inventory


def pickup_item(self,item):
self.inventory.append(item)

def get_inventory(self):
return self.inventory


class Creature(Entity):

def __init__(self, name, health, aura, position, damage, description):
super().__init__(name, health, aura, position)
self.damage = damage
self.description = description


def get_damage(self):
return self.damage

def set_damage(self, damage):
self.damage = damage


# test
# person1 = Player("Lleyton",100000,10,[1,2])

# adj_tiles = {
# "UP" : [1,3],
# "DOWN" : [1,1],
# "RIGHT" : [2,2],
# "LEFT" : None
# }
# print(person1.move("RIGHT",adj_tiles))



94 changes: 94 additions & 0 deletions game.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
from time import sleep
import storyline
import level
import entities

# Util function for clearing console
def clearConsole():
print("\033c", end="", flush=True)

class Game:
def __init__(self):
self.storyData = storyline.Storyline()
self.level = level.Level()

self.currentTilePos = self.storyData.starting_tile
self.levelEnded = False
self.hasIntroduced = False

# TODO: read tile data from storyline and populate level tilelist

def runGame(self, currentLevel):
"""
Get current tile info
This stores tile with all its data.
self.currentTile stores the coordinates
"""
while not self.levelEnded:
# Do an intro, if necessary
if self.hasIntroduced == False:
print("Brave adventurer! What is your name?")
name = input()
# Init player object
self.player = entities.Player(name, 100, 100, self.currentTilePos)
intro = self.storyData.getIntro(currentLevel)

print(intro)
sleep(3000)
clearConsole()

currTile = self.findTile(self.currentTilePos)

# Display description
print(currTile.display())

# TODO: print out possible actions
# Optional: add minimap? If we have a lot of time
# Take movement input
playerInput = input().lower()
# Check if its valid
if self.actions.actionList.count(playerInput) == 1:
#TODO: carry out action

pass
#TODO: add monster validation logic

def findTile(self, targetTileCoord):
"""
Utility function for finding tiles.
Takes a coordinate and returns a tile object
"""
for tile in self.level.tileList:
if tile.position == targetTileCoord:
return tile

def findAdjacentTiles(self, targetTileCoord):
"""
Utility function for finding tiles.
Takes a coordinate and returns a list of adjacent tile objects
"""
db = {}
for tile in self.level.tileList:
if tile.position == targetTileCoord:
# We have our target tile
return {
"UP": self.findTile([tile.position[0], tile.position[1] + 1]),
"DOWN": self.findTile([tile.position[0], tile.position[1] - 1]),
"LEFT": self.findTile([tile.position[0] - 1, tile.position[1]]),
"RIGHT": self.findTile([tile.position[0] + 1, tile.position[1]]),
}


def get_options(self) -> list[str]:
"""Returns player's current options as a list of strs"""
options = []
return options

def enter(self, choice: str) -> None:
"""Carry out player choice"""
pass

def show_status(self) -> None:
"""Display player's current status"""
pass

59 changes: 59 additions & 0 deletions items.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@


class Item:
def __init__(self, type, name, description, player):
self.type = type
self.name = name
self.description = description
self.player = player

def get_name(self):
return self.name

def display_description(self):
"""
edit the print message
"""
print("description", self.description)

class HealthPotion(Item):
def __init__(self, type, name, description, player, health_gain):
super().__init__(type, name, description, player)
self.health_gain = health_gain

def use_item(self):
self.player.gain_health(self.health_gain)

class AuraPotion(Item):
def __init__(self, type, name, description, player, aura_gain):
super().__init__(type, name, description, player)
self.aura_gain = aura_gain

def use_item(self):
self.player.gain_aura(self.aura_gain)

class Weapon(Item):
def __init__(self, type, name, description, player, damage):
super().__init__(type, name, description, player)
self.damage = damage

def use_item(self,monster):
monster.take_damage(self.damage)


















Loading