Merge remote-tracking branch 'origin/development'

# Conflicts:
#	environment.md
This commit is contained in:
Marcin Kostrzewski 2020-04-06 12:37:01 +02:00
commit 748e317e2e
6 changed files with 16 additions and 18 deletions

5
Run.py
View File

@ -1,3 +1,6 @@
from pathlib import Path
from src.game.Game import Game from src.game.Game import Game
game = Game() programPath = Path(".").resolve()
game = Game(programPath)

BIN
data/structure.pdf Normal file

Binary file not shown.

View File

@ -8,10 +8,8 @@
* *Na wyspie znajdują się różnorodne elementy, które pomagają lub przeszkadzają przetrwać* * *Na wyspie znajdują się różnorodne elementy, które pomagają lub przeszkadzają przetrwać*
* *Agent ma zasoby, które musi uzupełniać aby przeżyć, np. głód* * *Agent ma zasoby, które musi uzupełniać aby przeżyć, np. głód*
* *Agent porusza się w środowisku 20x20* * *Agent porusza się w środowisku 20x20*
*
## Struktura projektu ## Struktura projektu
*Plik przedstawiający strukturę katalogów oraz klas:* [structure.pdf](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/data/structure.pdf) *Plik przedstawiający strukturę katalogów oraz klas:* [structure.pdf](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/data/structure.pdf)
## Główne klasy projektu ## Główne klasy projektu
* [Run.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/Run.py) - plik, względem którego uruchamia się całe środowisko. * [Run.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/Run.py) - plik, względem którego uruchamia się całe środowisko.
* [Game.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/game/Game.py) - * [Game.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/game/Game.py) -
@ -25,10 +23,8 @@ klasa realizacyjna, w niej wywoływane są wszystkie inne główne obiekty, obs
* [Entity.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/entities/Entity.py) - przedstawia jednostki występujące na mapie, które w jakiś sposób zachodzą ze sobą w interakcje. * [Entity.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/entities/Entity.py) - przedstawia jednostki występujące na mapie, które w jakiś sposób zachodzą ze sobą w interakcje.
* [Player.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/entities/Player.py) - tworzy agenta, którym na daną chwilę możemy się poruszać i zachodzić w interakcje z innymi jednostkami. * [Player.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/entities/Player.py) - tworzy agenta, którym na daną chwilę możemy się poruszać i zachodzić w interakcje z innymi jednostkami.
* [Statistics.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/entities/Statistics.py) - reprezentuje zasoby agenta, które odpowiednio zwiększają się, lub zmniejszają po interakcji z jakimś elementem. * [Statistics.py](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/development/src/entities/Statistics.py) - reprezentuje zasoby agenta, które odpowiednio zwiększają się, lub zmniejszają po interakcji z jakimś elementem.
*
## Reprezentacja wiedzy ## Reprezentacja wiedzy
*Wiedzą w naszym projekcie są statystyki agenta, które mowią o tym w jakim stanie toczy się proces przetrwania. *Wiedzą w naszym projekcie są statystyki agenta, które mowią o tym w jakim stanie toczy się proces przetrwania.
Posiadamy również konsolę, która wypisuje wartości statystyk na ekranie.* Posiadamy również konsolę, która wypisuje wartości statystyk na ekranie.*
![screenshot](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/data/images/adventure.png)
## Uruchomienie projektu ## Uruchomienie projektu

View File

@ -24,12 +24,12 @@ class Entity(pygame.sprite.Sprite):
texturesFolder = "" texturesFolder = ""
textureFile = "" textureFile = ""
try: try:
texturesFolder = Path("../data/images/entities") texturesFolder = Path("./data/images/entities")
textureFile = texturesFolder / textureName textureFile = texturesFolder / textureName
except IOError: except IOError:
print("Cannot load texture from " + texturesFolder + ". Exiting...") print("Cannot load texture from " + texturesFolder + ". Exiting...")
exit(1) exit(1)
image = pygame.image.load(str(textureFile)).convert_alpha() image = pygame.image.load(str(textureFile.resolve())).convert_alpha()
image = pygame.transform.scale(image, (tileSize, tileSize)) image = pygame.transform.scale(image, (tileSize, tileSize))
rect = image.get_rect() rect = image.get_rect()
return image, rect return image, rect

View File

@ -12,12 +12,12 @@ from src.game.Timer import Timer
class Game: class Game:
def __init__(self): def __init__(self, filesPath):
self.running = True self.running = True
print("Loading configuration...", end=" ") print("Loading configuration...", end=" ")
try: try:
configFolder = Path("../data/config/") configFolder = Path(str(filesPath) + "/data/config/")
configFile = configFolder / "mainConfig.json" configFile = configFolder / "mainConfig.json"
self.config = json.loads(configFile.read_text()) self.config = json.loads(configFile.read_text())
@ -47,8 +47,8 @@ class Game:
self.screen = Screen(self, self.config["window"]) self.screen = Screen(self, self.config["window"])
print("OK") print("OK")
self.mapDataFolder = path.dirname("../data/mapdata/") mapFile = Path(str(filesPath) + "/data/mapdata/")
self.map = Map(path.join(self.mapDataFolder, 'map.txt'), self.screen) self.map = Map(path.join(mapFile, 'map.txt'), self.screen)
self.player = Player((6, 2), self.map.tileSize) self.player = Player((6, 2), self.map.tileSize)
self.map.addEntity(self.player) self.map.addEntity(self.player)
self.eventManager = EventManager(self, self.player) self.eventManager = EventManager(self, self.player)

View File

@ -1,14 +1,13 @@
from pathlib import Path
import pygame import pygame
import os
from os import path
class TerrainTile(pygame.sprite.Sprite): class TerrainTile(pygame.sprite.Sprite):
def __init__(self, x, y, texture, tileSize): def __init__(self, x, y, texture, tileSize):
super().__init__() super().__init__()
self.imagesFolder = path.dirname("../data/images/") terrainTexturesPath = Path("./data/images/terrain").resolve()
self.terrainFolder = path.join(self.imagesFolder, 'terrain') self.image = pygame.image.load(str(terrainTexturesPath / texture)).convert()
self.image = pygame.image.load(os.path.join(self.terrainFolder, texture)).convert()
self.image = pygame.transform.scale(self.image, (tileSize, tileSize)) self.image = pygame.transform.scale(self.image, (tileSize, tileSize))
self.rect = self.image.get_rect() self.rect = self.image.get_rect()
self.x = x self.x = x