self.i_nom = i_nom
class Assiette:
- def __init__(self, a_ingredients=None):
+ def __init__(self, a_ingredients=[]):
self.a_ingredients = a_ingredients
def render(self, x, y, multiplier):
- pass
+ draw_sprite("assiette",x,y,multiplier)
+ if self.a_ingredients==[]: return
+ if "pain" in self.a_ingredients: draw_sprite("pain_bas",x,y,multiplier)
+ if "salade_cuite" in self.a_ingredients: draw_sprite("salade_cuite",x+multiplier,y-multiplier,multiplier)
+ if "steak_cuit" in self.a_ingredients: draw_sprite("steak_cuit",x,y-2*multiplier,multiplier)
+ if "oignon_coupe" in self.a_ingredients: draw_sprite("oignon_coupe",x+multiplier,y-4*multiplier,multiplier)
+ if "tomate_coupe" in self.a_ingredients: draw_sprite("tomate_coupe",x-2*multiplier,y-multiplier,multiplier)
+ if "pain" in self.a_ingredients: draw_sprite("pain_haut",x,y,multiplier)
class Player:
def __init__(self, game: object, x:int, y:int) -> None:
self.game = game
self.direction = "down"
self.holding=Ingredient("salade")
+ assiette = Assiette()
+ assiette.render(0,0,2)
def draw_player(self)->None:
draw_sprite("player_"+self.direction, self.x*40, self.y*40+40, 2)
- if self.holding != None:
+ if type(self.holding)==Ingredient:
draw_sprite(self.holding.i_nom, self.x*40+10, self.y*40+60)
+ elif type(self.holding)==Assiette:
+ self.holding.render(self.x*40+10, self.y*40+60, 1)
def move(self, x_mod: int, y_mod: int)->None:
el = maps[game.mapid][self.y][self.x]
self.game.draw_element(el, self.x, self.y)
def scan_keyboard(self):
if ion.keydown(ion.KEY_OK) or ion.keydown(ion.KEY_HOME):
self.player.do_pickup_action()
- time.sleep(0.1)
+ time.sleep(0.2)
elif ion.keydown(ion.KEY_TOOLBOX) or ion.keydown(ion.KEY_POWER):
print("hello")
time.sleep(0.1)
for c in range(8):
el = self.map[l][c]
self.draw_element(el, c, l)
- def poser_ingredient(self, elx:int,ely:int,holding:Ingredient)->Ingredient:
+ def poser_ingredient(self, elx:int,ely:int,holding:Ingredient|Assiette)->Ingredient|Assiette:
old_el=self.map[ely][elx]
- if type(old_el) == tuple: return holding
- result = None
- el = (old_el,holding.i_nom)
- if old_el==11:
- return None
- elif old_el==2:
- 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' or holding.i_nom=='tomate'):
- el = (el[0],el[1],time.monotonic(), 5)
- else:
- return holding
- self.map[ely][elx]=el
- game.draw_element(el, elx, ely)
- return result
- def recup_ingredient(self, elx:int,ely:int)->Ingredient:
+ if type(old_el)==tuple and type(old_el[1])!=Assiette: return holding
+ if type(holding)==Ingredient:
+ result = None
+ el = (old_el,holding.i_nom)
+ if old_el==11:
+ return None
+ elif old_el==2:
+ 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' or holding.i_nom=='tomate'):
+ el = (el[0],el[1],time.monotonic(), 5)
+ elif type(old_el)==tuple and type(old_el[1])==Assiette:
+ n=holding.i_nom
+ if n=="salade_cuite" or n=="tomate_coupe" or n=="oignon_coupe" or n=="pain" or n=="steak_cuit":
+ if n not in self.map[ely][elx][1].a_ingredients:
+ self.map[ely][elx][1].a_ingredients.append(n)
+ self.map[ely][elx][1].render(elx*40,ely*40+40,2)
+ return None
+ else:
+ return holding
+ self.map[ely][elx]=el
+ game.draw_element(el, elx, ely)
+ return result
+ elif type(holding)==Assiette:
+ if old_el==11:
+ return None
+ elif old_el==2:
+ self.map[ely][elx]=(old_el,holding)
+ holding.render(elx*40, ely*40+40, 2)
+ return None
+ def recup_ingredient(self, elx:int,ely:int)->Ingredient|Assiette:
el=self.map[ely][elx]
- if type(el)!=tuple:
+ if type(el)==int:
if el==5: return Assiette()
elif el==6: return Ingredient("oignon")
elif el==7: return Ingredient("salade")
elif el==9: return Ingredient("pain")
elif el==12: return Ingredient("tomate")
return None
+ elif type(el[1])==Assiette:
+ self.map[ely][elx]=2
+ self.draw_element(2,elx,ely)
+ return el[1]
if el[0]==2:
print("element picked")
self.map[ely][elx]=2