Merge remote-tracking branch 'origin/development'
# Conflicts: # environment.md
This commit is contained in:
commit
748e317e2e
5
Run.py
5
Run.py
@ -1,3 +1,6 @@
|
||||
from pathlib import Path
|
||||
|
||||
from src.game.Game import Game
|
||||
|
||||
game = Game()
|
||||
programPath = Path(".").resolve()
|
||||
game = Game(programPath)
|
||||
|
BIN
data/structure.pdf
Normal file
BIN
data/structure.pdf
Normal file
Binary file not shown.
@ -1,17 +1,15 @@
|
||||
# Środowisko agenta
|
||||
**Skład zespołu:** *Marcin Kostrzewski,* *Mateusz Tylka,* *Michał Czekański,* *Jonathan Spaczyński*
|
||||
**Wybrany temat:** *Inteligentny Survival (temat własny)*
|
||||
**Wykorzystana technologia:** *Pygame*
|
||||
**Wykorzystana technologia:** *Pygame*
|
||||
## Koncepcja
|
||||
* *Środowiskiem naszego agenta jest bezludna wyspa*
|
||||
* *Celem naszego agenta jest przetrwanie*
|
||||
* *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 porusza się w środowisku 20x20*
|
||||
*
|
||||
## Struktura projektu
|
||||
*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
|
||||
* [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) -
|
||||
@ -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.
|
||||
* [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.
|
||||
*
|
||||
## Reprezentacja wiedzy
|
||||
*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.*
|
||||
![screenshot](https://git.wmi.amu.edu.pl/s444409/DSZI_Survival/src/master/data/images/adventure.png)
|
||||
Posiadamy również konsolę, która wypisuje wartości statystyk na ekranie.*
|
||||
|
||||
## Uruchomienie projektu
|
@ -24,12 +24,12 @@ class Entity(pygame.sprite.Sprite):
|
||||
texturesFolder = ""
|
||||
textureFile = ""
|
||||
try:
|
||||
texturesFolder = Path("../data/images/entities")
|
||||
texturesFolder = Path("./data/images/entities")
|
||||
textureFile = texturesFolder / textureName
|
||||
except IOError:
|
||||
print("Cannot load texture from " + texturesFolder + ". Exiting...")
|
||||
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))
|
||||
rect = image.get_rect()
|
||||
return image, rect
|
||||
|
@ -12,12 +12,12 @@ from src.game.Timer import Timer
|
||||
|
||||
|
||||
class Game:
|
||||
def __init__(self):
|
||||
def __init__(self, filesPath):
|
||||
self.running = True
|
||||
print("Loading configuration...", end=" ")
|
||||
|
||||
try:
|
||||
configFolder = Path("../data/config/")
|
||||
configFolder = Path(str(filesPath) + "/data/config/")
|
||||
configFile = configFolder / "mainConfig.json"
|
||||
|
||||
self.config = json.loads(configFile.read_text())
|
||||
@ -47,8 +47,8 @@ class Game:
|
||||
self.screen = Screen(self, self.config["window"])
|
||||
print("OK")
|
||||
|
||||
self.mapDataFolder = path.dirname("../data/mapdata/")
|
||||
self.map = Map(path.join(self.mapDataFolder, 'map.txt'), self.screen)
|
||||
mapFile = Path(str(filesPath) + "/data/mapdata/")
|
||||
self.map = Map(path.join(mapFile, 'map.txt'), self.screen)
|
||||
self.player = Player((6, 2), self.map.tileSize)
|
||||
self.map.addEntity(self.player)
|
||||
self.eventManager = EventManager(self, self.player)
|
||||
|
@ -1,14 +1,13 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pygame
|
||||
import os
|
||||
from os import path
|
||||
|
||||
|
||||
class TerrainTile(pygame.sprite.Sprite):
|
||||
def __init__(self, x, y, texture, tileSize):
|
||||
super().__init__()
|
||||
self.imagesFolder = path.dirname("../data/images/")
|
||||
self.terrainFolder = path.join(self.imagesFolder, 'terrain')
|
||||
self.image = pygame.image.load(os.path.join(self.terrainFolder, texture)).convert()
|
||||
terrainTexturesPath = Path("./data/images/terrain").resolve()
|
||||
self.image = pygame.image.load(str(terrainTexturesPath / texture)).convert()
|
||||
self.image = pygame.transform.scale(self.image, (tileSize, tileSize))
|
||||
self.rect = self.image.get_rect()
|
||||
self.x = x
|
||||
|
Loading…
Reference in New Issue
Block a user