]> git.ayabusa.dev Git - a-la-carte.git/commitdiff
implemented the trash can
authorayabusa <lebgpub@gmail.com>
Sat, 21 Dec 2024 09:22:52 +0000 (10:22 +0100)
committerayabusa <lebgpub@gmail.com>
Sat, 21 Dec 2024 09:22:52 +0000 (10:22 +0100)
src/game.py
src/maps/_mapgenerator.py
src/maps/generated_maps.txt
src/maps/map_0.png
src/sprites/poubelle.png [new file with mode: 0644]
src/sprites/sprites_converted.txt

index d6fa44fe7263734520a9c05a7412bdfb602e925f..d3cdcadae3208b2b724c59dcd828b14263bfa853 100644 (file)
@@ -25,6 +25,8 @@ sprites ={'assiette': (0, 2, 20, 17,
                'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg044444440gggggg044444440ggggggg0000000ggggggg0ccccccc0ggggg0ccccccccc0gggg0c0ccccc0c0gggg0c0ccccc0c0gggg000ccccc000gggggg0ccccc0gggggggg0000000ggggggggg00g00ggggg'),
  'poele': (0, 0, 19, 19,
            'gggggg00000000gggggggg000eeeeeeee000gggg0eeeffffffffeee0gg0eeffeeeeeeeeffee0g0efeeeeeeeeeeeefe0g0efeeeeeeeeeeeefe0g0eeeeeeeeeeeeeeee0g00eeeeeeeeeeeeee00g0b0000eeeeee0000f0g000fff000000ffff00g00fffffffffff000f0g0ff0000000000baf0g0ff0fabfffbafffba0g0f0ffbff2f3b3ffff0gg0fff0ffffffff0fff0g0fff0000000000fff0g0fff0gggggggg0fff0g0ff0gggggggggg0ff0gg00gggggggggggg00g'),
+ 'poubelle': (0, 0, 20, 20,
+              'ggggg0000000000ggggggggg0ffffffffff0ggggggg0fffffffffffe0ggggg0ffffffffffffef0ggg0fffefffffffffeff0g0ffffefff66f6ffffff00ffffeff6ff66ffefff00ffffeffff666ffffff00ffffef6fffffffffff00ffffe666ff6f6fefff00ffffef6ff666ffefff00ffffeff6ff6fffefff00ffffefffffffffefff00ffffffffffffffffff00ffffeeeeeeeeeeffff00fffeffffffffffefff00ffefff000000fffeff00fefff00000000fffef0g0fff0000000000fffeggg0000000000000000gg'),
  'salade': (1, 4, 18, 13,
             'gggggggggggg0gggggggggg0000g0070gggggggg07777077570ggggg00755567567570ggg077567777777570gg07657765655767770g077776556556755770000076556556767070ggg075556555670g00ggg075556555670gggggg07665655670gggggggg077777770gggggggggg0000000gggggg'),
  'salade_cuite': (2, 7, 15, 9,
@@ -36,7 +38,7 @@ sprites ={'assiette': (0, 2, 20, 17,
 
 key_pressed = [False]*5
 
-maps = [[[2, 2, 2, 3, 3, 2, 2, 2], [2, 1, 1, 1, 1, 1, 1, 4], [6, 0, 0, 4, 9, 0, 0, 5], [7, 0, 0, 2, 8, 0, 0, 2], [1, 0, 0, 1, 1, 0, 0, 1]]]
+maps = [[[2, 2, 2, 3, 3, 2, 11, 2], [2, 1, 1, 1, 1, 1, 1, 4], [6, 0, 0, 4, 9, 0, 0, 5], [7, 0, 0, 2, 8, 0, 0, 2], [1, 0, 0, 1, 1, 0, 0, 1]]]
 
 class Ingredient:
     def __init__(self, i_nom):
@@ -73,10 +75,7 @@ class Player:
         elif dir=="left": el,elx,ely=self.game.map[self.y][self.x-1],self.x-1,self.y
         else: el,elx,ely=self.game.map[self.y][self.x+1],self.x+1,self.y
         if self.holding != None:
-            el = (el,self.holding.i_nom)
-            self.game.map[ely][elx]=el
-            game.draw_element(el, elx, ely)
-            self.holding = None
+            self.holding = self.game.poser_ingredient(elx,ely,self.holding)
             self.draw_player()
         else:
             self.holding = self.game.recup_ingredient(elx,ely)
@@ -154,6 +153,9 @@ class Game:
             fill_rect(x*40, y*40+40, 40, 40, colors[4])
             game.draw_sprite("caisse", x*40, y*40+40, 2)
             game.draw_sprite("pain", x*40, y*40+40, 2)
+        elif el==11:
+            fill_rect(x*40, y*40+40, 40, 40, colors[4])
+            game.draw_sprite("poubelle", x*40, y*40+40, 2)
         if type(element)==tuple: 
             game.draw_sprite(element[1], x*40, y*40+40, 2)
 
@@ -174,6 +176,24 @@ class Game:
                 curx += 1
             curx=0
             cury+=1
+    def poser_ingredient(self, elx:int,ely:int,holding:Ingredient)->Ingredient:
+        old_el=self.map[ely][elx]
+        if type(old_el) == tuple: return holding
+        result = None
+        if old_el==11:
+            return None
+        elif old_el==2:
+            pass
+        elif old_el==3 and holding.i_nom=='steak':
+            pass
+        elif old_el==4 and(holding.i_nom=='oignon' or holding.i_nom=='salade'):
+            pass
+        else:
+            return holding
+        el = (old_el,holding.i_nom)
+        self.map[ely][elx]=el
+        game.draw_element(el, elx, ely)
+        return result
     def recup_ingredient(self, elx:int,ely:int)->Ingredient:
         el=self.map[ely][elx]
         if type(el)!=tuple: 
index b21938b796e8d88d66c7521b8c07fb5db302e962..4bc8f32f9150d4c1f08a213201d9512990121b3f 100644 (file)
@@ -12,7 +12,8 @@ colors_value = {(86,108,134): (0, "sol"),
                 (93,39,93): (6, "oignons"),
                 (167,240,112): (7, "salade"),
                 (177,62,83): (8, "viande"),
-                (37,113,121): (9, "pain")
+                (37,113,121): (9, "pain"),
+                (26,28,44): (11,"poubelle")
                 }
 
 def get_color_id(r, g, b, a):
index 1011cfb4e53cb52b5db77411b29573587594dd3f..4273f15fd5cdfa3ed8f39b98e52fa85e028c36a1 100644 (file)
@@ -1,4 +1,4 @@
 map_0.png
-{'map_0': [[2, 2, 2, 3, 3, 2, 2, 2], [2, 1, 1, 1, 1, 1, 1, 4],
+{'map_0': [[2, 2, 2, 3, 3, 2, 11, 2], [2, 1, 1, 1, 1, 1, 1, 4],
            [6, 0, 0, 4, 9, 0, 0, 5], [7, 0, 0, 2, 8, 0, 0, 2],
            [1, 0, 0, 1, 1, 0, 0, 1]]}
index f054294ebfacc25b9a01e02e495156e29e994e72..99523bbdf22648c851fabf327ada41262eda373d 100644 (file)
Binary files a/src/maps/map_0.png and b/src/maps/map_0.png differ
diff --git a/src/sprites/poubelle.png b/src/sprites/poubelle.png
new file mode 100644 (file)
index 0000000..1ce7859
Binary files /dev/null and b/src/sprites/poubelle.png differ
index dff40e7213db1d03c0fd83ae7b19404373109ed6..21cd77a59020f28f385c0a6c35f98d219c4f5b3e 100644 (file)
@@ -21,6 +21,8 @@ _converter.py
                'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg044444440gggggg044444440ggggggg0000000ggggggg0ccccccc0ggggg0ccccccccc0gggg0c0ccccc0c0gggg0c0ccccc0c0gggg000ccccc000gggggg0ccccc0gggggggg0000000ggggggggg00g00ggggg'),
  'poele': (0, 0, 19, 19,
            'gggggg00000000gggggggg000eeeeeeee000gggg0eeeffffffffeee0gg0eeffeeeeeeeeffee0g0efeeeeeeeeeeeefe0g0efeeeeeeeeeeeefe0g0eeeeeeeeeeeeeeee0g00eeeeeeeeeeeeee00g0b0000eeeeee0000f0g000fff000000ffff00g00fffffffffff000f0g0ff0000000000baf0g0ff0fabfffbafffba0g0f0ffbff2f3b3ffff0gg0fff0ffffffff0fff0g0fff0000000000fff0g0fff0gggggggg0fff0g0ff0gggggggggg0ff0gg00gggggggggggg00g'),
+ 'poubelle': (0, 0, 20, 20,
+              'ggggg0000000000ggggggggg0ffffffffff0ggggggg0fffffffffffe0ggggg0ffffffffffffef0ggg0fffefffffffffeff0g0ffffefff66f6ffffff00ffffeff6ff66ffefff00ffffeffff666ffffff00ffffef6fffffffffff00ffffe666ff6f6fefff00ffffef6ff666ffefff00ffffeff6ff6fffefff00ffffefffffffffefff00ffffffffffffffffff00ffffeeeeeeeeeeffff00fffeffffffffffefff00ffefff000000fffeff00fefff00000000fffef0g0fff0000000000fffeggg0000000000000000gg'),
  'salade': (1, 4, 18, 13,
             'gggggggggggg0gggggggggg0000g0070gggggggg07777077570ggggg00755567567570ggg077567777777570gg07657765655767770g077776556556755770000076556556767070ggg075556555670g00ggg075556555670gggggg07665655670gggggggg077777770gggggggggg0000000gggggg'),
  'salade_cuite': (2, 7, 15, 9,