mirror of
https://github.com/ayabusa/A-la-carte.git
synced 2026-04-06 19:36:58 +00:00
This is a mess, but it's fucking finished, thx god
This commit is contained in:
48
src/compressor.py
Normal file
48
src/compressor.py
Normal file
@@ -0,0 +1,48 @@
|
||||
sprites = {'assiette': (0, 3, 20, 17,
|
||||
'ggggggg000000gggggggggggg00cccccc00gggggggg00cccccccccc00ggggg0cccccccccccccc0ggg0cccccddddddccccc0gg0ccccdccccccdcccc0g0ccccdccccccccdcccc00cccdccccccccccdccd00cccdcccccccccccccd00dccdcccccccccccccd00dcccdccccccccccccd0g0dcccccddcccccccd0gg0dccccccccccccccd0ggg0ddccccccccccdd0ggggg00ddccccccdd00gggggggg00dddddd00gggggggggggg000000ggggggg'),
|
||||
'caisse': (0, 0, 20, 20,
|
||||
'gg0000000000000000ggg0c0ccccccccccdcdd0g0ccd0ddcccddcdddddc000cdd0cccddcdddddcc00c0de0000000000dccc00cd00eeedddd0dd0ccc00cdc0eddddd0ddd0ccd00ccc0edddd0ccd00cde00ccc0dddd0cdd0e0dee00ccd0ddd0ddd0ed0eed00cdd0dd0ddd0edd0edd00ddc0d0cdd0eddd0dde00ccd00cdd0eeddd0dee00cdd0cdd0eedddd0eee00ddd0dd0eeddddd00ee00ddde0000000000cd0e00dddccccdeecce0ccd000ddccccdeeddeee0dde0g0ccccdeeddeeeee0d0ggg0000000000000000gg'),
|
||||
'gui_art': (0, 0, 56, 55,
|
||||
'ggggggggggggg0cccccccccd0cccccccddd0cccc00gggggggggggggggggggggggggg0cccccccccd0cccccccccdd0cccccd0ggggggggggggggggggggggggg0ccccccccd0ccccccccccdd0cccccd0ggggggggggggggggggggggggg0ccccccccd0ccccccccccddd0ccccdd0ggggggggggggggggggggggg0ccccccccd0ccccccccccccdd0ccdccd0ggggggggggggggggggggggg0ccccccccd0ccccccccccccdd0ccdccdd0gggggggggggggggggggggg0ccccccccd0ccccccccccccdd0cccdcdd0gggggggggggggggggggggg0cccccccd0cccccccccccccdd0cccdcdd0gggggggggggggggggggggg0cccccccd0cccccccccccccdd0cccccdd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0cccccddd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0cccccdd0gggggggggggggggggggggg0cccccccd0cccccccccccccd0cccccddd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0ccccddd0ggggggggggggggggggggggg0cccccccd0cccccccccccdd0cccccdd0gggggggggggggggggggggggg0cccccccd0ccccccccccdd0cccccdd0ggggggggggggggggggggggggg0ddccccd0ccccccccccdd0cccccdd0gggggggggggggggggggggggggg000dddcd0cccccccccdd0cccccdd0gggggggggggggggggggggggggg0ccc000ddcccccccccdd0cccccdd0ggggggggggggggggggggggggggg0ddcccc00ddccccccdd0cccccdd0gggggggggggggggggggggggggggg000ddcccc00dddccc00cccccdd0gggggggggggggggggggggggggggg043300dddccc000dddccccccdd0gggggggggggggggggggggggggggg0044433000ddcccc000ddcccdd0ggggggggggggggggggggggggggggg044444433300ddccccc00dddd0gggggggggggggggggggggggggggggg04444000443300dddcccd00d0gggggggggggggggggggggggggggggg044440444044433000dddddd0ggggggggggggggggggggggggggggggg04444044004444433300dddd0ggggggggggggggggggggggggggggggg0444444400444400043300d0ggggggggggggggggggggggggggggggg044044440044440044044330gggggggggggggggggggggggggggggggg04404444444444004404330ggggggggggggggggggggggggggggggggg04404444444440044404330ggggggggggggggggggggggggggggggggg0444044444444444444330ggggggggggggg0000000ggggggggggggggg044400444444444444330gggggggggg0004444444000ggggggggggggg0044400444444444330gggggggggg04cc44443444330gggggggggggggg00444000444440330ggggggggg04444443444444330gggggggggggggg004444400440330gggggggggg04443444443444330gggggggggggggg040044444433330gggggggggg04344444444444330ggggggggggggg0c0330000033300ggggggggggg04444444444333330gggggggg000g0ccc00330gg000ggggggggggggg04433443333333330ggggggg0ccc0c0cccc00gggggggggggggggggggg000033333330000fggggg00ccccccc0ccccc000ggggggggggggggggg0222000000022200gggg0cccccccccc0ccccccc0ggggggggggggggg0000022222220000c0gggcccddccccccc0ccccccc0ggggggggggggg0c056600000007600cd0ggcddd00ccccccc0ccccccc0ggggggggggg0c00507055767507040cd0gdd00g0cccc0dc0cccccccc0ggggggggg00c04030307060630330cd0gd0ggg0cccccc0dcc0ddcccc0gggg0000c0dc044344040303330ccd0g0gggg0cccccc0dcd000ddccd0000ccccd0dcc0004343333000cccd0ggggg0ccccccc0ccd0gg00dccccccccccdd0dcccc0000000cccccd0gggggg0cccc0d0dccd0gggg00dccccccc00000dddccccccccccddd0ggggggg0cccccc0dcdd0gggggg0dccc000ggggg000dddddddddd000ggggggg0ccccccc0ccd0gggggggg0000ggggggggggg0000000000gggggggggg0cccccc0dcdd0ggggggggggggggggggggggggggggggggggggggggggg0cccc0d0cddd0gggggggggggggggggggggggggggggggggggggggggg0ccccccc0cdd0ggggggggggggggggggggggggggggggggggggggggggg0cccccc0dcdd0ggggggggggggggggggggggggggggggggggggggggggg0cccc0d0cddd0ggggggggggggggggggggggggggggggggggggggggg'),
|
||||
'money_icon': (0, 0, 8, 11,
|
||||
'ggccccgggcggggcgcggggggccggcgggccggcgggccggccggccggccggccggccggccggggggcgcggggcgggccccgg'),
|
||||
'oignon': (3, 3, 16, 13,
|
||||
'ggggggggggg00ggggggg00000g0650ggggg021122016650ggg0111c111210660g0211c111210g0500211cc11111200500211c11211110g0g012c112111110ggg012c111112120gggg01121112110gggg01221112110gggggg010122110gggggggg0g00000ggggggg'),
|
||||
'oignon_coupe': (3, 5, 13, 14,
|
||||
'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,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg04c848c40gggggg044444440ggggggg0000000ggggggg0cccdccc0ggggg0cccccdccc0gggg0c0cfcdc0c0gggg0c0cccdc0c0gggg000cfcdc000gggggg0cccdc0gggggggg0000000ggggggggg00g00ggggg'),
|
||||
'player_left': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg08c48c440gggggg044444440ggggggg0000000ggggggg0ccdcccc0ggggg0ccccdcccc0gggg0c0cfcd0cc0gggg0c0cccdc0c0gggg000cfcdc000gggggg0cccdc0gggggggg0000000ggggggg000gg000gggg'),
|
||||
'player_right': (2, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000cc000000gggg0ccccccccc0gggg00000000000ggggg044c84c80gggggg044444440ggggggg0000000ggggggg0ccccdcc0ggggg0ccccdcccc0gggg0cc0dcfc0c0gggg0c0cdccc0c0gggg000cdcfc000gggggg0cdccc0gggggggg0000000gggggggg000gg000ggg'),
|
||||
'player_up': (3, 0, 15, 20,
|
||||
'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,
|
||||
'gggg0000000ggggg0055765567000g077755555556770g0655655555560g075566566565550g5666656655760g050705576750700g0g0g070606g0gggggggg0g0g0gggg'),
|
||||
'steak': (3, 3, 14, 14,
|
||||
'ggg0000000gggggg033322cc0gggg0cc222d2c20gg032d22cc2c220g0322d2c222c0gg022d2c22220gggg0c22cd220ggggg022222d20gggggg0222d2d20gggggg02d2d2220gggggg0c2c222c0gggggg0cc22d220gggggg00cc2220gggggggg00000g'),
|
||||
'steak_cuit': (3, 5, 15, 9,
|
||||
'gggg0000000ggggg0000223320000g003323332333200033233322333330032333233323320023332333233220022222333222220g0002222222000ggggg0000000gggg'),
|
||||
'tapis': (0, 0, 20, 20,
|
||||
'feeeeeffffffffeeeeefffeeeeeffffffeeeeefffffeeeeeffffeeeeefffffffeeeeeffeeeeefffffffffeeeeeeeeeefffffefffffeeeeeeeefffffeeefffffeeeeeefffffeeeeefffffeeeefffffeeeeeeefffffeefffffeeeeeeeeeffffffffffeeeeefeeeeeffffffffeeeeefffeeeeeffffffeeeeefffffeeeeeffffeeeeefffffffeeeeeffeeeeefffffffffeeeeeeeeeefffffefffffeeeeeeeefffffeeefffffeeeeeefffffeeeeefffffeeeefffffeeeeeeefffffeefffffeeeeeeeeeffffffffffeeeee'),
|
||||
'time_icon': (0, 0, 8, 11,
|
||||
'gggccggggggccgggggccccgggcggggcgcggggcgccgggcggccggcgggccgggcggccggggggcgcggggcgggccccgg'),
|
||||
'tomate': (4, 3, 12, 13,
|
||||
'ggggggg0gggggggg0g060gggggg060700ggggg02277220ggg0276767220g026226227220022c22722120022cc222221002222c222110g0222222210gg0222221110ggg00111100gggggg0000gggg'),
|
||||
'tomate_coupe': (3, 4, 13, 11,
|
||||
'gggggg000ggggggggg02220ggggggg0233220gggggg02434220ggg00233433220g022224344320022334223320g02334320220gg0223442000gggg0222220ggggggg00000gggggg')}
|
||||
56
src/game.py
56
src/game.py
@@ -76,6 +76,13 @@ def draw_sprite(sprite_name: str, x: int, y: int, multiplier=1)->None:
|
||||
curx += 1
|
||||
curx=0
|
||||
cury+=1
|
||||
|
||||
def save_data(hs):
|
||||
try:
|
||||
f = open("alacarte.sav","w")
|
||||
f.truncate(0)
|
||||
f.write(hs)
|
||||
except:return
|
||||
|
||||
class Ingredient:
|
||||
def __init__(self, i_nom):
|
||||
@@ -174,8 +181,22 @@ class Game:
|
||||
self.missions = []
|
||||
self.old_missions = []
|
||||
self.pro_mission = (time.monotonic(), 3)
|
||||
self.g_timer = (time.monotonic(), 180)
|
||||
self.g_timer = (time.monotonic(), 5)
|
||||
self.g_money = 25
|
||||
def gameover(self):
|
||||
global highscore
|
||||
fill_rect(52,12,216,196,colors[4])
|
||||
fill_rect(50,12,2,196,colors[0])
|
||||
fill_rect(268,12,2,196,colors[0])
|
||||
fill_rect(52,10,216,2,colors[0])
|
||||
fill_rect(52,67,216,2,colors[0])
|
||||
fill_rect(52,208,216,2,colors[0])
|
||||
draw_sprite("gui_art",52,12)
|
||||
draw_string("GAME OVER", 115, 25, colors[0], colors[4])
|
||||
draw_string("Ton score: "+str(self.g_money), 65, 85, colors[0], colors[4])
|
||||
if self.g_money>highscore: highscore=self.g_money
|
||||
draw_string("Meilleur score: "+str(self.g_money), 65, 110, colors[0], colors[4])
|
||||
draw_string("OK pour aller au menu", 60, 190, colors[0], colors[4], True)
|
||||
def do_mission_step(self):
|
||||
if time.monotonic()-self.pro_mission[0]>self.pro_mission[1]:
|
||||
self.missions.append(Mission())
|
||||
@@ -388,13 +409,10 @@ class Gui:
|
||||
def __init__(self) -> None:
|
||||
self.selected = 0
|
||||
self.render()
|
||||
self.state = 0
|
||||
def redraw_text(self):
|
||||
draw_string("A la carte", 200, 10, colors[3], colors[15])
|
||||
but_colors = [colors[4]]*3
|
||||
but_colors[self.selected]=colors[3]
|
||||
but = ["Jouer", "Options", "Aide"]
|
||||
for i in range(len(but)):
|
||||
draw_string(but[i], 200, 40+i*20, but_colors[i], colors[15])
|
||||
draw_string("> Jouer (OK)", 200, 40, colors[4], colors[15])
|
||||
def render(self):
|
||||
fill_rect(0,0,320,222,colors[15])
|
||||
draw_sprite("gui_art", 0, 0, 4)
|
||||
@@ -403,18 +421,13 @@ class Gui:
|
||||
while True:
|
||||
if ion.keydown(ion.KEY_OK) or ion.keydown(ion.KEY_HOME):
|
||||
break
|
||||
elif ion.keydown(ion.KEY_UP):
|
||||
self.selected = (self.selected-1)%3
|
||||
self.redraw_text()
|
||||
time.sleep(0.2)
|
||||
elif ion.keydown(ion.KEY_DOWN):
|
||||
self.selected = (self.selected+1)%3
|
||||
self.redraw_text()
|
||||
time.sleep(0.2)
|
||||
return self.selected
|
||||
|
||||
|
||||
|
||||
highscore=0
|
||||
try:
|
||||
with open("alacarte.sav","r") as f:
|
||||
highscore=int(f.readline())
|
||||
except:pass
|
||||
|
||||
gui = Gui()
|
||||
gui.loop()
|
||||
@@ -423,6 +436,17 @@ game.render_all()
|
||||
game.gui_first_render()
|
||||
fill_rect(0,0,320,40,colors[2])
|
||||
while True:
|
||||
if time.monotonic()-game.g_timer[0]>game.g_timer[1]:
|
||||
game.gameover()
|
||||
while not (ion.keydown(ion.KEY_OK) or ion.keydown(ion.KEY_HOME) or ion.keydown(ion.KEY_POWER)):
|
||||
pass
|
||||
gui = Gui()
|
||||
time.sleep(1)
|
||||
gui.loop()
|
||||
game = Game(0)
|
||||
game.render_all()
|
||||
game.gui_first_render()
|
||||
fill_rect(0,0,320,40,colors[2])
|
||||
game.scan_keyboard()
|
||||
game.do_timer_step()
|
||||
game.do_mission_step()
|
||||
|
||||
172
src/game_opti.py
172
src/game_opti.py
File diff suppressed because one or more lines are too long
472
src/game_opti_stage1.py
Normal file
472
src/game_opti_stage1.py
Normal file
@@ -0,0 +1,472 @@
|
||||
try: # This is for the kandinsky emulator, it will be ignored on the calc
|
||||
import os
|
||||
if hasattr(os, "environ"):
|
||||
os.environ['KANDINSKY_OS_MODE'] = '0'
|
||||
os.environ['KANDINSKY_ZOOM_RATIO'] = "4"
|
||||
except: pass
|
||||
|
||||
from kandinsky import *
|
||||
import ion, time
|
||||
import random as ra
|
||||
|
||||
print("G started")
|
||||
c = [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, 3, 20, 17,
|
||||
'ggggggg000000gggggggggggg00cccccc00gggggggg00cccccccccc00ggggg0cccccccccccccc0ggg0cccccddddddccccc0gg0ccccdccccccdcccc0g0ccccdccccccccdcccc00cccdccccccccccdccd00cccdcccccccccccccd00dccdcccccccccccccd00dcccdccccccccccccd0g0dcccccddcccccccd0gg0dccccccccccccccd0ggg0ddccccccccccdd0ggggg00ddccccccdd00gggggggg00dddddd00gggggggggggg000000ggggggg'),
|
||||
'c': (0, 0, 20, 20,
|
||||
'gg0000000000000000ggg0c0ccccccccccdcdd0g0ccd0ddcccddcdddddc000cdd0cccddcdddddcc00c0de0000000000dccc00cd00eeedddd0dd0ccc00cdc0eddddd0ddd0ccd00ccc0edddd0ccd00cde00ccc0dddd0cdd0e0dee00ccd0ddd0ddd0ed0eed00cdd0dd0ddd0edd0edd00ddc0d0cdd0eddd0dde00ccd00cdd0eeddd0dee00cdd0cdd0eedddd0eee00ddd0dd0eeddddd00ee00ddde0000000000cd0e00dddccccdeecce0ccd000ddccccdeeddeee0dde0g0ccccdeeddeeeee0d0ggg0000000000000000gg'),
|
||||
'ga': (0, 0, 56, 55,
|
||||
'ggggggggggggg0cccccccccd0cccccccddd0cccc00gggggggggggggggggggggggggg0cccccccccd0cccccccccdd0cccccd0ggggggggggggggggggggggggg0ccccccccd0ccccccccccdd0cccccd0ggggggggggggggggggggggggg0ccccccccd0ccccccccccddd0ccccdd0ggggggggggggggggggggggg0ccccccccd0ccccccccccccdd0ccdccd0ggggggggggggggggggggggg0ccccccccd0ccccccccccccdd0ccdccdd0gggggggggggggggggggggg0ccccccccd0ccccccccccccdd0cccdcdd0gggggggggggggggggggggg0cccccccd0cccccccccccccdd0cccdcdd0gggggggggggggggggggggg0cccccccd0cccccccccccccdd0cccccdd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0cccccddd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0cccccdd0gggggggggggggggggggggg0cccccccd0cccccccccccccd0cccccddd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0ccccddd0ggggggggggggggggggggggg0cccccccd0cccccccccccdd0cccccdd0gggggggggggggggggggggggg0cccccccd0ccccccccccdd0cccccdd0ggggggggggggggggggggggggg0ddccccd0ccccccccccdd0cccccdd0gggggggggggggggggggggggggg000dddcd0cccccccccdd0cccccdd0gggggggggggggggggggggggggg0ccc000ddcccccccccdd0cccccdd0ggggggggggggggggggggggggggg0ddcccc00ddccccccdd0cccccdd0gggggggggggggggggggggggggggg000ddcccc00dddccc00cccccdd0gggggggggggggggggggggggggggg043300dddccc000dddccccccdd0gggggggggggggggggggggggggggg0044433000ddcccc000ddcccdd0ggggggggggggggggggggggggggggg044444433300ddccccc00dddd0gggggggggggggggggggggggggggggg04444000443300dddcccd00d0gggggggggggggggggggggggggggggg044440444044433000dddddd0ggggggggggggggggggggggggggggggg04444044004444433300dddd0ggggggggggggggggggggggggggggggg0444444400444400043300d0ggggggggggggggggggggggggggggggg044044440044440044044330gggggggggggggggggggggggggggggggg04404444444444004404330ggggggggggggggggggggggggggggggggg04404444444440044404330ggggggggggggggggggggggggggggggggg0444044444444444444330ggggggggggggg0000000ggggggggggggggg044400444444444444330gggggggggg0004444444000ggggggggggggg0044400444444444330gggggggggg04cc44443444330gggggggggggggg00444000444440330ggggggggg04444443444444330gggggggggggggg004444400440330gggggggggg04443444443444330gggggggggggggg040044444433330gggggggggg04344444444444330ggggggggggggg0c0330000033300ggggggggggg04444444444333330gggggggg000g0ccc00330gg000ggggggggggggg04433443333333330ggggggg0ccc0c0cccc00gggggggggggggggggggg000033333330000fggggg00ccccccc0ccccc000ggggggggggggggggg0222000000022200gggg0cccccccccc0ccccccc0ggggggggggggggg0000022222220000c0gggcccddccccccc0ccccccc0ggggggggggggg0c056600000007600cd0ggcddd00ccccccc0ccccccc0ggggggggggg0c00507055767507040cd0gdd00g0cccc0dc0cccccccc0ggggggggg00c04030307060630330cd0gd0ggg0cccccc0dcc0ddcccc0gggg0000c0dc044344040303330ccd0g0gggg0cccccc0dcd000ddccd0000ccccd0dcc0004343333000cccd0ggggg0ccccccc0ccd0gg00dccccccccccdd0dcccc0000000cccccd0gggggg0cccc0d0dccd0gggg00dccccccc00000dddccccccccccddd0ggggggg0cccccc0dcdd0gggggg0dccc000ggggg000dddddddddd000ggggggg0ccccccc0ccd0gggggggg0000ggggggggggg0000000000gggggggggg0cccccc0dcdd0ggggggggggggggggggggggggggggggggggggggggggg0cccc0d0cddd0gggggggggggggggggggggggggggggggggggggggggg0ccccccc0cdd0ggggggggggggggggggggggggggggggggggggggggggg0cccccc0dcdd0ggggggggggggggggggggggggggggggggggggggggggg0cccc0d0cddd0ggggggggggggggggggggggggggggggggggggggggg'),
|
||||
'money_icon': (0, 0, 8, 11,
|
||||
'ggccccgggcggggcgcggggggccggcgggccggcgggccggccggccggccggccggccggccggggggcgcggggcgggccccgg'),
|
||||
'o': (3, 3, 16, 13,
|
||||
'ggggggggggg00ggggggg00000g0650ggggg021122016650ggg0111c111210660g0211c111210g0500211cc11111200500211c11211110g0g012c112111110ggg012c111112120gggg01121112110gggg01221112110gggggg010122110gggggggg0g00000ggggggg'),
|
||||
'o_c': (3, 5, 13, 14,
|
||||
'gggggg00000ggggg000ccccc0ggg0cccc000c0gg0c00c100g0c00c0g0c1cc00c00c00g0c11cc1001cc00ccc110gg011cc1000c0ggg0011c0g0c0ggggg00c00g0c0ggggg01cc00c0gggggg011cc10ggggggg00110gggggggggg00gg'),
|
||||
'p': (2, 4, 17, 14,
|
||||
'ggggg0000000ggggggg0004444444000ggg04cc44443444330g0444444344444433004443444443444330043444444444443300444444444433333004433443333333330g000033333330000g0033300000003330004444333344444330g044344444433330ggg0004343333000ggggggg0000000ggggg'),
|
||||
'p_bas': (2, 12, 17, 5,
|
||||
'00333ggggggg3330004444333344444330g044344444433330ggg0004343333000ggggggg0000000ggggg'),
|
||||
'p_haut': (2, 0, 17, 10,
|
||||
'ggggg0000000ggggggg0004444444000ggg04cc44443444330g0444444344444433004443444443444330043444444444443300444444444433333004433443333333330g000033333330000gggggg0000000ggggg'),
|
||||
'planche': (0, 5, 20, 14,
|
||||
'ggggg00000000000000ggggg0333333333333330g00g0333003333333330033003320c0333323330033333330cd022233330032333330ddc023333300332233330ddd033333002200333330ddd033330g00g03333330ddf03330gggg022222220fdf0220ggggg00000000ffff00gggggggggggggg00fdf0gggggggggggggggg0ff0ggggggggggggggggg00gg'),
|
||||
'pdown': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg04c848c40gggggg044444440ggggggg0000000ggggggg0cccdccc0ggggg0cccccdccc0gggg0c0cfcdc0c0gggg0c0cccdc0c0gggg000cfcdc000gggggg0cccdc0gggggggg0000000ggggggggg00g00ggggg'),
|
||||
'pleft': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg08c48c440gggggg044444440ggggggg0000000ggggggg0ccdcccc0ggggg0ccccdcccc0gggg0c0cfcd0cc0gggg0c0cccdc0c0gggg000cfcdc000gggggg0cccdc0gggggggg0000000ggggggg000gg000gggg'),
|
||||
'pright': (2, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000cc000000gggg0ccccccccc0gggg00000000000ggggg044c84c80gggggg044444440ggggggg0000000ggggggg0ccccdcc0ggggg0ccccdcccc0gggg0cc0dcfc0c0gggg0c0cdccc0c0gggg000cdcfc000gggggg0cdccc0gggggggg0000000gggggggg000gg000ggg'),
|
||||
'pup': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg044444440gggggg044444440ggggggg0000000ggggggg0ccccccc0ggggg0ccccccccc0gggg0c0ccccc0c0gggg0c0ccccc0c0gggg000ccccc000gggggg0ccccc0gggggggg0000000ggggggggg00g00ggggg'),
|
||||
'poele': (0, 0, 19, 19,
|
||||
'gggggg00000000gggggggg000eeeeeeee000gggg0eeeffffffffeee0gg0eeffeeeeeeeeffee0g0efeeeeeeeeeeeefe0g0efeeeeeeeeeeeefe0g0eeeeeeeeeeeeeeee0g00eeeeeeeeeeeeee00g0b0000eeeeee0000f0g000fff000000ffff00g00fffffffffff000f0g0ff0000000000baf0g0ff0fabfffbafffba0g0f0ffbff2f3b3ffff0gg0fff0ffffffff0fff0g0fff0000000000fff0g0fff0gggggggg0fff0g0ff0gggggggggg0ff0gg00gggggggggggg00g'),
|
||||
'poubelle': (0, 0, 20, 20,
|
||||
'ggggg0000000000ggggggggg0ffffffffff0ggggggg0fffffffffffe0ggggg0ffffffffffffef0ggg0fffefffffffffeff0g0ffffefff66f6ffffff00ffffeff6ff66ffefff00ffffeffff666ffffff00ffffef6fffffffffff00ffffe666ff6f6fefff00ffffef6ff666ffefff00ffffeff6ff6fffefff00ffffefffffffffefff00ffffffffffffffffff00ffffeeeeeeeeeeffff00fffeffffffffffefff00ffefff000000fffeff00fefff00000000fffef0g0fff0000000000fffeggg0000000000000000gg'),
|
||||
'sa': (1, 4, 18, 13,
|
||||
'gggggggggggg0gggggggggg0000g0070gggggggg07777077570ggggg00755567567570ggg077567777777570gg07657765655767770g077776556556755770000076556556767070ggg075556555670g00ggg075556555670gggggg07665655670gggggggg077777770gggggggggg0000000gggggg'),
|
||||
'sa_cuite': (2, 7, 15, 9,
|
||||
'gggg0000000ggggg0055765567000g077755555556770g0655655555560g075566566565550g5666656655760g050705576750700g0g0g070606g0gggggggg0g0g0gggg'),
|
||||
's': (3, 3, 14, 14,
|
||||
'ggg0000000gggggg033322cc0gggg0cc222d2c20gg032d22cc2c220g0322d2c222c0gg022d2c22220gggg0c22cd220ggggg022222d20gggggg0222d2d20gggggg02d2d2220gggggg0c2c222c0gggggg0cc22d220gggggg00cc2220gggggggg00000g'),
|
||||
's_cuit': (3, 5, 15, 9,
|
||||
'gggg0000000ggggg0000223320000g003323332333200033233322333330032333233323320023332333233220022222333222220g0002222222000ggggg0000000gggg'),
|
||||
'tapis': (0, 0, 20, 20,
|
||||
'feeeeeffffffffeeeeefffeeeeeffffffeeeeefffffeeeeeffffeeeeefffffffeeeeeffeeeeefffffffffeeeeeeeeeefffffefffffeeeeeeeefffffeeefffffeeeeeefffffeeeeefffffeeeefffffeeeeeeefffffeefffffeeeeeeeeeffffffffffeeeeefeeeeeffffffffeeeeefffeeeeeffffffeeeeefffffeeeeeffffeeeeefffffffeeeeeffeeeeefffffffffeeeeeeeeeefffffefffffeeeeeeeefffffeeefffffeeeeeefffffeeeeefffffeeeefffffeeeeeeefffffeefffffeeeeeeeeeffffffffffeeeee'),
|
||||
'time_icon': (0, 0, 8, 11,
|
||||
'gggccggggggccgggggccccgggcggggcgcggggcgccgggcggccggcgggccgggcggccggggggcgcggggcgggccccgg'),
|
||||
't': (4, 3, 12, 13,
|
||||
'ggggggg0gggggggg0g060gggggg060700ggggg02277220ggg0276767220g026226227220022c22722120022cc222221002222c222110g0222222210gg0222221110ggg00111100gggggg0000gggg'),
|
||||
't_c': (3, 4, 13, 11,
|
||||
'gggggg000ggggggggg02220ggggggg0233220gggggg02434220ggg00233433220g022224344320022334223320g02334320220gg0223442000gggg0222220ggggggg00000gggggg')}
|
||||
|
||||
key_pressed = [False]*5
|
||||
|
||||
ma = [[[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, 13, 13, 1]]]
|
||||
|
||||
def fr(x,y,w,h,c):
|
||||
fill_rect(x,y,w,h,c)
|
||||
|
||||
def dt(t,x,y,c,b,f=False):
|
||||
draw_string(t, x, y, c, b, f)
|
||||
def tm():
|
||||
return time.monotonic()
|
||||
|
||||
def kd(k):
|
||||
return ion.keydown(k)
|
||||
|
||||
def ds(sprite_name, x, y, mu=1) :
|
||||
offx, offy, w, h, data = sprites[sprite_name]
|
||||
curx, cury = 0,0
|
||||
for i in range(h):
|
||||
for k in range(w):
|
||||
px = int(data[w*i+k], 18)
|
||||
if px != 16 and px != 17:
|
||||
fr(x+offx*mu+curx*mu,y+offy*mu+cury*mu,mu,mu,c[px])
|
||||
curx += 1
|
||||
curx=0
|
||||
cury+=1
|
||||
|
||||
def rhg():
|
||||
try:
|
||||
file=open("alacarte.sav","r")
|
||||
best = file.readline()
|
||||
file.close()
|
||||
return int(best)
|
||||
except:
|
||||
return 0
|
||||
|
||||
def shg(score):
|
||||
try :
|
||||
file=open("alacarte.sav","w")
|
||||
file.truncate(0)
|
||||
file.write(str(score))
|
||||
file.close()
|
||||
except: pass
|
||||
|
||||
class I:
|
||||
def __init__(self, i_nom):
|
||||
self.i_nom = i_nom
|
||||
|
||||
class A:
|
||||
def __init__(self):
|
||||
self.ai = []
|
||||
def r(self, x, y, mu):
|
||||
ds("assiette",x,y,mu)
|
||||
if self.ai==[]: return
|
||||
if "p" in self.ai: ds("p_bas",x,y,mu)
|
||||
if "sa_cuite" in self.ai: ds("sa_cuite",x+mu,y-mu,mu)
|
||||
if "s_cuit" in self.ai: ds("s_cuit",x,y-2*mu,mu)
|
||||
if "o_c" in self.ai: ds("o_c",x+mu,y-4*mu,mu)
|
||||
if "t_c" in self.ai: ds("t_c",x-2*mu,y-mu,mu)
|
||||
if "p" in self.ai: ds("p_haut",x,y,mu)
|
||||
|
||||
class M:
|
||||
def __init__(self) :
|
||||
self.mi = ["p", "s_cuit"]
|
||||
self.m_time = (tm(), ra.randint(40,60))
|
||||
if ra.getrandbits(1)==1: self.mi.append("sa_cuite")
|
||||
if ra.getrandbits(1)==1: self.mi.append("o_c")
|
||||
if ra.getrandbits(1)==1: self.mi.append("t_c")
|
||||
def is_finished(self):
|
||||
return tm()-self.m_time[0]>self.m_time[1]
|
||||
def r_r(self, place ):
|
||||
of = place*61
|
||||
fr(of+4,26,38,12,c[3])
|
||||
dt(str(int(self.m_time[1]-(tm()-self.m_time[0]))//60)+":"+str(int(self.m_time[1]-(tm()-self.m_time[0]))%60), of+5, 26, c[12], c[3], True)
|
||||
fr(of+2,26,2,14,c[0])
|
||||
fr(of+4,38,38,2,c[0])
|
||||
fr(of+41,37,2,2,c[0])
|
||||
def f_r(self, place ):
|
||||
of = place*61
|
||||
fr(of+3,3,27,34, c[3])
|
||||
fr(of+30,3,27,34, c[3])
|
||||
#lines v
|
||||
fr(of+3,2,54,2, c[0])
|
||||
fr(of+3,36,54,2, c[0])
|
||||
fr(of+2,3,2,34, c[0])
|
||||
fr(of+56,3,2,34, c[0])
|
||||
a=A()
|
||||
a.ai = self.mi
|
||||
a.r(of+5, 5, 1)
|
||||
if "sa_cuite" in self.mi: ds('sa_cuite', of+26, 8, 1)
|
||||
if "o_c" in self.mi: ds('o_c', of+39, 16, 1)
|
||||
if "t_c" in self.mi: ds('t_c', of+39, 1, 1)
|
||||
dt(str(int(self.m_time[1]-(tm()-self.m_time[0]))//60)+":"+str(int(self.m_time[1]-(tm()-self.m_time[0]))%60), of+5, 26, c[12], c[3], True)
|
||||
fr(of+2,26,2,14,c[0])
|
||||
fr(of+4,38,38,2,c[0])
|
||||
fr(of+41,37,2,2,c[0])
|
||||
|
||||
class P:
|
||||
def __init__(self, g, x , y ) :
|
||||
self.x = x
|
||||
self.y = y
|
||||
self.g = g
|
||||
self.di = "down"
|
||||
self.h=None
|
||||
assiette = A()
|
||||
assiette.r(0,0,2)
|
||||
def dp(self) :
|
||||
ds("p"+self.di, self.x*40, self.y*40+40, 2)
|
||||
if type(self. h)==I:
|
||||
ds(self. h.i_nom, self.x*40+10, self.y*40+60)
|
||||
elif type(self. h)==A:
|
||||
self. h.r(self.x*40+10, self.y*40+60, 1)
|
||||
def mv(self, x_mod , y_mod ) :
|
||||
e = ma[g.mapid][self.y][self.x]
|
||||
self.g.de(e, self.x, self.y)
|
||||
new_el=ma[self.g.mapid][self.y+y_mod][self.x+x_mod]
|
||||
if self.y+y_mod<4 and new_el in [0,1]:
|
||||
self.y+=y_mod
|
||||
self.x+=x_mod
|
||||
self.dp()
|
||||
def dpa(self) :
|
||||
dir,e,elx,ely=self.di,None,None,None
|
||||
if dir=="up": e,elx,ely=self.g.map[self.y-1][self.x],self.x,self.y-1
|
||||
elif dir=="down": e,elx,ely=self.g.map[self.y+1][self.x],self.x,self.y+1
|
||||
elif dir=="left": e,elx,ely=self.g.map[self.y][self.x-1],self.x-1,self.y
|
||||
else: e,elx,ely=self.g.map[self.y][self.x+1],self.x+1,self.y
|
||||
if self. h != None:
|
||||
self. h = self.g.pi(elx,ely,self. h)
|
||||
self.dp()
|
||||
else:
|
||||
self. h = self.g.ri(elx,ely)
|
||||
self.dp()
|
||||
|
||||
class G:
|
||||
def __init__(self, mapid ):
|
||||
self.mapid = mapid
|
||||
self.map = []
|
||||
for i in ma[mapid]: self.map.append(i[:])
|
||||
self.player = P(self, 1,1)
|
||||
self.ms = []
|
||||
self.old_missions = []
|
||||
self.pmi = (tm(), 1)
|
||||
self.g_timer = (tm(), 40)
|
||||
self.g_money = 0
|
||||
def gover(self):
|
||||
global hg
|
||||
fr(52,12,216,196,c[4])
|
||||
fr(50,12,2,196,c[0])
|
||||
fr(268,12,2,196,c[0])
|
||||
fr(52,10,216,2,c[0])
|
||||
fr(52,67,216,2,c[0])
|
||||
fr(52,208,216,2,c[0])
|
||||
ds("ga",52,12)
|
||||
dt("GAME OVER", 115, 25, c[0], c[4])
|
||||
dt("Ton score: "+str(self.g_money), 65, 85, c[0], c[4])
|
||||
if self.g_money>hg:
|
||||
hg=self.g_money
|
||||
shg(hg)
|
||||
dt("Meilleur score: "+str(hg), 65, 110, c[0], c[4])
|
||||
dt("OK pour aller au menu", 60, 190, c[0], c[4], True)
|
||||
def dms(self):
|
||||
if tm()-self.pmi[0]>self.pmi[1]:
|
||||
self.ms.append(M())
|
||||
self.pmi = (tm(), ra.randint(15,25))
|
||||
for i in range(len(self.ms)):
|
||||
if self.ms[i].is_finished():
|
||||
self.g_money-=2
|
||||
self.ms.pop(i)
|
||||
break
|
||||
if self.old_missions!=self.ms:
|
||||
fr(0,0,320,40,c[2])
|
||||
self.old_missions=[]
|
||||
for i in range(len(self.ms)):
|
||||
self.ms[i].f_r(i)
|
||||
self.old_missions.append(self.ms[i])
|
||||
else:
|
||||
for i in range(len(self.ms)):
|
||||
self.ms[i].r_r(i)
|
||||
def dts(self):
|
||||
for i in range(5):
|
||||
for k in range(8):
|
||||
e=self.map[i][k]
|
||||
if type(e)==tuple and len(e)==4:
|
||||
if tm()>e[2]+e[3]:
|
||||
if e[1] == "s":
|
||||
self.map[i][k] = (e[0],"s_cuit")
|
||||
if e[1] == "sa":
|
||||
self.map[i][k] = (e[0],"sa_cuite")
|
||||
if e[1] == "o":
|
||||
self.map[i][k] = (e[0],"o_c")
|
||||
if e[1] == "t":
|
||||
self.map[i][k] = (e[0],"t_c")
|
||||
self.de(self.map[i][k],k,i)
|
||||
else:
|
||||
self.draw_progressbar(k,i, (tm()-e[2])*18//e[3])
|
||||
def gui_f_r(self):
|
||||
fr(0,208,48,14,c[3])
|
||||
fr(0,206,48,2,c[2])
|
||||
fr(48,208,2,14,c[2])
|
||||
fr(47,207,2,2,c[2])
|
||||
dt("0",2,209,c[12],c[3], True)
|
||||
ds("money_icon", 38, 209)
|
||||
fr(272,208,48,14,c[9])
|
||||
fr(272,206,48,2,c[8])
|
||||
fr(270,208,2,14,c[8])
|
||||
fr(271,207,2,2,c[8])
|
||||
dt("00:00",273,209,c[12],c[9], True)
|
||||
ds("time_icon", 310, 209)
|
||||
def gui_r_r(self):
|
||||
fr(1,209,30,12,c[3])
|
||||
dt(str(self.g_money),2,209,c[12],c[3], True)
|
||||
seconds = str(int(self.g_timer[1]-(tm()-self.g_timer[0]))%60)
|
||||
if len(seconds)==1:
|
||||
seconds="0"+seconds
|
||||
dt("0"+str(int(self.g_timer[1]-(tm()-self.g_timer[0]))//60)+":"+seconds,273,209,c[12],c[9], True)
|
||||
def draw_progressbar(self, x, y, progress):
|
||||
fr(x*40, y*40+40, 40, 10, c[0])
|
||||
fr(x*40+2, y*40+42, 36, 6, c[7])
|
||||
fr(x*40+2, y*40+42, int(progress)*2, 6, c[5])
|
||||
def sk(self):
|
||||
if kd(ion.KEY_OK) or kd(ion.KEY_HOME) or kd(ion.KEY_POWER):
|
||||
self.player.dpa()
|
||||
time.sleep(0.2)
|
||||
elif kd(ion.KEY_UP):
|
||||
self.player.di="up"
|
||||
self.player.mv(0,-1)
|
||||
time.sleep(0.1)
|
||||
elif kd(ion.KEY_DOWN):
|
||||
self.player.di="down"
|
||||
self.player.mv(0,1)
|
||||
time.sleep(0.1)
|
||||
elif kd(ion.KEY_LEFT):
|
||||
self.player.di="left"
|
||||
self.player.mv(-1,0)
|
||||
time.sleep(0.1)
|
||||
elif kd(ion.KEY_RIGHT):
|
||||
self.player.di="right"
|
||||
self.player.mv(1,0)
|
||||
time.sleep(0.1)
|
||||
def ra(self):
|
||||
"""Render literraly everything, this should not be called too many times"""
|
||||
self.dm(self.mapid)
|
||||
self.player.dp()
|
||||
def de(self, el, x , y ) :
|
||||
e=el
|
||||
if type(e)==tuple: e=e[0]
|
||||
if e==0:
|
||||
fr(x*40, y*40+40, 40, 40, c[14])
|
||||
elif e==1:
|
||||
fr(x*40, y*40+40, 40, 4, c[3])
|
||||
fr(x*40, y*40+40+4, 40, 2, c[1])
|
||||
fr(x*40, y*40+40+6, 40, 8, c[2])
|
||||
fr(x*40, y*40+40+14, 40, 12, c[15])
|
||||
fr(x*40, y*40+40+26, 40, 14, c[14])
|
||||
elif e==2:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
elif e==3:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("poele", x*40, y*40+40, 2)
|
||||
elif e==4:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("planche", x*40, y*40+40, 2)
|
||||
elif e==5:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("assiette", x*40, y*40+42, 2)
|
||||
ds("assiette", x*40, y*40+38, 2)
|
||||
ds("assiette", x*40, y*40+34, 2)
|
||||
elif e==6:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("c", x*40, y*40+40, 2)
|
||||
ds("o", x*40, y*40+40, 2)
|
||||
elif e==7:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("c", x*40, y*40+40, 2)
|
||||
ds("sa", x*40, y*40+40, 2)
|
||||
elif e==8:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("c", x*40, y*40+40, 2)
|
||||
ds("s", x*40, y*40+40, 2)
|
||||
elif e==9:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("c", x*40, y*40+40, 2)
|
||||
ds("p", x*40, y*40+40, 2)
|
||||
elif e==11:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("poubelle", x*40, y*40+40, 2)
|
||||
elif e==12:
|
||||
fr(x*40, y*40+40, 40, 40, c[4])
|
||||
ds("c", x*40, y*40+40, 2)
|
||||
ds("t", x*40, y*40+40, 2)
|
||||
elif e==13:
|
||||
ds("tapis", x*40, y*40+40, 2)
|
||||
if type(el)==tuple:
|
||||
ds(el[1], x*40, y*40+40, 2)
|
||||
|
||||
def dm(self, mapid ):
|
||||
for l in range(5):
|
||||
for c in range(8):
|
||||
e = self.map[l][c]
|
||||
self.de(e, c, l)
|
||||
def pi(self, elx ,ely , h):
|
||||
old_el=self.map[ely][elx]
|
||||
if type(old_el)==tuple and type(old_el[1])!=A: return h
|
||||
if type( h)==I:
|
||||
result = None
|
||||
e = (old_el, h.i_nom)
|
||||
if old_el==11:
|
||||
return None
|
||||
elif old_el==2:
|
||||
pass
|
||||
elif old_el==3 and h.i_nom=='s':
|
||||
e = (e[0],e[1],tm(), 8)
|
||||
elif old_el==4 and( h.i_nom=='o' or h.i_nom=='sa' or h.i_nom=='t'):
|
||||
e = (e[0],e[1],tm(), 5)
|
||||
elif type(old_el)==tuple and type(old_el[1])==A:
|
||||
n= h.i_nom
|
||||
if n=="sa_cuite" or n=="t_c" or n=="o_c" or n=="p" or n=="s_cuit":
|
||||
if n not in self.map[ely][elx][1].ai:
|
||||
self.map[ely][elx][1].ai.append(n)
|
||||
self.map[ely][elx][1].r(elx*40,ely*40+40,2)
|
||||
else: return h
|
||||
else: return h
|
||||
return None
|
||||
else:
|
||||
return h
|
||||
self.map[ely][elx]=e
|
||||
g.de(e, elx, ely)
|
||||
return result
|
||||
elif type( h)==A:
|
||||
if old_el==11:
|
||||
return None
|
||||
elif old_el==2:
|
||||
self.map[ely][elx]=(old_el, h)
|
||||
h.r(elx*40, ely*40+40, 2)
|
||||
return None
|
||||
elif old_el==13:
|
||||
for i in self.ms:
|
||||
if set(i.mi)==set( h.ai):
|
||||
self.g_money+=10
|
||||
self.ms.remove(i)
|
||||
return None
|
||||
return h
|
||||
else:
|
||||
return h
|
||||
def ri(self, elx ,ely ):
|
||||
e=self.map[ely][elx]
|
||||
if type(e)==int:
|
||||
if e==5: return A()
|
||||
elif e==6: return I("o")
|
||||
elif e==7: return I("sa")
|
||||
elif e==8: return I("s")
|
||||
elif e==9: return I("p")
|
||||
elif e==12: return I("t")
|
||||
return None
|
||||
elif type(e[1])==A:
|
||||
self.map[ely][elx]=2
|
||||
self.de(2,elx,ely)
|
||||
return e[1]
|
||||
if e[0]==2:
|
||||
self.map[ely][elx]=2
|
||||
self.de(2,elx,ely)
|
||||
return I(e[1])
|
||||
elif e[0]==3 or e[0]==4:
|
||||
self.map[ely][elx]=e[0]
|
||||
self.de(e[0],elx,ely)
|
||||
return I(e[1])
|
||||
else:
|
||||
return None
|
||||
|
||||
class Gui:
|
||||
def __init__(self) :
|
||||
self.se = 0
|
||||
self.r()
|
||||
self.state = 0
|
||||
def redraw_text(self):
|
||||
dt("A la carte", 200, 10, c[3], c[15])
|
||||
dt("Jouer (OK)", 200, 40, c[4], c[15])
|
||||
def r(self):
|
||||
fr(0,0,320,222,c[15])
|
||||
ds("ga", 0, 0, 4)
|
||||
self.redraw_text()
|
||||
def loop(self):
|
||||
while True:
|
||||
if kd(ion.KEY_OK) or kd(ion.KEY_HOME):
|
||||
break
|
||||
|
||||
|
||||
hg=rhg()
|
||||
gui = Gui()
|
||||
gui.loop()
|
||||
g = G(0)
|
||||
g.ra()
|
||||
g.gui_f_r()
|
||||
fr(0,0,320,40,c[2])
|
||||
while True:
|
||||
if tm()-g.g_timer[0]>g.g_timer[1]:
|
||||
g.gover()
|
||||
while not (kd(ion.KEY_OK) or kd(ion.KEY_HOME) or kd(ion.KEY_POWER)):
|
||||
pass
|
||||
gui = Gui()
|
||||
time.sleep(1)
|
||||
gui.loop()
|
||||
g = G(0)
|
||||
g.ra()
|
||||
g.gui_f_r()
|
||||
fr(0,0,320,40,c[2])
|
||||
g.sk()
|
||||
g.dts()
|
||||
g.dms()
|
||||
g.gui_r_r()
|
||||
225
src/game_opti_stage2.py
Normal file
225
src/game_opti_stage2.py
Normal file
File diff suppressed because one or more lines are too long
@@ -72,8 +72,48 @@ def get_croped_image(img: Image.Image)->tuple[Image.Image, int, int]:
|
||||
img_croped = img.crop((offsetx, offsety, h-neg_offsety, w-neg_offsetx))
|
||||
return (img_croped, offsetx, offsety)
|
||||
|
||||
def compress_string_image(img: str)->str:
|
||||
pass
|
||||
def compress_string_image(img: str,w: int,h: int)->str:
|
||||
l = []
|
||||
for i in range(h):
|
||||
l.append(img[i*w:(i+1)*w-1])
|
||||
print(l)
|
||||
for i in range(len(l)):
|
||||
l_of_rep = []
|
||||
rep = [0,0,0]
|
||||
for k in range(len(l[i])):
|
||||
if rep==[0,0,0]:
|
||||
rep=[k,k,l[i][k]]
|
||||
else:
|
||||
if rep[2]==l[i][k]:
|
||||
rep[1]=k
|
||||
else:
|
||||
if rep[1]-rep[0]>2:
|
||||
l_of_rep.append(rep)
|
||||
rep = [0,0,0]
|
||||
if rep[1]-rep[0]>2:
|
||||
l_of_rep.append(rep)
|
||||
nv_li = l[i]
|
||||
for rep_i in l_of_rep:
|
||||
nv_li = nv_li.replace(rep_i[2]*(rep_i[1]-rep_i[0]), "?"+str(rep_i[2])+str(rep_i[1]-rep_i[0])+"!")
|
||||
print(nv_li)
|
||||
|
||||
def compress2(img: str,w: int,h: int)->str:
|
||||
l = []
|
||||
de = ""
|
||||
de.replace
|
||||
char = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","d","e","f","g","h"]
|
||||
for i in range(h):
|
||||
l.append(img[i*w:(i+1)*w-1])
|
||||
print(l)
|
||||
result = ""
|
||||
for i in range(len(l)):
|
||||
nv_li = l[i]
|
||||
for k in char:
|
||||
for m in range(w,4,-1):
|
||||
nv_li = nv_li.replace(k*m, "?"+k+str(m)+"!")
|
||||
result+=nv_li
|
||||
return result
|
||||
|
||||
|
||||
def convert_all_files(save_to_file: bool, compress_sprites: bool, path: str)->None:
|
||||
files_list = [f for f in listdir(path) if isfile(join(path, f))]
|
||||
@@ -93,6 +133,7 @@ def convert_all_files(save_to_file: bool, compress_sprites: bool, path: str)->No
|
||||
for v in range(h):
|
||||
for k in range(w):
|
||||
result += get_color_id(*image_croped.getpixel((k, v)))
|
||||
result = compress2(result, w,h)
|
||||
print('Finished,', file, '\n', result, '\n')
|
||||
final_result[file.removesuffix(".png")] = (off_x, off_y, w, h, result)
|
||||
if save_to_file:
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
_converter.py
|
||||
{'assiette': (0, 3, 20, 17,
|
||||
'ggggggg000000gggggggggggg00cccccc00gggggggg00cccccccccc00ggggg0cccccccccccccc0ggg0cccccddddddccccc0gg0ccccdccccccdcccc0g0ccccdccccccccdcccc00cccdccccccccccdccd00cccdcccccccccccccd00dccdcccccccccccccd00dcccdccccccccccccd0g0dcccccddcccccccd0gg0dccccccccccccccd0ggg0ddccccccccccdd0ggggg00ddccccccdd00gggggggg00dddddd00gggggggggggg000000ggggggg'),
|
||||
'?g7!?06!?g6!?g5!00?c6!00ggggggg00?c10!00gggg0?c14!0gg0?c5!?d6!?c5!0g0ccccd?c6!dcccc00ccccd?c8!dcccc0cccd?c10!dccd0cccd?c13!d0dccd?c13!d0dcccd?c12!dg0d?c5!dd?c7!d0g0d?c14!d0gg0dd?c10!dd0gggg00dd?c6!dd00gg?g5!00?d6!00gggg?g7!?06!?g6!'),
|
||||
'caisse': (0, 0, 20, 20,
|
||||
'gg0000000000000000ggg0c0ccccccccccdcdd0g0ccd0ddcccddcdddddc000cdd0cccddcdddddcc00c0de0000000000dccc00cd00eeedddd0dd0ccc00cdc0eddddd0ddd0ccd00ccc0edddd0ccd00cde00ccc0dddd0cdd0e0dee00ccd0ddd0ddd0ed0eed00cdd0dd0ddd0edd0edd00ddc0d0cdd0eddd0dde00ccd00cdd0eeddd0dee00cdd0cdd0eedddd0eee00ddd0dd0eeddddd00ee00ddde0000000000cd0e00dddccccdeecce0ccd000ddccccdeeddeee0dde0g0ccccdeeddeeeee0d0ggg0000000000000000gg'),
|
||||
'gg?016!gg0c0?c10!dcdd00ccd0ddcccddc?d5!c00cdd0cccddc?d5!cc0c0de?010!dccc0cd00eeedddd0dd0ccc0cdc0e?d5!0ddd0ccd0ccc0edddd0ccd00cde0ccc0dddd0cdd0e0dee0ccd0ddd0ddd0ed0eed0cdd0dd0ddd0edd0edd0ddc0d0cdd0eddd0dde0ccd00cdd0eeddd0dee0cdd0cdd0eedddd0eee0ddd0dd0ee?d5!00ee0ddde?010!cd0e0dddccccdeecce0ccd00ddccccdeeddeee0ddeg0ccccdeedd?e5!0d0gg?016!g'),
|
||||
'gui_art': (0, 0, 56, 55,
|
||||
'ggggggggggggg0cccccccccd0cccccccddd0cccc00gggggggggggggggggggggggggg0cccccccccd0cccccccccdd0cccccd0ggggggggggggggggggggggggg0ccccccccd0ccccccccccdd0cccccd0ggggggggggggggggggggggggg0ccccccccd0ccccccccccddd0ccccdd0ggggggggggggggggggggggg0ccccccccd0ccccccccccccdd0ccdccd0ggggggggggggggggggggggg0ccccccccd0ccccccccccccdd0ccdccdd0gggggggggggggggggggggg0ccccccccd0ccccccccccccdd0cccdcdd0gggggggggggggggggggggg0cccccccd0cccccccccccccdd0cccdcdd0gggggggggggggggggggggg0cccccccd0cccccccccccccdd0cccccdd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0cccccddd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0cccccdd0gggggggggggggggggggggg0cccccccd0cccccccccccccd0cccccddd0gggggggggggggggggggggg0cccccccd0ccccccccccccdd0ccccddd0ggggggggggggggggggggggg0cccccccd0cccccccccccdd0cccccdd0gggggggggggggggggggggggg0cccccccd0ccccccccccdd0cccccdd0ggggggggggggggggggggggggg0ddccccd0ccccccccccdd0cccccdd0gggggggggggggggggggggggggg000dddcd0cccccccccdd0cccccdd0gggggggggggggggggggggggggg0ccc000ddcccccccccdd0cccccdd0ggggggggggggggggggggggggggg0ddcccc00ddccccccdd0cccccdd0gggggggggggggggggggggggggggg000ddcccc00dddccc00cccccdd0gggggggggggggggggggggggggggg043300dddccc000dddccccccdd0gggggggggggggggggggggggggggg0044433000ddcccc000ddcccdd0ggggggggggggggggggggggggggggg044444433300ddccccc00dddd0gggggggggggggggggggggggggggggg04444000443300dddcccd00d0gggggggggggggggggggggggggggggg044440444044433000dddddd0ggggggggggggggggggggggggggggggg04444044004444433300dddd0ggggggggggggggggggggggggggggggg0444444400444400043300d0ggggggggggggggggggggggggggggggg044044440044440044044330gggggggggggggggggggggggggggggggg04404444444444004404330ggggggggggggggggggggggggggggggggg04404444444440044404330ggggggggggggggggggggggggggggggggg0444044444444444444330ggggggggggggg0000000ggggggggggggggg044400444444444444330gggggggggg0004444444000ggggggggggggg0044400444444444330gggggggggg04cc44443444330gggggggggggggg00444000444440330ggggggggg04444443444444330gggggggggggggg004444400440330gggggggggg04443444443444330gggggggggggggg040044444433330gggggggggg04344444444444330ggggggggggggg0c0330000033300ggggggggggg04444444444333330gggggggg000g0ccc00330gg000ggggggggggggg04433443333333330ggggggg0ccc0c0cccc00gggggggggggggggggggg000033333330000fggggg00ccccccc0ccccc000ggggggggggggggggg0222000000022200gggg0cccccccccc0ccccccc0ggggggggggggggg0000022222220000c0gggcccddccccccc0ccccccc0ggggggggggggg0c056600000007600cd0ggcddd00ccccccc0ccccccc0ggggggggggg0c00507055767507040cd0gdd00g0cccc0dc0cccccccc0ggggggggg00c04030307060630330cd0gd0ggg0cccccc0dcc0ddcccc0gggg0000c0dc044344040303330ccd0g0gggg0cccccc0dcd000ddccd0000ccccd0dcc0004343333000cccd0ggggg0ccccccc0ccd0gg00dccccccccccdd0dcccc0000000cccccd0gggggg0cccc0d0dccd0gggg00dccccccc00000dddccccccccccddd0ggggggg0cccccc0dcdd0gggggg0dccc000ggggg000dddddddddd000ggggggg0ccccccc0ccd0gggggggg0000ggggggggggg0000000000gggggggggg0cccccc0dcdd0ggggggggggggggggggggggggggggggggggggggggggg0cccc0d0cddd0gggggggggggggggggggggggggggggggggggggggggg0ccccccc0cdd0ggggggggggggggggggggggggggggggggggggggggggg0cccccc0dcdd0ggggggggggggggggggggggggggggggggggggggggggg0cccc0d0cddd0ggggggggggggggggggggggggggggggggggggggggg'),
|
||||
'?g13!0?c9!d0?c7!ddd0cccc00?g13!?g12!0?c9!d0?c9!dd0?c5!d0?g12!?g12!0?c8!d0?c10!dd0?c5!d0?g12!?g12!0?c8!d0?c10!ddd0ccccdd0?g11!?g11!0?c8!d0?c12!dd0ccdccd0?g11!?g11!0?c8!d0?c12!dd0ccdccdd0?g10!?g11!0?c8!d0?c12!dd0cccdcdd0?g10!?g11!0?c7!d0?c13!dd0cccdcdd0?g10!?g11!0?c7!d0?c13!dd0?c5!dd0?g10!?g11!0?c7!d0?c12!dd0?c5!ddd0?g10!?g11!0?c7!d0?c12!dd0?c5!dd0?g11!?g10!0?c7!d0?c13!d0?c5!ddd0?g11!?g10!0?c7!d0?c12!dd0ccccddd0?g12!?g10!0?c7!d0?c11!dd0?c5!dd0?g13!?g10!0?c7!d0?c10!dd0?c5!dd0?g14!?g10!0ddccccd0?c10!dd0?c5!dd0?g15!?g10!000dddcd0?c9!dd0?c5!dd0?g16!?g9!0ccc000dd?c9!dd0?c5!dd0?g17!?g9!0ddcccc00dd?c6!dd0?c5!dd0?g18!?g9!000ddcccc00dddccc00?c5!dd0?g19!?g8!043300dddccc000ddd?c6!dd0?g20!?g7!0044433000ddcccc000ddcccdd0?g21!?g7!0?46!33300dd?c5!00dddd0?g22!?g7!04444000443300dddcccd00d0?g23!?g6!044440444044433000?d6!0?g24!?g6!0444404400?45!33300dddd0?g24!?g6!0?47!00444400043300d0?g25!?g5!044044440044440044044330?g26!?g5!0440?410!004404330?g27!?g5!0440?49!0044404330?g27!?g5!04440?414!330?g13!?07!?g8!?g6!044400?412!330?g10!000?47!000?g5!?g7!0044400?49!330?g10!04cc44443444330gggg?g9!00444000?45!0330?g9!0?46!3?46!330ggg?g10!00?45!00440330?g10!04443?45!3444330ggg?g10!0400?46!33330?g10!043?411!330ggg?g9!0c033?05!33300?g11!0?410!?35!0ggggggg000g0ccc00330gg000?g13!0443344?39!0gggggg0ccc0c0cccc00?g20!0000?37!0000fgggg00?c7!0?c5!000?g17!0222?07!22200ggg0?c10!0?c7!0?g15!?05!?27!0000c0ggcccdd?c7!0?c7!0?g13!0c0566?07!7600cd0gcddd00?c7!0?c7!0?g11!0c00507055767507040cd0dd00g0cccc0dc0?c8!0?g9!00c04030307060630330cd0d0ggg0?c6!0dcc0ddcccc0gggg0000c0dc044344040303330ccd00gggg0?c6!0dcd000ddccd0000ccccd0dcc0004343333000cccd0gggg0?c7!0ccd0gg00d?c10!dd0dcccc?07!?c5!d0ggggg0cccc0d0dccd0gggg00d?c7!?05!ddd?c10!ddd0gggggg0?c6!0dcdd0?g6!0dccc000?g5!000?d10!000gggggg0?c7!0ccd0?g8!0000?g11!?010!?g6!ggg0?c6!0dcdd0?g39!ggg0cccc0d0cddd0?g39!gg0?c7!0cdd0?g40!gg0?c6!0dcdd0?g40!gg0cccc0d0cddd0?g40!'),
|
||||
'money_icon': (0, 0, 8, 11,
|
||||
'ggccccgggcggggcgcggggggccggcgggccggcgggccggccggccggccggccggccggccggggggcgcggggcgggccccgg'),
|
||||
'ggccccggcggggcc?g6!cggcgggcggcgggcggccggcggccggcggccggc?g6!gcggggcggccccg'),
|
||||
'oignon': (3, 3, 16, 13,
|
||||
'ggggggggggg00ggggggg00000g0650ggggg021122016650ggg0111c111210660g0211c111210g0500211cc11111200500211c11211110g0g012c112111110ggg012c111112120gggg01121112110gggg01221112110gggggg010122110gggggggg0g00000ggggggg'),
|
||||
'?g11!00gggggg?05!g0650gggg021122016650gg0111c11121066g0211c111210g050211cc?15!20050211c11211110g0012c112?15!0gg012c?15!2120ggg01121112110ggg01221112110ggggg010122110?g5!gg0g?05!?g6!'),
|
||||
'oignon_coupe': (3, 5, 13, 14,
|
||||
'gggggg00000ggggg000ccccc0ggg0cccc000c0gg0c00c100g0c00c0g0c1cc00c00c00g0c11cc1001cc00ccc110gg011cc1000c0ggg0011c0g0c0ggggg00c00g0c0ggggg01cc00c0gggggg011cc10ggggggg00110gggggggggg00gg'),
|
||||
'?g6!?05!gggg000?c5!0gg0cccc000c0g0c00c100g0c0c0g0c1cc00c0c00g0c11cc101cc00ccc110g011cc1000c0gg0011c0g0c0gggg00c00g0c?g5!01cc00c?g6!011cc1?g7!00110?g9!00g'),
|
||||
'pain': (2, 4, 17, 14,
|
||||
'ggggg0000000ggggggg0004444444000ggg04cc44443444330g0444444344444433004443444443444330043444444444443300444444444433333004433443333333330g000033333330000g0033300000003330004444333344444330g044344444433330ggg0004343333000ggggggg0000000ggggg'),
|
||||
'?g5!?07!gggggg000?47!000gg04cc444434443300?46!3?46!3304443?45!344433043?411!330?410!?35!0443344?39!g0000?37!000000333?07!3330044443333?45!33g0443?46!33330gg0004343333000g?g5!?07!gggg'),
|
||||
'pain_bas': (2, 12, 17, 5,
|
||||
'00333ggggggg3330004444333344444330g044344444433330ggg0004343333000ggggggg0000000ggggg'),
|
||||
'00333?g7!3330044443333?45!33g0443?46!33330gg0004343333000g?g5!?07!gggg'),
|
||||
'pain_haut': (2, 0, 17, 10,
|
||||
'ggggg0000000ggggggg0004444444000ggg04cc44443444330g0444444344444433004443444443444330043444444444443300444444444433333004433443333333330g000033333330000gggggg0000000ggggg'),
|
||||
'?g5!?07!gggggg000?47!000gg04cc444434443300?46!3?46!3304443?45!344433043?411!330?410!?35!0443344?39!g0000?37!0000?g5!?07!gggg'),
|
||||
'planche': (0, 5, 20, 14,
|
||||
'ggggg00000000000000ggggg0333333333333330g00g0333003333333330033003320c0333323330033333330cd022233330032333330ddc023333300332233330ddd033333002200333330ddd033330g00g03333330ddf03330gggg022222220fdf0220ggggg00000000ffff00gggggggggggggg00fdf0gggggggggggggggg0ff0ggggggggggggggggg00gg'),
|
||||
'?g5!?014!gggg0?314!g00g033300?39!033003320c0333323330?37!0cd02223333032?35!0ddc02?35!0332233330ddd0?35!02200?35!0ddd03333g00g0?36!0ddf0333gggg0?27!0fdf022?g5!?08!ffff00?g13!00fdf0?g15!0ff0?g16!00g'),
|
||||
'player_down': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg04c848c40gggggg044444440ggggggg0000000ggggggg0cccdccc0ggggg0cccccdccc0gggg0c0cfcdc0c0gggg0c0cccdc0c0gggg000cfcdc000gggggg0cccdc0gggggggg0000000ggggggggg00g00ggggg'),
|
||||
'gg?011!gg0ccc0ccc0ccc00ccc0?c5!0ccc0ccc0?c5!0ccc0ccc0?c5!0cccg0ccc0ccc0ccc0gg?06!cc000ggg0?c9!0ggg?011!gggg04c848c40ggggg0?47!0gggggg?07!gggggg0cccdccc0gggg0?c5!dccc0ggg0c0cfcdc0c0ggg0c0cccdc0c0ggg000cfcdc000ggggg0cccdc0ggggggg?07!ggg?g5!00g00gggg'),
|
||||
'player_left': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg08c48c440gggggg044444440ggggggg0000000ggggggg0ccdcccc0ggggg0ccccdcccc0gggg0c0cfcd0cc0gggg0c0cccdc0c0gggg000cfcdc000gggggg0cccdc0gggggggg0000000ggggggg000gg000gggg'),
|
||||
'gg?011!gg0ccc0ccc0ccc00ccc0?c5!0ccc0ccc0?c5!0ccc0ccc0?c5!0cccg0ccc0ccc0ccc0gg?06!cc000ggg0?c9!0ggg?011!gggg08c48c440ggggg0?47!0gggggg?07!gggggg0ccdcccc0gggg0ccccdcccc0ggg0c0cfcd0cc0ggg0c0cccdc0c0ggg000cfcdc000ggggg0cccdc0ggggggg?07!gggggg000gg000ggg'),
|
||||
'player_right': (2, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000cc000000gggg0ccccccccc0gggg00000000000ggggg044c84c80gggggg044444440ggggggg0000000ggggggg0ccccdcc0ggggg0ccccdcccc0gggg0cc0dcfc0c0gggg0c0cdccc0c0gggg000cdcfc000gggggg0cdccc0gggggggg0000000gggggggg000gg000ggg'),
|
||||
'gg?011!gg0ccc0ccc0ccc00ccc0?c5!0ccc0ccc0?c5!0ccc0ccc0?c5!0cccg0ccc0ccc0ccc0gg000cc?06!ggg0?c9!0ggg?011!gggg044c84c80ggggg0?47!0gggggg?07!gggggg0ccccdcc0gggg0ccccdcccc0ggg0cc0dcfc0c0ggg0c0cdccc0c0ggg000cdcfc000ggggg0cdccc0ggggggg?07!ggggggg000gg000gg'),
|
||||
'player_up': (3, 0, 15, 20,
|
||||
'gg00000000000ggg0ccc0ccc0ccc0g0ccc0ccccc0ccc00ccc0ccccc0ccc00ccc0ccccc0ccc0g0ccc0ccc0ccc0ggg000000cc000gggg0ccccccccc0gggg00000000000ggggg044444440gggggg044444440ggggggg0000000ggggggg0ccccccc0ggggg0ccccccccc0gggg0c0ccccc0c0gggg0c0ccccc0c0gggg000ccccc000gggggg0ccccc0gggggggg0000000ggggggggg00g00ggggg'),
|
||||
'gg?011!gg0ccc0ccc0ccc00ccc0?c5!0ccc0ccc0?c5!0ccc0ccc0?c5!0cccg0ccc0ccc0ccc0gg?06!cc000ggg0?c9!0ggg?011!gggg0?47!0ggggg0?47!0gggggg?07!gggggg0?c7!0gggg0?c9!0ggg0c0?c5!0c0ggg0c0?c5!0c0ggg000?c5!000ggggg0?c5!0ggggggg?07!ggg?g5!00g00gggg'),
|
||||
'poele': (0, 0, 19, 19,
|
||||
'gggggg00000000gggggggg000eeeeeeee000gggg0eeeffffffffeee0gg0eeffeeeeeeeeffee0g0efeeeeeeeeeeeefe0g0efeeeeeeeeeeeefe0g0eeeeeeeeeeeeeeee0g00eeeeeeeeeeeeee00g0b0000eeeeee0000f0g000fff000000ffff00g00fffffffffff000f0g0ff0000000000baf0g0ff0fabfffbafffba0g0f0ffbff2f3b3ffff0gg0fff0ffffffff0fff0g0fff0000000000fff0g0fff0gggggggg0fff0g0ff0gggggggggg0ff0gg00gggggggggggg00g'),
|
||||
'?g6!?08!ggggggg000?e8!000ggg0eee?f8!eee0g0eeff?e8!ffeeg0ef?e12!feg0ef?e12!feg0?e16!g00?e14!0g0b0000?e6!0000fg000fff?06!ffff0g00?f11!000fg0ff?010!baf00ff0fabfffbafffba00f0ffbff2f3b3ffff0g0fff0?f8!0fffg0fff?010!fffg0fff0?g8!0fffg0ff0?g10!0ffgg00?g12!00'),
|
||||
'poubelle': (0, 0, 20, 20,
|
||||
'ggggg0000000000ggggggggg0ffffffffff0ggggggg0fffffffffffe0ggggg0ffffffffffffef0ggg0fffefffffffffeff0g0ffffefff66f6ffffff00ffffeff6ff66ffefff00ffffeffff666ffffff00ffffef6fffffffffff00ffffe666ff6f6fefff00ffffef6ff666ffefff00ffffeff6ff6fffefff00ffffefffffffffefff00ffffffffffffffffff00ffffeeeeeeeeeeffff00fffeffffffffffefff00ffefff000000fffeff00fefff00000000fffef0g0fff0000000000fffeggg0000000000000000gg'),
|
||||
'?g5!?010!gggggggg0?f10!0gggggg0?f11!e0gggg0?f12!ef0gg0fffe?f9!eff00ffffefff66f6?f6!0ffffeff6ff66ffefff0ffffeffff666?f6!0ffffef6?f11!0ffffe666ff6f6fefff0ffffef6ff666ffefff0ffffeff6ff6fffefff0ffffe?f9!efff0?f18!0ffff?e10!ffff0fffe?f10!efff0ffefff?06!fffeff0fefff?08!fffefg0fff?010!fffegg?016!g'),
|
||||
'salade': (1, 4, 18, 13,
|
||||
'gggggggggggg0gggggggggg0000g0070gggggggg07777077570ggggg00755567567570ggg077567777777570gg07657765655767770g077776556556755770000076556556767070ggg075556555670g00ggg075556555670gggggg07665655670gggggggg077777770gggggggggg0000000gggggg'),
|
||||
'?g12!0gggg?g5!0000g0070ggggggg07777077570gggg00755567567570gg07756?77!570g076577656557677700777765565567557700007655655676707ggg075556555670g0ggg075556555670ggggg07665655670ggggggg0?77!0gggg?g5!?07!?g5!'),
|
||||
'salade_cuite': (2, 7, 15, 9,
|
||||
'gggg0000000ggggg0055765567000g077755555556770g0655655555560g075566566565550g5666656655760g050705576750700g0g0g070606g0gggggggg0g0g0gggg'),
|
||||
'gggg?07!gggg00557655670000777?57!677g06556?56!6007556656656555g566665665576005070557675070g0g0g070606g0g?g6!0g0g0ggg'),
|
||||
'steak': (3, 3, 14, 14,
|
||||
'ggg0000000gggggg033322cc0gggg0cc222d2c20gg032d22cc2c220g0322d2c222c0gg022d2c22220gggg0c22cd220ggggg022222d20gggggg0222d2d20gggggg02d2d2220gggggg0c2c222c0gggggg0cc22d220gggggg00cc2220gggggggg00000g'),
|
||||
'ggg?07!ggggg033322cc0ggg0cc222d2c20g032d22cc2c2200322d2c222c0g022d2c22220ggg0c22cd220gggg0?25!d20ggggg0222d2d20ggggg02d2d2220ggggg0c2c222c0?g5!0cc22d22?g6!00cc222?g8!?05!'),
|
||||
'steak_cuit': (3, 5, 15, 9,
|
||||
'gggg0000000ggggg0000223320000g003323332333200033233322333330032333233323320023332333233220022222333222220g0002222222000ggggg0000000gggg'),
|
||||
'gggg?07!gggg000022332000000332333233320033233322?35!03233323332332023332333233220?25!333?25!g000?27!000gggg?07!ggg'),
|
||||
'tapis': (0, 0, 20, 20,
|
||||
'feeeeeffffffffeeeeefffeeeeeffffffeeeeefffffeeeeeffffeeeeefffffffeeeeeffeeeeefffffffffeeeeeeeeeefffffefffffeeeeeeeefffffeeefffffeeeeeefffffeeeeefffffeeeefffffeeeeeeefffffeefffffeeeeeeeeeffffffffffeeeeefeeeeeffffffffeeeeefffeeeeeffffffeeeeefffffeeeeeffffeeeeefffffffeeeeeffeeeeefffffffffeeeeeeeeeefffffefffffeeeeeeeefffffeeefffffeeeeeefffffeeeeefffffeeeefffffeeeeeeefffffeefffffeeeeeeeeeffffffffffeeeee'),
|
||||
'f?e5!?f8!?e5!ff?e5!?f6!?e5!ffff?e5!ffff?e5!ffffff?e5!ff?e5!fff?f5!?e10!ffffe?f5!?e8!?f5!ee?f5!?e6!?f5!eeee?f5!eeee?f5!eeeeee?f5!ee?f5!eee?e5!?f10!eeeef?e5!?f8!?e5!ff?e5!?f6!?e5!ffff?e5!ffff?e5!ffffff?e5!ff?e5!fff?f5!?e10!ffffe?f5!?e8!?f5!ee?f5!?e6!?f5!eeee?f5!eeee?f5!eeeeee?f5!ee?f5!eee?e5!?f10!eeee'),
|
||||
'time_icon': (0, 0, 8, 11,
|
||||
'gggccggggggccgggggccccgggcggggcgcggggcgccgggcggccggcgggccgggcggccggggggcgcggggcgggccccgg'),
|
||||
'gggccgggggccggggccccggcggggccggggcgcgggcggcggcgggcgggcggc?g6!gcggggcggccccg'),
|
||||
'tomate': (4, 3, 12, 13,
|
||||
'ggggggg0gggggggg0g060gggggg060700ggggg02277220ggg0276767220g026226227220022c22722120022cc222221002222c222110g0222222210gg0222221110ggg00111100gggggg0000gggg'),
|
||||
'?g7!0ggggggg0g060ggggg060700gggg02277220gg027676722002622622722022c2272212022cc?25!102222c22211g0?27!10g0?25!1110gg00111100ggggg0000ggg'),
|
||||
'tomate_coupe': (3, 4, 13, 11,
|
||||
'gggggg000ggggggggg02220ggggggg0233220gggggg02434220ggg00233433220g022224344320022334223320g02334320220gg0223442000gggg0222220ggggggg00000gggggg')}
|
||||
'?g6!000ggg?g5!02220gggggg0233220ggggg02434220gg0023343322g0222243443202233422332002334320220g0223442000ggg0?25!0gggggg?05!?g5!')}
|
||||
|
||||
21
src/test.py
Normal file
21
src/test.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import os
|
||||
|
||||
def readBestScore():
|
||||
try:
|
||||
file=open("alacarte.sav","r")
|
||||
best = file.readline()
|
||||
file.close()
|
||||
return int(best)
|
||||
except:
|
||||
return 0
|
||||
|
||||
def saveScore(score):
|
||||
try :
|
||||
file=open("alacarte.sav","w")
|
||||
file.truncate(0)
|
||||
file.write(str(score))
|
||||
file.close()
|
||||
except: pass
|
||||
|
||||
saveScore(3)
|
||||
print(readBestScore())
|
||||
Reference in New Issue
Block a user