adding files
This commit is contained in:
9
Dockerfile
Normal file
9
Dockerfile
Normal file
@ -0,0 +1,9 @@
|
||||
FROM python:latest
|
||||
|
||||
WORKDIR /server
|
||||
|
||||
COPY requirements.txt .
|
||||
|
||||
RUN pip3 install -r requirements.txt
|
||||
|
||||
CMD ["python3", "src/server.py"]
|
||||
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@ -0,0 +1,3 @@
|
||||
sqlalchemy
|
||||
psycopg2-binary
|
||||
fastapi
|
||||
2
server/src/models/__init__.py
Normal file
2
server/src/models/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
from .items import *
|
||||
from .player import *
|
||||
5
server/src/models/items/__init__.py
Normal file
5
server/src/models/items/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .item import Item
|
||||
from .base_item import BaseItem
|
||||
from .potion import Potion, Effect
|
||||
|
||||
__all__ = ["Item", "BaseItem", "Potion", "Effect"]
|
||||
12
server/src/models/items/base_controller.py
Normal file
12
server/src/models/items/base_controller.py
Normal file
@ -0,0 +1,12 @@
|
||||
class ItemController:
|
||||
def __init__(self, item: Item):
|
||||
self.item = item
|
||||
|
||||
def __use(self, target: Entity):
|
||||
|
||||
|
||||
def __destroy(self):
|
||||
try:
|
||||
self.item.__destroy()
|
||||
except Exception as e:
|
||||
return e
|
||||
5
server/src/models/items/base_item.py
Normal file
5
server/src/models/items/base_item.py
Normal file
@ -0,0 +1,5 @@
|
||||
class BaseItem:
|
||||
def __init__(self, name: str, description: str, value: int):
|
||||
self.name = name
|
||||
self.description = description
|
||||
self.value = value
|
||||
6
server/src/models/items/item.py
Normal file
6
server/src/models/items/item.py
Normal file
@ -0,0 +1,6 @@
|
||||
from .base_item import BaseItem
|
||||
|
||||
class Item:
|
||||
def __init__(self, id: int, data: BaseItem):
|
||||
self.id = id
|
||||
self.data = data
|
||||
24
server/src/models/items/potion.py
Normal file
24
server/src/models/items/potion.py
Normal file
@ -0,0 +1,24 @@
|
||||
from .base_item import BaseItem
|
||||
|
||||
class Effect:
|
||||
def __init__(self, id, name):
|
||||
self.id = id
|
||||
self.name = name
|
||||
|
||||
def __change_health(self, amount: int, target: Entity):
|
||||
try:
|
||||
return target.health.set(amount)
|
||||
except Exception as e:
|
||||
return e
|
||||
|
||||
class Potion(BaseItem):
|
||||
def __init__(self, duration: int, effect: Effect, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.duration = duration
|
||||
self.effect = effect
|
||||
|
||||
def __drink(self, target: Entity):
|
||||
try:
|
||||
return self.effect.target(target)
|
||||
except Exception as e:
|
||||
return e
|
||||
0
server/src/models/player/__init__.py
Normal file
0
server/src/models/player/__init__.py
Normal file
2
server/src/models/player/player.py
Normal file
2
server/src/models/player/player.py
Normal file
@ -0,0 +1,2 @@
|
||||
class Player:
|
||||
__tablename__ = "player"
|
||||
3
server/src/server.py
Normal file
3
server/src/server.py
Normal file
@ -0,0 +1,3 @@
|
||||
from models.items.potion import Potion, Effect
|
||||
|
||||
health_potion = Potion(0, Effect(0, "heal"), 0, "Health Potion", "This item heals you for 5 HP")
|
||||
Reference in New Issue
Block a user