From bc45321391a7616899e0ab08da7a39bb1cef074a Mon Sep 17 00:00:00 2001 From: Apologieze Date: Thu, 14 Apr 2022 18:04:33 +0200 Subject: [PATCH] Refonte systeme scene MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refonte complete du système de scene afin d'etre assez flexible pour accepter d'autres jeux --- Monkeycrash.lnk | Bin 513 -> 1347 bytes __pycache__/crash.cpython-38.pyc | Bin 0 -> 16327 bytes __pycache__/launcher.cpython-38.pyc | Bin 0 -> 4326 bytes backuplauncher.py | 38 ++++ crash.py | 327 ++++++++++++++-------------- launcher.py | 107 +++++---- scene.py | 19 ++ value.json | 2 +- 8 files changed, 283 insertions(+), 210 deletions(-) create mode 100644 __pycache__/crash.cpython-38.pyc create mode 100644 __pycache__/launcher.cpython-38.pyc create mode 100644 backuplauncher.py create mode 100644 scene.py diff --git a/Monkeycrash.lnk b/Monkeycrash.lnk index 590afbc3be466613b460b3f6512f5204de5efc2b..a7b008ed6c992bee77638a65fb5014db49cca8ee 100644 GIT binary patch literal 1347 zcmdr~O-lk%6g^gywI~-ZN{ZaL5=IM(a1k;(%801wxQW^5G^mK9%(#g(>Myj9qD@=- z1JSB&ErlRj*TTQh8Ap^PcddMIKi+-!-FxnNFAc!uU7!Y@hZ>3Zs2hIze&5SOCDwPL zrv(Qh?W4K=K`S0Pi7v;C^*6lO&3$Iy{9lop=f3YoFdV+wLMR?l$4L{XjJ@Het6Y~o z5anbppS@rxg;gwJ@YGda%N+$hfmxTwnC>U!N>VZfS)E{7V|5kNy*3a>gz;HZ9w0V6FA|?loECFiXwz$QUmGG< zSwrVZo$)45XIE3nTZ6M!n6L7-#(aag9M8K5tN?d`VnNFDtrBut3aD}2s<)f1-($&* pQbkv5TGJ4y$iTd<0E+x&5`UfZ^Acn(&3%Bp{SVvo#@PJM^8SQl(bIgQnLe|-Rm|i< zCSijl21B4)28N7~h1miOPM+=oLH>0>Auk3_1{Q|*`!Yh#=2e6+Y|sO$X|QHs1ZonS zcu+yd)0}~!GUS=70z-09VsVCEK_vr&6I4%Th)Wqv&jXe`4v?P7%8WjY?vo1`4Vm2; PtR^QgOS8%`Kv=c_S*|jK diff --git a/__pycache__/crash.cpython-38.pyc b/__pycache__/crash.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c182aa23bc8f866d75154290bdca56381e4e3fe7 GIT binary patch literal 16327 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 OZaCH2)!KCJ=Kla!ny6C% literal 0 HcmV?d00001 diff --git a/backuplauncher.py b/backuplauncher.py new file mode 100644 index 0000000..1a906fa --- /dev/null +++ b/backuplauncher.py @@ -0,0 +1,38 @@ +import tkinter as tk +import ctypes as ct + +root = tk.Tk() +root.title("Casino") +root.geometry("500x500") + +w_width = 1000 +w_height = 700 +screen_width, screen_height = root.winfo_screenwidth(), root.winfo_screenheight() + +center_x, center_y = int(screen_width/2 - w_width / 2), int(screen_height/2 - w_height / 2) +root.geometry(f'{w_width}x{w_height}+{center_x}+{center_y}') +root.configure(bg="#36393F") + +label = tk.Label(root, text="Hello World") +label.pack() +a = tk.PhotoImage(file = "Image/button.png") +button = tk.Button(root, text="Fermer", borderwidth=0) +button.pack() +tk.Label(image=a).pack() + +def dark_bar(window): + window.update() + DWMWA_USE_IMMERSIVE_DARK_MODE = 20 + set_window_attribute = ct.windll.dwmapi.DwmSetWindowAttribute + get_parent = ct.windll.user32.GetParent + hwnd = get_parent(window.winfo_id()) + rendering_policy = DWMWA_USE_IMMERSIVE_DARK_MODE + value = 2 + value = ct.c_int(value) + set_window_attribute(hwnd, rendering_policy, ct.byref(value),ct.sizeof(value)) + root.iconify() + root.deiconify() + +dark_bar(root) +root.mainloop() + diff --git a/crash.py b/crash.py index 0cd460a..8ad2001 100644 --- a/crash.py +++ b/crash.py @@ -1,5 +1,3 @@ -import time -import subprocess import pygame as pg from sys import exit from tkinter import Tk @@ -7,25 +5,6 @@ import ctypes as ct from random import randint import json -DEBUG = True -FULLSCREEN = False -running = False -screen_width, screen_height = Tk().winfo_screenwidth(), Tk().winfo_screenheight() -res = (screen_width, screen_height) if FULLSCREEN else (1200, 800) -mid_screen = (res[0] // 2, res[1] // 2) -with open('value.json', 'r') as f: - data = json.load(f) - -pg.init() -pg.mixer.init(channels=1) -pg.mixer.music.load("Music/winning.mp3") -pg.display.set_icon(pg.image.load("Image/icon.png")) -screen = pg.display.set_mode(res, pg.FULLSCREEN) if FULLSCREEN else pg.display.set_mode(res, pg.RESIZABLE) -pg.display.set_caption('MonkeyCrash') -clock = pg.time.Clock() -bet_balance = 0.0 -initial_bet = 0.0 -live_bet = 0.0 def dark_bar(): """Fonction pour passer la fenêtre en thème sombre""" @@ -36,11 +15,8 @@ def dark_bar(): value = 2 value = ct.c_int(value) set_window_attribute(hwnd, rendering_policy, ct.byref(value),ct.sizeof(value)) - pg.display.set_mode((res[0]-1,res[1])) - pg.display.set_mode(res, pg.RESIZABLE) - -if not FULLSCREEN: - dark_bar() + pg.display.set_mode((gen.res[0]-1,gen.res[1])) + pg.display.set_mode(gen.res, pg.RESIZABLE) class Game_state(): def __init__(self,balance=0.0): @@ -48,7 +24,7 @@ class Game_state(): def generate_multiplicateur(self): choice = randint(0, 99) - if DEBUG: + if gen.DEBUG: print("choice", choice) if choice < 10: return 1 + (randint(0, 5) / 100) @@ -85,24 +61,24 @@ class Rocket(pg.sprite.Sprite): self.fall_index = 0 self.image = self.rocket_anim[1] - self.rect = self.image.get_rect(bottomleft=(-20,res[1]-150)) + self.rect = self.image.get_rect(bottomleft=(-20, gen.res[1]-150)) self.multi_max = self.get_multiplicateur() self.live_multi = 1.0 self.multi_color = "white" self.multi_add = 0.003 - self.text_multi = big_font.render(str(self.live_multi)+'x', True, 'white') + self.text_multi = gen.big_font.render(str(self.live_multi)+'x', True, 'white') self.text_multi_rect = self.text_multi.get_rect(midleft=(self.rect.midright)) def get_multiplicateur(self): r = self.game.generate_multiplicateur() - if DEBUG: + if gen.DEBUG: print(r) return r def monter(self): if self.move_x > 0: - if self.rect.right-20 > res[0]: + if self.rect.right-20 > gen.res[0]: self.move_x = 0 if self.move_y != 0: if self.rect.top < 0: @@ -112,11 +88,11 @@ class Rocket(pg.sprite.Sprite): if self.fall_index < 50: if self.fall_index == 0: new_round() - historic.add_value(self.multi_max,self.multi_color) + gen.historic.add_value(self.multi_max,self.multi_color) self.multi_color = "#ff0000" self.explosion.play() self.fall_index += 1 - elif self.rect.bottom+110 < res[1]: + elif self.rect.bottom+110 < gen.res[1]: self.rect.bottom += 10 else: self.fall = False @@ -148,28 +124,26 @@ class Rocket(pg.sprite.Sprite): self.multi_color = "#63ffa9" else: self.multi_color = "#7adfff" - self.text_multi = big_font.render(str(self.live_multi)[0:4]+'x', True, self.multi_color) + self.text_multi = gen.big_font.render(str(self.live_multi)[0:4]+'x', True, self.multi_color) if self.left: self.text_multi_rect = self.text_multi.get_rect(midright=(self.rect.left, self.rect.centery)) if self.live_multi > 9: self.multi_add = 0.05 else: self.text_multi_rect = self.text_multi.get_rect(midleft=(self.rect.right-30,self.rect.centery)) - if self.text_multi_rect.right+20 >= res[0]: + if self.text_multi_rect.right+20 >= gen.res[0]: self.left = True self.multi_add = 0.01 self.change_animation(1) - screen.blit(self.text_multi, self.text_multi_rect) + gen.screen.blit(self.text_multi, self.text_multi_rect) def update_live_bet(self): - global live_bet - if not gui.cashout: - arrondi = 1 if live_bet > 99 else 2 - live_bet = round(initial_bet * self.live_multi,arrondi) + if not gen.gui.cashout: + arrondi = 1 if gen.live_bet > 99 else 2 + gen.live_bet = round(gen.initial_bet * self.live_multi,arrondi) def reset(self): - global running - self.rect = self.image.get_rect(bottomleft=(-20, res[1] - 150)) + self.rect = self.image.get_rect(bottomleft=(-20, gen.res[1] - 150)) self.live_multi = 1.0 self.multi_color = "white" self.multi_add = 0.003 @@ -177,11 +151,11 @@ class Rocket(pg.sprite.Sprite): self.move_y = -1 self.left = False self.change_animation(1) - running = False + gen.running = False self.multi_max = self.get_multiplicateur() def update(self): - if running: + if gen.running: if not self.left and not self.fall: if self.rocket_index == 1: self.change_animation(0) @@ -192,63 +166,63 @@ class Rocket(pg.sprite.Sprite): class Courbe(): def __init__(self): - self.rect = pg.Rect(0,0,res[0]-10,res[1]-10) + self.rect = pg.Rect(0,0,gen.res[0]-10,gen.res[1]-10) self.color = "#c9204d" self.angle = -0.1 - self.rect.bottomleft = 0, res[1] + self.rect.bottomleft = 0, gen.res[1] def update(self): - self.rect.height = res[1]*2-rocket.sprite.rect.center[1]*2.2-150 - self.rect.width = rocket.sprite.rect.center[0]*2 - self.rect.midbottom = (0, res[1]-150) - pg.draw.arc(screen, self.color, self.rect, 4.71, self.angle, 5) + self.rect.height = gen.res[1]*2-gen.rocket.sprite.rect.center[1]*2.2-150 + self.rect.width = gen.rocket.sprite.rect.center[0]*2 + self.rect.midbottom = (0, gen.res[1]-150) + pg.draw.arc(gen.screen, self.color, self.rect, 4.71, self.angle, 5) class Gui(): def __init__(self,game): self.game = game self.cashout = False - self.screen_rect = pg.Rect(res[0]-555, res[1]-70, 330,60) - self.text_screen = big_font.render(str(bet_balance)+'¥', True, 'white') - self.static_text = big_font.render("Balance:", True, '#fab3fe') - self.balance_text = big_font.render(str(self.game.balance) + '¥', True, '#fab3fe') + self.screen_rect = pg.Rect(gen.res[0]-555, gen.res[1]-70, 330,60) + self.text_screen = gen.big_font.render(str(gen.bet_balance)+'¥', True, 'white') + self.static_text = gen.big_font.render("Balance:", True, '#fab3fe') + self.balance_text = gen.big_font.render(str(self.game.balance) + '¥', True, '#fab3fe') self.video_size_reset() def video_size_reset(self): - self.point_y = res[1] - 148 - self.background_rect = pg.Rect(0, self.point_y, res[0], 150) - self.screen_rect = pg.Rect(res[0] - 555, res[1] - 70, 330, 60) + self.point_y = gen.res[1] - 148 + self.background_rect = pg.Rect(0, self.point_y, gen.res[0], 150) + self.screen_rect = pg.Rect(gen.res[0] - 555, gen.res[1] - 70, 330, 60) self.text_screen_rect = self.text_screen.get_rect(center=self.screen_rect.center) - self.static_text_rect = self.static_text.get_rect(bottomleft=(10, res[1] - 70)) - self.balance_text_rect = self.balance_text.get_rect(bottomleft=(20, res[1] - 20)) + self.static_text_rect = self.static_text.get_rect(bottomleft=(10, gen.res[1] - 70)) + self.balance_text_rect = self.balance_text.get_rect(bottomleft=(20, gen.res[1] - 20)) - self.bet_button = Button(res[0] - 200, res[1] - 110, 168, 66, 1, "Placer", big_font, -1, self) - self.back_bet_button = Button(res[0] - 820, res[1] - 120, 168, 66, 2, "Retirer", big_font, -3, self) - self.hundred_button = Button(res[0] - 280, res[1] - 110, 60, 30, 0, '+100', small_font, 0, self) - self.ten_button = Button(res[0] - 350, res[1] - 110, 60, 30, 0, '+10', small_font, 1, self) - self.one_button = Button(res[0] - 420, res[1] - 110, 60, 30, 0, '+1', small_font, 2, self) - self.cents_button = Button(res[0] - 490, res[1] - 110, 60, 30, 0, '+0.1', small_font, 3, self) - self.x_button = Button(res[0] - 560, res[1] - 110, 60, 30, 3, 'X', small_font, -2, self) + self.bet_button = Button(gen.res[0] - 200, gen.res[1] - 110, 168, 66, 1, "Placer", gen.big_font, -1, self) + self.back_bet_button = Button(gen.res[0] - 820, gen.res[1] - 120, 168, 66, 2, "Retirer", gen.big_font, -3, self) + self.hundred_button = Button(gen.res[0] - 280, gen.res[1] - 110, 60, 30, 0, '+100', gen.small_font, 0, self) + self.ten_button = Button(gen.res[0] - 350, gen.res[1] - 110, 60, 30, 0, '+10', gen.small_font, 1, self) + self.one_button = Button(gen.res[0] - 420, gen.res[1] - 110, 60, 30, 0, '+1', gen.small_font, 2, self) + self.cents_button = Button(gen.res[0] - 490, gen.res[1] - 110, 60, 30, 0, '+0.1', gen.small_font, 3, self) + self.x_button = Button(gen.res[0] - 560, gen.res[1] - 110, 60, 30, 3, 'X', gen.small_font, -2, self) self.reset_live_bet() def reset_text(self): - self.text_screen = big_font.render(str(bet_balance)+'¥', True, 'white') + self.text_screen = gen.big_font.render(str(gen.bet_balance)+'¥', True, 'white') self.text_screen_rect = self.text_screen.get_rect(center = self.screen_rect.center) def reset_balance_text(self): aff_balance = str(int(self.game.balance))+str(self.game.balance%1)[1:4] - self.balance_text = big_font.render(aff_balance + '¥', True, '#fab3fe') - self.balance_text_rect = self.balance_text.get_rect(bottomleft=(20, res[1] - 20)) + self.balance_text = gen.big_font.render(aff_balance + '¥', True, '#fab3fe') + self.balance_text_rect = self.balance_text.get_rect(bottomleft=(20, gen.res[1] - 20)) def reset_live_bet(self): - self.text_live_bet = mid_font.render("Mise en cours: "+str(live_bet)+'¥', True, 'white') + self.text_live_bet = gen.mid_font.render("Mise en cours: "+str(gen.live_bet)+'¥', True, 'white') self.text_live_bet_rect = self.text_live_bet.get_rect(midleft = (self.screen_rect.left-310, self.screen_rect.centery+15)) def update(self): - pg.draw.rect(screen, "#262626", self.background_rect) - pg.draw.rect(screen, (20,20,20), self.screen_rect, border_radius=6) - pg.draw.line(screen, "#853370", (0, self.point_y), (res[0], self.point_y), 7) - if not running: + pg.draw.rect(gen.screen, "#262626", self.background_rect) + pg.draw.rect(gen.screen, (20,20,20), self.screen_rect, border_radius=6) + pg.draw.line(gen.screen, "#853370", (0, self.point_y), (gen.res[0], self.point_y), 7) + if not gen.running: self.bet_button.update() self.hundred_button.update() self.ten_button.update() @@ -258,15 +232,15 @@ class Gui(): self.cashout = False else: self.reset_live_bet() - if live_bet != 0: + if gen.live_bet != 0: self.back_bet_button.update() - if live_bet >0: - screen.blit(self.text_live_bet, self.text_live_bet_rect) + if gen.live_bet >0: + gen.screen.blit(self.text_live_bet, self.text_live_bet_rect) - screen.blit(self.text_screen, self.text_screen_rect) - screen.blit(self.static_text, self.static_text_rect) - screen.blit(self.balance_text, self.balance_text_rect) + gen.screen.blit(self.text_screen, self.text_screen_rect) + gen.screen.blit(self.static_text, self.static_text_rect) + gen.screen.blit(self.balance_text, self.balance_text_rect) class Button(): def __init__(self,left,top,width,height,color,text,font,n_id,receiver=None): @@ -283,19 +257,18 @@ class Button(): self.text_rect = self.text.get_rect(center=self.rect.center) def adding(self): - global bet_balance, live_bet, initial_bet change = [100,10,1,0.1] if self.n_id >= 0: - if bet_balance + change[self.n_id] > game_state.balance: - bet_balance = game_state.balance + if gen.bet_balance + change[self.n_id] > gen.game_state.balance: + gen.bet_balance = gen.game_state.balance else: - bet_balance = round(bet_balance+change[self.n_id],1) + gen.bet_balance = round(gen.bet_balance+change[self.n_id],1) elif self.n_id == -2: - bet_balance = 0.0 + gen.bet_balance = 0.0 elif self.n_id == -1: - if bet_balance <= game_state.balance: - initial_bet = bet_balance - live_bet = bet_balance + if gen.bet_balance <= gen.game_state.balance: + gen.initial_bet = gen.bet_balance + gen.live_bet = gen.bet_balance self.receiver.reset_live_bet() elif self.n_id == -3: self.retirer() @@ -303,16 +276,15 @@ class Button(): self.receiver.reset_text() def retirer(self): - global live_bet - change_balance(live_bet) - gui.reset_balance_text() - live_bet = 0.0 - gui.cashout = True + change_balance(gen.live_bet) + gen.gui.reset_balance_text() + gen.live_bet = 0.0 + gen.gui.cashout = True def update(self): #color = self.color_active if self.rect.collidepoint(pos) and not mou[0] else self.color_passive - if self.rect.collidepoint(pos): - if mou[0]: + if self.rect.collidepoint(gen.pos): + if gen.mou[0]: color = self.color_passive if not self.triggered: self.adding() @@ -326,8 +298,8 @@ class Button(): if self.triggered: self.triggered = False - pg.draw.rect(screen, color, self.rect, border_radius=11) - screen.blit(self.text, self.text_rect) + pg.draw.rect(gen.screen, color, self.rect, border_radius=11) + gen.screen.blit(self.text, self.text_rect) class Timer(): def __init__(self): @@ -336,35 +308,34 @@ class Timer(): self.color = "#0e9dd9" self.angle = 90 self.second = 10 - self.text = number_font.render(str(self.second), True, 'white') + self.text = gen.number_font.render(str(self.second), True, 'white') self.text_rect = self.text.get_rect(center=self.rect.center) def video_size_reset(self): - self.rect.center = mid_screen + self.rect.center = gen.mid_screen def rad(self,degree): return degree*0.01745329251 def text_refresh(self): self.second = 10-int((self.angle-90)*10/-360) - self.text = number_font.render(str(self.second), True, 'white') + self.text = gen.number_font.render(str(self.second), True, 'white') self.text_rect = self.text.get_rect(center=self.rect.center) def reset(self): - change_balance(-initial_bet) - gui.reset_balance_text() + change_balance(-gen.initial_bet) + gen.gui.reset_balance_text() self.angle = 90 def update(self): - global running - if not running: + if not gen.running: self.angle -= 1.2 self.text_refresh() - pg.draw.arc(screen, self.color, self.rect, 1.57, self.rad(self.angle), 8) - screen.blit(self.text, self.text_rect) + pg.draw.arc(gen.screen, self.color, self.rect, 1.57, self.rad(self.angle), 8) + gen.screen.blit(self.text, self.text_rect) if self.second == 0: - running = True + gen.running = True pg.mixer.music.play() self.reset() @@ -380,7 +351,7 @@ class Historic(): self.rect_list.pop() else: self.len += 1 - text = small_font.render(str(round(n,2)), True, color) + text = gen.small_font.render(str(round(n,2)), True, color) self.rect_list.insert(0,text.get_rect(topleft=(0,0))) self.text_list.insert(0,text) self.refresh() @@ -392,72 +363,106 @@ class Historic(): def update(self): for i in range(self.len): - screen.blit(self.text_list[i], self.rect_list[i]) + gen.screen.blit(self.text_list[i], self.rect_list[i]) def new_round(): - global live_bet, initial_bet pg.mixer.music.stop() - live_bet, initial_bet = 0.0, 0.0 - gui.reset_live_bet() + gen.live_bet, gen.initial_bet = 0.0, 0.0 + gen.gui.reset_live_bet() def change_balance(n): - game_state.balance += n + gen.game_state.balance += n with open('value.json', 'w') as json_file: - json.dump({"balance":round(game_state.balance,2)}, json_file) + json.dump({"balance":round(gen.game_state.balance,2)}, json_file) def rocket_video_reset(h): - hauteur = res[1]-rocket.sprite.rect.bottom - rocket.sprite.rect.bottom = res[1]-hauteur - -"""Création de toutes les instances""" -number_font = pg.font.Font("Font/Poppins2.ttf", 90) -big_font = pg.font.Font("Font/Poppins2.ttf", 40) -mid_font = pg.font.Font("Font/Poppins2.ttf", 30) -small_font = pg.font.Font("Font/Poppins2.ttf", 20) - -game_state = Game_state(data["balance"]) -rocket = pg.sprite.GroupSingle() -rocket.add(Rocket(game_state)) - -courbe = Courbe() -gui = Gui(game_state) -historic = Historic() + hauteur = gen.res[1]-gen.rocket.sprite.rect.bottom + gen.rocket.sprite.rect.bottom = gen.res[1]-hauteur -timer = Timer() +class Gen(): + def crea(self): + self.DEBUG = True + self.FULLSCREEN = False + self.CHANGESCENE = 0 + self.running = False + screen_width, screen_height = Tk().winfo_screenwidth(), Tk().winfo_screenheight() + self.res = (screen_width, screen_height) if self.FULLSCREEN else (1200, 800) + self.mid_screen = (self.res[0] // 2, self.res[1] // 2) + with open('value.json', 'r') as f: + self.data = json.load(f) -while True: - for event in pg.event.get(): - if event.type == pg.VIDEORESIZE: - hauteur = res[1] - rocket.sprite.rect.bottom - res = (event.w, event.h) - mid_screen = (res[0] // 2, res[1] // 2) - gui.video_size_reset() - timer.video_size_reset() - rocket.sprite.rect.bottom = res[1]-hauteur - # screen = pg.display.set_mode(res, pg.RESIZABLE) - if event.type == pg.QUIT: - import launcher - pg.quit() - exit() + pg.init() + pg.mixer.init(channels=1) + pg.mixer.music.load("Music/winning.mp3") + pg.display.set_icon(pg.image.load("Image/icon.png")) + self.screen = pg.display.set_mode(self.res, pg.FULLSCREEN) if self.FULLSCREEN else pg.display.set_mode(self.res, + pg.RESIZABLE) + pg.display.set_caption('MonkeyCrash') + self.clock = pg.time.Clock() + self.bet_balance = 0.0 + self.initial_bet = 0.0 + self.live_bet = 0.0 + + """Création de toutes les instances""" + self.number_font = pg.font.Font("Font/Poppins2.ttf", 90) + self.big_font = pg.font.Font("Font/Poppins2.ttf", 40) + self.mid_font = pg.font.Font("Font/Poppins2.ttf", 30) + self.small_font = pg.font.Font("Font/Poppins2.ttf", 20) + + self.game_state = Game_state(self.data["balance"]) + self.rocket = pg.sprite.GroupSingle() + self.rocket.add(Rocket(self.game_state)) + + self.courbe = Courbe() + self.gui = Gui(self.game_state) + self.historic = Historic() + + self.timer = Timer() + + if not self.FULLSCREEN: + dark_bar() + + def update(self): + for event in pg.event.get(): + if event.type == pg.VIDEORESIZE: + hauteur = self.res[1] - self.rocket.sprite.rect.bottom + self.res = (event.w, event.h) + self.mid_screen = (self.res[0] // 2, self.res[1] // 2) + self.gui.video_size_reset() + self.timer.video_size_reset() + self.rocket.sprite.rect.bottom = self.res[1] - hauteur + # screen = pg.display.set_mode(res, pg.RESIZABLE) + if event.type == pg.QUIT: + self.CHANGESCENE = 1 + pg.quit() + return + # exit() + + self.mou = pg.mouse.get_pressed() + + self.pos = pg.mouse.get_pos() + self.screen.fill((21, 25, 55)) + + self.courbe.update() + + self.gui.update() + + self.historic.update() + + self.rocket.draw(self.screen) + self.rocket.update() + + self.timer.update() + + pg.display.update() + self.clock.tick(30) - mou = pg.mouse.get_pressed() +def init(): + global gen + gen = Gen() + gen.crea() - pos = pg.mouse.get_pos() - screen.fill((21,25,55)) - courbe.update() - - gui.update() - - historic.update() - - rocket.draw(screen) - rocket.update() - - timer.update() - - pg.display.update() - clock.tick(30) diff --git a/launcher.py b/launcher.py index f75ffcc..047f121 100644 --- a/launcher.py +++ b/launcher.py @@ -1,26 +1,9 @@ -import time import pygame as pg from sys import exit from tkinter import Tk import ctypes as ct import json -import subprocess -DEBUG = True -FULLSCREEN = False -running = False -screen_width, screen_height = Tk().winfo_screenwidth(), Tk().winfo_screenheight() -res = (screen_width, screen_height) if FULLSCREEN else (1200, 800) -mid_screen = (res[0] // 2, res[1] // 2) -with open('value.json', 'r') as f: - data = json.load(f) - -pg.init() -pg.display.set_icon(pg.image.load("Image/icon.png")) -screen = pg.display.set_mode(res, pg.FULLSCREEN) if FULLSCREEN else pg.display.set_mode(res, pg.RESIZABLE) -pg.display.set_caption('Launcher') -clock = pg.time.Clock() -balance = data["balance"] def dark_bar(): """Fonction pour passer la fenêtre en thème sombre""" @@ -32,12 +15,9 @@ def dark_bar(): value = ct.c_int(value) set_window_attribute(hwnd, rendering_policy, ct.byref(value),ct.sizeof(value)) pg.display.set_mode((1,1)) - pg.display.set_mode(res, pg.RESIZABLE) + pg.display.set_mode(gen.res, pg.RESIZABLE) -if not FULLSCREEN: - dark_bar() - class GameButton(): def __init__(self,image1,image2, id): self.image_passive = pg.image.load(image1).convert_alpha() @@ -49,9 +29,9 @@ class GameButton(): self.id = id def update(self): - if self.rect.collidepoint(pos): + if self.rect.collidepoint(gen.pos): self.image = self.image_active - if mou[0]: + if gen.mou[0]: self.click() if self.anim_index < 4: self.anim_index += 1 @@ -60,11 +40,11 @@ class GameButton(): self.image = self.image_passive self.anim_index -= 1 self.rect.bottom = self.base_height - self.anim_index - screen.blit(self.image,self.rect) + gen.screen.blit(self.image,self.rect) def click(self): if self.id == 1: - import crash + gen.CHANGESCENE = 2 class GUI(): @@ -72,38 +52,69 @@ class GUI(): self.resize() def resize(self): - self.text_balance = mid_font.render("¥" + str(balance), True, 'white') - self.rect_balance = self.text_balance.get_rect(topright=(res[0] - 50, 5)) + self.text_balance = gen.mid_font.render("¥" + str(gen.balance), True, 'white') + self.rect_balance = self.text_balance.get_rect(topright=(gen.res[0] - 50, 5)) self.back_rect = self.rect_balance.copy() self.back_rect.width += 20 self.back_rect.height += 10 self.back_rect.center = self.rect_balance.center def update(self): - pg.draw.rect(screen, (20,20,20), self.back_rect, border_radius=11) - screen.blit(self.text_balance, self.rect_balance) + pg.draw.rect(gen.screen, (20,20,20), self.back_rect, border_radius=11) + gen.screen.blit(self.text_balance, self.rect_balance) -mid_font = pg.font.Font("Font/Poppins2.ttf", 30) +class Gen: + def crea(self): + self.DEBUG = True + self.FULLSCREEN = False + self.CHANGESCENE = 0 + self.running = False + screen_width, screen_height = Tk().winfo_screenwidth(), Tk().winfo_screenheight() + self.res = (screen_width, screen_height) if self.FULLSCREEN else (1200, 800) + self.mid_screen = (self.res[0] // 2, self.res[1] // 2) + with open('value.json', 'r') as f: + self.data = json.load(f) -crashbutton = GameButton("Image/crashbutton1.png", "Image/crashbutton2.png", 1) -gui = GUI() + pg.init() + pg.display.set_icon(pg.image.load("Image/icon.png")) + self.screen = pg.display.set_mode(self.res, pg.FULLSCREEN) if self.FULLSCREEN else pg.display.set_mode(self.res, pg.RESIZABLE) + pg.display.set_caption('Launcher') + self.clock = pg.time.Clock() + self.balance = self.data["balance"] -while True: - for event in pg.event.get(): - if event.type == pg.VIDEORESIZE: - res = (event.w, event.h) - mid_screen = (res[0] // 2, res[1] // 2) - gui.resize() - if event.type == pg.QUIT: - pg.quit() - exit() + "Définition des instances" + self.mid_font = pg.font.Font("Font/Poppins2.ttf", 30) - pos = pg.mouse.get_pos() - mou = pg.mouse.get_pressed() + self.crashbutton = GameButton("Image/crashbutton1.png", "Image/crashbutton2.png", 1) + self.gui = GUI() + + if not gen.FULLSCREEN: + dark_bar() + + def update(self): + for event in pg.event.get(): + if event.type == pg.VIDEORESIZE: + self.res = (event.w, event.h) + self.mid_screen = (self.res[0] // 2, self.res[1] // 2) + self.gui.resize() + if event.type == pg.QUIT: + pg.quit() + exit() + + self.pos = pg.mouse.get_pos() + self.mou = pg.mouse.get_pressed() + + self.screen.fill((35, 35, 35)) + self.crashbutton.update() + self.gui.update() + pg.display.update() + self.clock.tick(30) + + + +def init(): + global gen + gen = Gen() + gen.crea() - screen.fill((35,35,35)) - crashbutton.update() - gui.update() - pg.display.update() - clock.tick(30) \ No newline at end of file diff --git a/scene.py b/scene.py new file mode 100644 index 0000000..2f94183 --- /dev/null +++ b/scene.py @@ -0,0 +1,19 @@ +import launcher +import crash + +class Scene(): + def change_scene(self,nb): + self.current_scene = self.scenes[nb-1] + self.current_scene.init() + + def __init__(self): + self.scenes = [launcher, crash] + self.change_scene(1) + while True: + if not self.current_scene.gen.CHANGESCENE: + self.current_scene.gen.update() + else: + self.current_scene.pg.quit() + self.change_scene(self.current_scene.gen.CHANGESCENE) + +Scene() \ No newline at end of file diff --git a/value.json b/value.json index 965c736..e86892b 100644 --- a/value.json +++ b/value.json @@ -1 +1 @@ -{"balance": 31.55} \ No newline at end of file +{"balance": 492.06} \ No newline at end of file