Skip to content

Commit

Permalink
Update main.py
Browse files Browse the repository at this point in the history
  • Loading branch information
WedoneOfficiel authored Feb 10, 2024
1 parent af46fdb commit 5d68ea0
Showing 1 changed file with 52 additions and 46 deletions.
98 changes: 52 additions & 46 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
import sys
import random
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout, QLineEdit, QMessageBox, QInputDialog, QDesktopWidget
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt
import requests
import webbrowser
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout, QLineEdit, QMessageBox, QInputDialog, QDesktopWidget
from PyQt5.QtGui import QIcon, QFont
from PyQt5.QtCore import Qt

class WedoneOperateApp(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Wedone Operate")
self.setGeometry(100, 100, 100, 100)
self.setWindowIcon(QIcon("icon.png"))
self.setStyleSheet("background-color: white; color: #2b2b2b;")
self.initUI()
Expand All @@ -19,7 +18,7 @@ def initUI(self):
self.layout = QVBoxLayout(self)
self.layout.setContentsMargins(10, 10, 10, 10)

self.label = QLabel("Bienvenue dans Wedone Operate 3.1 ! Bonne aventure !", self)
self.label = QLabel("Bienvenue dans Wedone Operate 3.2 ! Bonne aventure !", self)
self.label.setStyleSheet("font-size: 16px; font-weight: bold; color: #2b2b2b;")
self.layout.addWidget(self.label)

Expand Down Expand Up @@ -48,45 +47,13 @@ def center(self):
def start_game(self):
try:
nombre_epreuves = int(self.input.text())
score = 0
if nombre_epreuves <= 0:
raise ValueError

score = 0
for i in range(1, nombre_epreuves + 1):
operation = random.randint(1, 4)
resultat = 0

if operation == 1: # Addition
while True:
nombre1 = random.randint(1, 100)
nombre2 = random.randint(1, 100 - nombre1)
if nombre1 != nombre2:
break
resultat = nombre1 + nombre2
operation_str = "+"
elif operation == 2: # Soustraction
while True:
nombre1 = random.randint(1, 100)
nombre2 = random.randint(1, nombre1)
if nombre1 != nombre2:
break
resultat = nombre1 - nombre2
operation_str = "-"
elif operation == 3: # Multiplication
while True:
nombre1 = random.randint(1, 10)
nombre2 = random.randint(1, 10)
if nombre1 != nombre2:
break
resultat = nombre1 * nombre2
operation_str = "*"
else: # Division
while True:
nombre1 = random.randint(1, 10)
nombre2 = random.randint(2, 10)
if nombre1 != nombre2 and nombre1 % nombre2 == 0:
break
resultat = nombre1 // nombre2
operation_str = "/"

operation, nombre1, nombre2, operation_str, resultat = self.generate_operation()

user_input, ok_pressed = QInputDialog.getInt(self, f"Épreuve {i}", f"{nombre1} {operation_str} {nombre2} = ?")
if not ok_pressed:
return
Expand All @@ -101,7 +68,46 @@ def start_game(self):
message = f"Vous avez réussi {score} épreuves sur {nombre_epreuves}.\nVotre pourcentage de réussite est de {pourcentage:.2f}%."
QMessageBox.information(self, "Résultat", message)
except ValueError:
QMessageBox.critical(self, "Erreur", "Veuillez entrer un nombre valide pour le nombre d'épreuves.")
QMessageBox.critical(self, "Erreur", "Veuillez entrer un nombre valide et supérieur à 0 pour le nombre d'épreuves.")

def generate_operation(self):
operation = random.randint(1, 4)
nombre1, nombre2, operation_str, resultat = 0, 0, "", 0

if operation == 1: # Addition
while True:
nombre1 = random.randint(1, 100)
nombre2 = random.randint(1, 100 - nombre1)
if nombre1 != nombre2:
break
resultat = nombre1 + nombre2
operation_str = "+"
elif operation == 2: # Soustraction
while True:
nombre1 = random.randint(1, 100)
nombre2 = random.randint(1, nombre1)
if nombre1 != nombre2:
break
resultat = nombre1 - nombre2
operation_str = "-"
elif operation == 3: # Multiplication
while True:
nombre1 = random.randint(1, 10)
nombre2 = random.randint(1, 10)
if nombre1 != nombre2:
break
resultat = nombre1 * nombre2
operation_str = "*"
else: # Division
while True:
nombre1 = random.randint(1, 10)
nombre2 = random.randint(2, 10)
if nombre1 != nombre2 and nombre1 % nombre2 == 0:
break
resultat = nombre1 // nombre2
operation_str = "/"

return operation, nombre1, nombre2, operation_str, resultat

class UpdateMessageBox(QMessageBox):
def __init__(self):
Expand All @@ -113,11 +119,11 @@ def __init__(self):
self.setStyleSheet("background-color: white; color: #2b2b2b;")

def show_update_message(self, latest_version):
message = f"<b>Une nouvelle version de Wedone Operate est disponible (version {latest_version.strip()})</b>!"
message = f"Une nouvelle version de Wedone Operate est disponible (version {latest_version.strip()}) !\n\n"
message += "Nous vous recommandons de mettre à jour l'application pour obtenir les dernières fonctionnalités et correctifs de sécurité."


self.setText(message)
self.setFont(QFont("Arial", 12)) # Police normale

download_button = self.addButton(" Télécharger ", QMessageBox.AcceptRole)
download_button.setStyleSheet("font-size: 14px; background-color: #0672BC; color: white; font-weight: bold; border: 1px solid #0672BC; border-radius: 5px;")
Expand All @@ -132,7 +138,7 @@ def check_for_updates():
response = requests.get(version_url)
if response.status_code == 200:
latest_version = response.text.strip()
if float(latest_version) > 3.1: # Comparaison en tant que nombre flottant
if float(latest_version) > 3.2: # Comparaison en tant que nombre flottant
update_box = UpdateMessageBox()
update_box.show_update_message(latest_version)

Expand Down

0 comments on commit 5d68ea0

Please sign in to comment.