Add end game

This commit is contained in:
2019-03-19 09:12:52 +01:00
parent 2c17b7ba1d
commit 34f83966be
5 changed files with 46 additions and 11 deletions

View File

@@ -5,5 +5,5 @@ def main(canvas: Canvas):
pass pass
# Loop # Loop
def loop(deltatime: float, difficulty: float): def loop(deltatime: float, difficulty: float, end):
pass pass

View File

@@ -57,7 +57,7 @@ def main(c: tk.Canvas):
circle = create_circle() circle = create_circle()
# Loop # Loop
def loop(deltatime: float, difficulty: float): def loop(deltatime: float, difficulty: float, end):
global tick, circle global tick, circle
# Step # Step
@@ -71,8 +71,8 @@ def loop(deltatime: float, difficulty: float):
tick = 0.0 tick = 0.0
return return
else: else:
# TODO, lose end()
pass return
else: else:
circle.decrement() circle.decrement()
tick = 0.0 tick = 0.0

View File

@@ -5,5 +5,5 @@ def main(canvas: Canvas):
pass pass
# Loop # Loop
def loop(deltatime: float, difficulty: float): def loop(deltatime: float, difficulty: float, end):
pass pass

View File

@@ -5,5 +5,5 @@ def main(canvas: Canvas):
pass pass
# Loop # Loop
def loop(deltatime: float, difficulty: float): def loop(deltatime: float, difficulty: float, end):
pass pass

45
main.py
View File

@@ -1,9 +1,10 @@
import tkinter as tk import tkinter as tk
import datetime as dt import datetime as dt
import color import color
from time import sleep
from game import fall, osu, pong, space from game import fall, osu, pong, space
from PIL import Image, ImageTk from PIL import Image, ImageTk
from time import sleep
from tkinter import messagebox
win = tk.Tk() win = tk.Tk()
win['bg'] = color.LEVEL_9 win['bg'] = color.LEVEL_9
@@ -20,23 +21,32 @@ time = None
delta = None delta = None
tick = 0 tick = 0
score = tk.IntVar(win, 0) score = tk.IntVar(win, 0)
# Difficulty
difficulty = 1.0 difficulty = 1.0
MAX_DIFFICULTY = 3.0 MAX_DIFFICULTY = 3.0
DIFFICULTY_STEP = (MAX_DIFFICULTY - difficulty) / 5000 DIFFICULTY_STEP = (MAX_DIFFICULTY - difficulty) / 5000
# End
_end = False
def loop(deltaTime): def loop(deltaTime):
global time, delta, tick, score, difficulty global time, delta, tick, score, difficulty
# Check end
if (_end):
return
# Start # Start
delta = dt.datetime.now() delta = dt.datetime.now()
deltatime = (delta - time).microseconds * 1e-6 deltatime = (delta - time).microseconds * 1e-6
# Loop # Loop
if tick > 2: if tick > 2:
fall.loop(deltatime, difficulty) fall.loop(deltatime, difficulty, end)
osu.loop(deltatime, difficulty) osu.loop(deltatime, difficulty, end)
pong.loop(deltatime, difficulty) pong.loop(deltatime, difficulty, end)
space.loop(deltatime, difficulty) space.loop(deltatime, difficulty, end)
# Step tick # Step tick
tick += 1 tick += 1
@@ -83,7 +93,32 @@ def main():
time = dt.datetime.now() time = dt.datetime.now()
loop(1000 / 60) loop(1000 / 60)
def getMessage(score):
if score < 200:
return 'Vous ferez peut être mieux la prochaine fois...'
elif score < 400:
return 'Un bon début !'
elif score < 600:
return 'Pas mal, mais vous ne pouvez faire quatre choses à la fois???'
elif score < 800:
return 'Bien, la maitrise vient avec le temps'
elif score < 1000:
return 'Bien joué, vous approchez de la difficulté maximum'
elif score < 5000:
return "Splendide, vous n\'avez plus qu'à attendre l'éternité"
else:
return "Ce jeu n'a plus aucun secrets pour vous !"
def end():
global _end
_end = True
messagebox.showinfo('Perdu', f'Votre score est de {score.get()} points\n{getMessage(score.get())}')
# Terminate
win.destroy()
# Main
print('Bienvenue dans le jeu QuadraLudi') print('Bienvenue dans le jeu QuadraLudi')
main() main()
win.mainloop() win.mainloop()