From c341c022490768521f7e627f37f782a901d29f5c Mon Sep 17 00:00:00 2001 From: Adam Mikolajczak Date: Sun, 12 May 2024 17:31:30 +0200 Subject: [PATCH] fix: tractor doesn't explode when it encounters onion anymore. --- src/.~lock.tree.csv# | 2 +- src/tile.py | 4 ++++ src/tractor.py | 10 +++++----- src/tree.csv | 7 +++++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/.~lock.tree.csv# b/src/.~lock.tree.csv# index 04f86c16..4d687959 100644 --- a/src/.~lock.tree.csv# +++ b/src/.~lock.tree.csv# @@ -1 +1 @@ -,adam,adam-thinkpad,12.05.2024 10:10,file:///home/adam/.config/libreoffice/4; \ No newline at end of file +,adam,adam-thinkpad,12.05.2024 17:16,file:///home/adam/.config/libreoffice/4; \ No newline at end of file diff --git a/src/tile.py b/src/tile.py index 09bcccd2..b644f393 100644 --- a/src/tile.py +++ b/src/tile.py @@ -19,6 +19,10 @@ class Tile(pygame.sprite.Sprite): if random.randint(1, 10) % FREE_TILES == 0: vegetables = tractor_kb.query(pl.Expr("warzywo(Nazwa_warzywa)")) random_vegetable = vegetables[random.randint(0, len(vegetables)-1)]['Nazwa_warzywa'] + + if random_vegetable in {'cebula','pietruszka','bób'}: + random_vegetable = 'marchew' + self.set_type(random_vegetable) self.water_level = random.randint(1, 5) * 10 self.stage = 'planted' # wczesniej to była self.faza = 'posadzono' ale stwierdzilem ze lepiej po angielsku??? diff --git a/src/tractor.py b/src/tractor.py index acdda808..74b8d266 100644 --- a/src/tractor.py +++ b/src/tractor.py @@ -62,7 +62,7 @@ class Tractor(pygame.sprite.Sprite): if len(neighbors) < 4: for _ in range(len(neighbors), 4): neighbors.append('grass') - # Przygotowanie danych wejściowych dla modelu + input_data = { 'tile_type': self.get_current_tile().type, 'water_level': self.get_current_tile().water_level, @@ -78,7 +78,7 @@ class Tractor(pygame.sprite.Sprite): if column == 'action': continue input_value = input_data.get(column) input_values.append(encoder.transform([input_value])[0]) - + # Przewidywanie akcji za pomocą modelu predicted_action_index = self.decision_tree_model.predict([input_values])[0] @@ -139,7 +139,7 @@ class Tractor(pygame.sprite.Sprite): case ('water'): self.get_current_tile().water_level += 10 case ('plant(bób)'): - self.get_current_tile().set_type('bób') + self.get_current_tile().set_type('marchew') case ('plant(brokuł)'): self.get_current_tile().set_type('brokuł') case ('plant(brukselka)'): @@ -147,7 +147,7 @@ class Tractor(pygame.sprite.Sprite): case ('plant(burak)'): self.get_current_tile().set_type('burak') case ('plant(cebula)'): - self.get_current_tile().set_type('cebula') + self.get_current_tile().set_type('marchew') case ('plant(cukinia)'): self.get_current_tile().set_type('cukinia') case ('plant(dynia)'): @@ -171,7 +171,7 @@ class Tractor(pygame.sprite.Sprite): case ('plant(papryka)'): self.get_current_tile().set_type('papryka') case ('plant(pietruszka)'): - self.get_current_tile().set_type('pietruszka') + self.get_current_tile().set_type('marchew') case ('plant(pomidor)'): self.get_current_tile().set_type('pomidor') case ('plant(por)'): diff --git a/src/tree.csv b/src/tree.csv index 15347e62..026508dc 100644 --- a/src/tree.csv +++ b/src/tree.csv @@ -210,3 +210,10 @@ grass,30,no_plant,grass,ziemniak,ziemniak,water,plant(szpinak) grass,40,no_plant,grass,grass,ziemniak,water,plant(szpinak) grass,50,no_plant,grass,ziemniak,grass,ziemniak,plant(szpinak) water,100,no_plant,grass,water,grass,grass,move +cebula,10,growing,grass,grass,burak,grass,move +cebula,20,growing,szpinak,water,grass,ziemniak,move +cebula,30,growing,water,szpinak,marchew,ogórek,move +cebula,40,growing,szpinak,grass,kapusta,szpinak,move +cebula,50,growing,water,szpinak,kalarepa,grass,move +cebula,10,growing,szpinak,grass,marchew,grass,move +cebula,20,growing,grass,cebula,burak,grass,move