From 7c664a5999ade15e7311ca7e8e2caa4c5fe255f6 Mon Sep 17 00:00:00 2001 From: ayabusa Date: Mon, 23 Dec 2024 18:02:40 +0100 Subject: [PATCH] added tomato, and fixed offset bug in draw sprite --- src/game.py | 26 +++++++++++++++++++++----- src/maps/_mapgenerator.py | 3 ++- src/maps/generated_maps.txt | 2 +- src/maps/map_0.png | Bin 178 -> 178 bytes src/sprites/assiette.png | Bin 268 -> 266 bytes src/sprites/pain_bas.png | Bin 0 -> 197 bytes src/sprites/pain_haut.png | Bin 0 -> 224 bytes src/sprites/sprites_converted.txt | 12 ++++++++++-- src/sprites/tomate.png | Bin 0 -> 295 bytes src/sprites/tomate_coupe.png | Bin 0 -> 259 bytes 10 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 src/sprites/pain_bas.png create mode 100644 src/sprites/pain_haut.png create mode 100644 src/sprites/tomate.png create mode 100644 src/sprites/tomate_coupe.png diff --git a/src/game.py b/src/game.py index 14f3772..e5673ff 100644 --- a/src/game.py +++ b/src/game.py @@ -3,7 +3,7 @@ import ion, time print("Game started") colors = [color(i) for i in [(26,28,44),(93,39,93),(177,62,83),(239,125,87),(255,205,117),(167,240,112),(56,183,100),(37,113,121),(41,54,111),(59,93,201),(65,166,246),(115,239,247),(244,244,244),(148,176,194),(86,108,134),(51,60,87)]] -sprites ={'assiette': (0, 2, 20, 17, +sprites ={'assiette': (0, 3, 20, 17, 'ggggggg000000gggggggggggg00cccccc00gggggggg00cccccccccc00ggggg0cccccccccccccc0ggg0cccccddddddccccc0gg0ccccdccccccdcccc0g0ccccdccccccccdcccc00cccdccccccccccdccd00cccdcccccccccccccd00dccdcccccccccccccd00dcccdccccccccccccd0g0dcccccddcccccccd0gg0dccccccccccccccd0ggg0ddccccccccccdd0ggggg00ddccccccdd00gggggggg00dddddd00gggggggggggg000000ggggggg'), 'caisse': (0, 0, 20, 20, 'gg0000000000000000ggg0c0ccccccccccdcdd0g0ccd0ddcccddcdddddc000cdd0cccddcdddddcc00c0de0000000000dccc00cd00eeedddd0dd0ccc00cdc0eddddd0ddd0ccd00ccc0edddd0ccd00cde00ccc0dddd0cdd0e0dee00ccd0ddd0ddd0ed0eed00cdd0dd0ddd0edd0edd00ddc0d0cdd0eddd0dde00ccd00cdd0eeddd0dee00cdd0cdd0eedddd0eee00ddd0dd0eeddddd00ee00ddde0000000000cd0e00dddccccdeecce0ccd000ddccccdeeddeee0dde0g0ccccdeeddeeeee0d0ggg0000000000000000gg'), @@ -15,6 +15,10 @@ sprites ={'assiette': (0, 2, 20, 17, 'gggggg00000ggggg000ccccc0ggg0cccc000c0gg0c00c100g0c00c0g0c1cc00c00c00g0c11cc1001cc00ccc110gg011cc1000c0ggg0011c0g0c0ggggg00c00g0c0ggggg01cc00c0gggggg011cc10ggggggg00110gggggggggg00gg'), 'pain': (2, 4, 17, 14, 'ggggg0000000ggggggg0004444444000ggg04cc44443444330g0444444344444433004443444443444330043444444444443300444444444433333004433443333333330g000033333330000g0033300000003330004444333344444330g044344444433330ggg0004343333000ggggggg0000000ggggg'), + 'pain_bas': (2, 12, 17, 5, + '00333ggggggg3330004444333344444330g044344444433330ggg0004343333000ggggggg0000000ggggg'), + 'pain_haut': (2, 0, 17, 10, + 'ggggg0000000ggggggg0004444444000ggg04cc44443444330g0444444344444433004443444443444330043444444444443300444444444433333004433443333333330g000033333330000gggggg0000000ggggg'), 'planche': (0, 5, 20, 14, 'ggggg00000000000000ggggg0333333333333330g00g0333003333333330033003320c0333323330033333330cd022233330032333330ddc023333300332233330ddd033333002200333330ddd033330g00g03333330ddf03330gggg022222220fdf0220ggggg00000000ffff00gggggggggggggg00fdf0gggggggggggggggg0ff0ggggggggggggggggg00gg'), 'player_down': (3, 0, 15, 20, @@ -36,10 +40,15 @@ sprites ={'assiette': (0, 2, 20, 17, 'steak': (3, 3, 14, 14, 'ggg0000000gggggg033322cc0gggg0cc222d2c20gg032d22cc2c220g0322d2c222c0gg022d2c22220gggg0c22cd220ggggg022222d20gggggg0222d2d20gggggg02d2d2220gggggg0c2c222c0gggggg0cc22d220gggggg00cc2220gggggggg00000g'), 'steak_cuit': (3, 5, 15, 9, - 'gggg0000000ggggg0000223320000g003323332333200033233322333330032333233323320023332333233220022222333222220g0002222222000ggggg0000000gggg')} + 'gggg0000000ggggg0000223320000g003323332333200033233322333330032333233323320023332333233220022222333222220g0002222222000ggggg0000000gggg'), + 'tomate': (4, 3, 12, 13, + 'ggggggg0gggggggg0g060gggggg060700ggggg02277220ggg0276767220g026226227220022c22722120022cc222221002222c222110g0222222210gg0222221110ggg00111100gggggg0000gggg'), + 'tomate_coupe': (3, 4, 13, 11, + 'gggggg000ggggggggg02220ggggggg0233220gggggg02434220ggg00233433220g022224344320022334223320g02334320220gg0223442000gggg0222220ggggggg00000gggggg')} + key_pressed = [False]*5 -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]]] +maps = [[[2, 2, 2, 3, 3, 2, 11, 2], [12, 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]]] def draw_sprite(sprite_name: str, x: int, y: int, multiplier=1)->None: if sprite_name not in sprites: raise ValueError('Sprite name not in sprites') @@ -49,7 +58,7 @@ def draw_sprite(sprite_name: str, x: int, y: int, multiplier=1)->None: for k in range(w): px = int(data[w*i+k], 18) if px != 16 and px != 17: - fill_rect(x+offx+curx*multiplier,y+offy+cury*multiplier,multiplier,multiplier,colors[px]) + fill_rect(x+offx*multiplier+curx*multiplier,y+offy*multiplier+cury*multiplier,multiplier,multiplier,colors[px]) curx += 1 curx=0 cury+=1 @@ -113,6 +122,8 @@ class Game: self.map[i][k] = (el[0],"salade_cuite") if el[1] == "oignon": self.map[i][k] = (el[0],"oignon_coupe") + if el[1] == "tomate": + self.map[i][k] = (el[0],"tomate_coupe") self.draw_element(self.map[i][k],k,i) else: self.draw_progressbar(k,i, (time.monotonic()-el[2])*18//el[3]) @@ -190,6 +201,10 @@ class Game: elif el==11: fill_rect(x*40, y*40+40, 40, 40, colors[4]) draw_sprite("poubelle", x*40, y*40+40, 2) + elif el==12: + fill_rect(x*40, y*40+40, 40, 40, colors[4]) + draw_sprite("caisse", x*40, y*40+40, 2) + draw_sprite("tomate", x*40, y*40+40, 2) if type(element)==tuple: draw_sprite(element[1], x*40, y*40+40, 2) @@ -209,7 +224,7 @@ class Game: pass elif old_el==3 and holding.i_nom=='steak': el = (el[0],el[1],time.monotonic(), 8) - elif old_el==4 and(holding.i_nom=='oignon' or holding.i_nom=='salade'): + elif old_el==4 and(holding.i_nom=='oignon' or holding.i_nom=='salade' or holding.i_nom=='tomate'): el = (el[0],el[1],time.monotonic(), 5) else: return holding @@ -224,6 +239,7 @@ class Game: elif el==7: return Ingredient("salade") elif el==8: return Ingredient("steak") elif el==9: return Ingredient("pain") + elif el==12: return Ingredient("tomate") return None if el[0]==2: print("element picked") diff --git a/src/maps/_mapgenerator.py b/src/maps/_mapgenerator.py index 4bc8f32..d19221a 100644 --- a/src/maps/_mapgenerator.py +++ b/src/maps/_mapgenerator.py @@ -13,7 +13,8 @@ colors_value = {(86,108,134): (0, "sol"), (167,240,112): (7, "salade"), (177,62,83): (8, "viande"), (37,113,121): (9, "pain"), - (26,28,44): (11,"poubelle") + (26,28,44): (11,"poubelle"), + (65,166,246): (12,"tomate") } def get_color_id(r, g, b, a): diff --git a/src/maps/generated_maps.txt b/src/maps/generated_maps.txt index 4273f15..cf9cefd 100644 --- a/src/maps/generated_maps.txt +++ b/src/maps/generated_maps.txt @@ -1,4 +1,4 @@ map_0.png -{'map_0': [[2, 2, 2, 3, 3, 2, 11, 2], [2, 1, 1, 1, 1, 1, 1, 4], +{'map_0': [[2, 2, 2, 3, 3, 2, 11, 2], [12, 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]]} diff --git a/src/maps/map_0.png b/src/maps/map_0.png index 99523bbdf22648c851fabf327ada41262eda373d..f1a45c97957609576af9e45a5bc02f5b689d9811 100644 GIT binary patch delta 112 zcmdnQxQTIsXJ+5&eShQ2Z6`8HZ@8s-@PNc>x!?bnuU2CQg2PXP^(FsB6dOwXdzP92 z1T(HrJbvIwX^_Oa$G1w%+U9NE{-EaF>|P!pxxMEfGRd3SByHH7?)Z?ILCi`mNo(DP Qa|}S>>FVdQ&MBb@0KgeCbN~PV delta 112 zcmdnQxQTIsXXgL&)BgS6@KBK1EMaSKQ=_WhE7rsQ;k9f)&~|!xoY9|+&yo!OoIQO2 z2nwp=<(Ma5_e|W;mwoxBMAf-_O`mt>n;98Yez9xkuDS7{SCIp!hO-x#WBR9H#tF~aH9TEF(!t?E%T;bIsBTH0SG)@{an^LB{Ts5S8NY& delta 46 zcmeBT>S3Co!hPA(#WBR9H#tG#%|!j95<#*I44Dnc)I$ztaD0e0sw)) B5S{=4 diff --git a/src/sprites/pain_bas.png b/src/sprites/pain_bas.png new file mode 100644 index 0000000000000000000000000000000000000000..b591b625471cbe5b6280830ee203563d9ea85dbb GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;AkEe@ch(+()a~pY^4Fnu6=65nK zaMj?R;rilIpfN`%+d@D0vV+_TPTbNnULD{|V|)}pw`8BXvyRwqXRo$B8oCXcU-q4e z%NO0jn2?#Rz4;vv!)KEfM{2+P4f!W{T+rcH&722Y6##}vV%geJZ_6S6`Phj> aVh=xu&PM*BH%)2)0000&H(LY`hurR0)gg1bf+IJnTQ{^89;SF!K z$m;yq%S&0+W=>f^g)4wz?V*HffpLFK+#hF9A)P~MQu%~sT3*V;_e7d>N#{@oGD*9K t0G`!(IgjrNfN~F&z<02a3iQ|S^aQ~eTl0F|_#*%S002ovPDHLkV1ghrgg^iQ literal 0 HcmV?d00001 diff --git a/src/sprites/tomate_coupe.png b/src/sprites/tomate_coupe.png new file mode 100644 index 0000000000000000000000000000000000000000..57f3e2dbb0ee67531a4fc1f56f8cfe4fbce5c2dd GIT binary patch literal 259 zcmV+e0sQ`nP)ST5Jg|23_u-46mDoT1K9wv24yCpWDS%JV1_g_6evo~07#@jXBlE_q%3nnA0xMLc_Zf^XsI!{D;@ecWu7(NPHmgpLK8FB78Um2y z3V=dIvlzS%<+AB6NJILv^E&;?aG62kdlx2n{%=f9SK!GmLw!n7%sXp4sUl&YlOX=4BY literal 0 HcmV?d00001