Fix everything with scene and menu

This commit is contained in:
Apologieze
2022-04-15 23:26:13 +02:00
parent bc45321391
commit f24497a337
8 changed files with 157 additions and 135 deletions

BIN
Image/iconcasino.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

BIN
Image/iconcasino.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Binary file not shown.

171
crash.py
View File

@@ -1,10 +1,96 @@
import pygame as pg
from sys import exit
from tkinter import Tk
import ctypes as ct
from random import randint
import json
class Gen():
def crea(self, tempres, fullscreen):
self.DEBUG = True
self.FULLSCREEN = fullscreen
self.CHANGESCENE = 0
self.running = False
# pg.init()
#screen_width, screen_height = Tk().winfo_screenwidth(), Tk().winfo_screenheight()
self.tempres = tempres
self.res = tempres[0] if self.FULLSCREEN else tempres[1]
self.mid_screen = (self.res[0] // 2, self.res[1] // 2)
with open('value.json', 'r') as f:
self.data = json.load(f)
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.KEYDOWN:
if event.key == pg.K_ESCAPE:
hauteur = self.res[1] - self.rocket.sprite.rect.bottom
self.FULLSCREEN = not self.FULLSCREEN
self.res = self.tempres[0] if self.FULLSCREEN else self.tempres[1]
self.screen = pg.display.set_mode(self.res, pg.FULLSCREEN) if self.FULLSCREEN else pg.display.set_mode(self.res, pg.RESIZABLE)
self.rocket.sprite.rect.bottom = self.res[1] - hauteur
if not self.FULLSCREEN:
pg.display.set_mode(size=self.res,flags=pg.RESIZABLE)
elif event.type == pg.VIDEORESIZE:
hauteur = self.res[1] - self.rocket.sprite.rect.bottom
self.res = (event.w, event.h)
if not self.FULLSCREEN:
self.tempres[1] = self.res
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)
elif event.type == pg.QUIT:
self.CHANGESCENE = 1
return
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)
def dark_bar():
"""Fonction pour passer la fenêtre en thème sombre"""
@@ -381,88 +467,9 @@ def rocket_video_reset(h):
gen.rocket.sprite.rect.bottom = gen.res[1]-hauteur
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)
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)
def init():
def init(tempres, fullscreen):
global gen
gen = Gen()
gen.crea()
gen.crea(tempres, fullscreen)

View File

@@ -1,9 +1,63 @@
import pygame as pg
from sys import exit
from tkinter import Tk
import ctypes as ct
import json
class Gen:
def crea(self, tempres, fullscreen):
self.DEBUG = True
self.FULLSCREEN = fullscreen
self.CHANGESCENE = 0
self.running = False
# pg.init()
self.tempres = tempres
self.res = tempres[0] if self.FULLSCREEN else tempres[1]
self.mid_screen = (self.res[0] // 2, self.res[1] // 2)
with open('value.json', 'r') as f:
self.data = json.load(f)
pg.display.set_icon(pg.image.load("Image/iconcasino.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"]
"Définition des instances"
self.mid_font = pg.font.Font("Font/Poppins2.ttf", 30)
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.KEYDOWN:
if event.key == pg.K_ESCAPE:
self.FULLSCREEN = not self.FULLSCREEN
self.res = self.tempres[0] if self.FULLSCREEN else self.tempres[1]
self.screen = pg.display.set_mode(self.res, pg.FULLSCREEN) if self.FULLSCREEN else pg.display.set_mode(self.res, pg.RESIZABLE)
if not self.FULLSCREEN:
pg.display.set_mode(size=self.res,flags=pg.RESIZABLE)
elif event.type == pg.VIDEORESIZE:
self.res = (event.w, event.h)
if not self.FULLSCREEN:
self.tempres[1] = self.res
self.mid_screen = (self.res[0] // 2, self.res[1] // 2)
self.gui.resize()
elif 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 dark_bar():
"""Fonction pour passer la fenêtre en thème sombre"""
@@ -14,7 +68,7 @@ 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((1,1))
pg.display.set_mode((gen.res[0]-1,gen.res[1]))
pg.display.set_mode(gen.res, pg.RESIZABLE)
@@ -64,57 +118,12 @@ class GUI():
gen.screen.blit(self.text_balance, self.rect_balance)
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)
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"]
"Définition des instances"
self.mid_font = pg.font.Font("Font/Poppins2.ttf", 30)
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():
def init(tempres, fullscreen):
global gen
gen = Gen()
gen.crea()
gen.crea(tempres, fullscreen)

View File

@@ -1,19 +1,25 @@
import launcher
import crash
import pygame as pg
class Scene():
def change_scene(self,nb):
self.current_scene = self.scenes[nb-1]
self.current_scene.init()
self.current_scene.init(self.res, self.FULLSCREEN)
def __init__(self):
pg.init()
self.scenes = [launcher, crash]
self.FULLSCREEN = False
self.res = [(pg.display.Info().current_w, pg.display.Info().current_h),(1200, 800)]
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.current_scene.pg.quit()
self.res = self.current_scene.gen.tempres
self.FULLSCREEN = self.current_scene.gen.FULLSCREEN
self.change_scene(self.current_scene.gen.CHANGESCENE)
Scene()

View File

@@ -1 +1 @@
{"balance": 492.06}
{"balance": 3752.56}