Zaktualizuj 'environment.md'
This commit is contained in:
parent
da944f1ac0
commit
5eb1e26f9f
@ -8,6 +8,7 @@ ___
|
||||
- język programowania Python
|
||||
- biblioteka Pygame
|
||||
___
|
||||
|
||||
Pierwszym zadaniem dotyczącym projektu jest implementacja dwuwymiarowego środowiska (tzw. kraty), w którym poruszać będzie się nasz agent.
|
||||
|
||||
W tym celu za pomocą funkcji **display.set_mode** z biblioteki **Pygame** utworzyłyśmy dwuwymiarowe środowisko graficzne o wymiarach __1280x720 pikseli__.
|
||||
@ -18,11 +19,13 @@ screen = pygame.display.set_mode((1280, 720))
|
||||
```
|
||||
|
||||
Dla lepszej reprezentacji agenta posłużyłyśmy się obrazkiem traktora.
|
||||
|
||||
```
|
||||
image = pygame.image.load(r'traktor.jpg')
|
||||
```
|
||||
|
||||
A jako punkt startowy ustawiłyśmy dla niego kolejno współrzędne x i y:
|
||||
|
||||
```
|
||||
x=0
|
||||
y=0
|
||||
@ -33,22 +36,31 @@ screen.fill(white)
|
||||
def traktor(x,y):
|
||||
screen.blit(image, (x,y))
|
||||
```
|
||||
|
||||
|
||||
Powyższy kod wyświetlił agenta w **lewym górnym rogu okna**, gdzie znajduje się punkt (0,0) .
|
||||
|
||||
![Początkowa pozycja traktora](https://drive.google.com/open?id=1NKc2R65ngM9966mGoLnmHgmpkX-vgvIa)
|
||||
|
||||
|
||||
|
||||
Później za pomocą pętli **for** "wyłapujemy" wszystkie występujące eventy w trakcie działania naszego programu.
|
||||
|
||||
```
|
||||
for event in pygame.event.get():
|
||||
```
|
||||
|
||||
|
||||
Uwzględniamy sytuację, w której chcemy zamknąć okno, w którym pracuje agent:
|
||||
|
||||
```
|
||||
if event.type==pygame.QUIT:
|
||||
sys.exit(0)
|
||||
```
|
||||
|
||||
|
||||
Następnie, manipulując współrzędnymi **x** i **y**, traktor porusza się według schematu (wartości dobrane losowo):
|
||||
|
||||
```
|
||||
if x <1200 and y==0:
|
||||
x+=1
|
||||
@ -59,11 +71,15 @@ if x <1200 and y==0:
|
||||
elif x==600 and y>0:
|
||||
y-=1
|
||||
```
|
||||
|
||||
|
||||
Traktor przechodzi na nowe współrzędne:
|
||||
|
||||
```
|
||||
traktor(x,y)
|
||||
```
|
||||
|
||||
|
||||
![Agent w trakcie ruchu](https://drive.google.com/open?id=1nm4rxr7whLjWLzqPvo1mnDAVNFm76q5X)
|
||||
|
||||
|
||||
@ -73,10 +89,12 @@ Dzięki funkcji **flip** poruszający się agent nie pozostawia za sobą śladu.
|
||||
pygame.display.flip()
|
||||
```
|
||||
|
||||
|
||||
![Kolejne położenie traktora](https://drive.google.com/open?id=1Pt_qp_yQNgePITfetHBjd9fLI_4w2R6x)
|
||||
|
||||
|
||||
Agent będzie zajmował się uprawą pola, dlatego potrzebujemy obiektów odpowiedzialnych za przechowywanie wiedzy np. na temat gatunków warzyw/roślin, jakie chcemy uprawiać.
|
||||
|
||||
```
|
||||
class Uprawy:
|
||||
rodzajUprawy="brak"
|
||||
@ -84,7 +102,10 @@ class Uprawy:
|
||||
czyPodacNawoz="nie"
|
||||
stanUprawy="dobry"
|
||||
```
|
||||
|
||||
|
||||
W kodzie programu znajdują się zatem następujące rośliny:
|
||||
|
||||
```
|
||||
marchew = Uprawy()
|
||||
marchew.rodzajUprawy="Marchew"
|
||||
|
Loading…
Reference in New Issue
Block a user