1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| import pygame,sys
import time
from pygame.locals import *
pygame.init()
pygame.display.init()
ecran = pygame.display.set_mode((1920, 1080)) #Crée la fenêtre de tracé
ecran.fill((127,127,127))
bg = pygame.image.load("images/plan_1.png") #charge une image à partir d'un fichier
bg= pygame.transform.scale(bg, (1280, 720))
ecran.blit(bg, (0,0)) #Colle l'image en haut à gauche de la fenêtre de tracé (ici, l'ecran)
pygame.display.flip() #L'affichage devient effectif : l'image est rendue visible.
buttons=[]
# Create Buttons
buttons.append({ "image" : pygame.image.load("images/1.png"), "position" : (1350, 25)})
buttons.append({ "image" : pygame.image.load("images/2.png"), "position" : (1540, 25)})
buttons.append({ "image" : pygame.image.load("images/3.png"), "position" : (1730, 25)})
buttons.append({ "image" : pygame.image.load("images/4.png"), "position" : (1350, 215)})
buttons.append({ "image" : pygame.image.load("images/5.png"), "position" : (1540, 215)})
buttons.append({ "image" : pygame.image.load("images/6.png"), "position" : (1730,215)})
buttons.append({ "image" : pygame.image.load("images/7.png"), "position" : (1350, 405)})
buttons.append({ "image" : pygame.image.load("images/8.png"), "position" : (1540, 405)})
buttons.append({ "image" : pygame.image.load("images/9.png"), "position" : (1730, 405)})
buttons.append({ "image" : pygame.image.load("images/cancel.png"), "position" : (1350, 595)})
buttons.append({ "image" : pygame.image.load("images/0.png"), "position" : (1540, 595)})
buttons.append({ "image" : pygame.image.load("images/ok.png"), "position" : (1730, 595)})
def drawButtons():
for button in buttons:
ecran.blit(button["image"], button["position"])
nbre=""
police = pygame.font.SysFont('dejavuserif.ttf', 72)
del_lettre=False
loop = True
def event_mouse():
for button in buttons:
but_img = button['image']
buttonSize = button['image'].get_rect().size
buttonPosition = button['position']
return but_img
def click_button(but_img):
global nbre,police
if event.type == pygame.MOUSEBUTTONDOWN:
x, y = event.pos
if but_img.get_rect(topleft=(1350, 25)).collidepoint(x,y):
nbre+="1"
elif but_img.get_rect(topleft=(1540, 25)).collidepoint(x,y):
nbre+="2"
elif but_img.get_rect(topleft=(1730, 25)).collidepoint(x,y):
nbre+="3"
elif but_img.get_rect(topleft=(1350, 215)).collidepoint(x,y):
nbre+="4"
elif but_img.get_rect(topleft=(1540, 215)).collidepoint(x,y):
nbre+="5"
elif but_img.get_rect(topleft=(1730, 215)).collidepoint(x,y):
nbre+="6"
elif but_img.get_rect(topleft=(1350, 405)).collidepoint(x,y):
nbre+="7"
elif but_img.get_rect(topleft=(1540, 405)).collidepoint(x,y):
nbre+="8"
elif but_img.get_rect(topleft=(1730, 405)).collidepoint(x,y):
nbre+="9"
elif but_img.get_rect(topleft=(1350, 595)).collidepoint(x,y):
del_lettre = True
nbre=nbre[:-1]
elif but_img.get_rect(topleft=(1540, 595)).collidepoint(x,y):
nbre+="0"
elif but_img.get_rect(topleft=(1730, 595)).collidepoint(x,y):
nbre+="ok"
else:
nbre+=""
return nbre
def affiche_texte(nbre):
'''Fonction qui doit afficher les chiffres saisi par le digicode et si on supprime une lettre
global del_lettre
print("lettre=",del_lettre)
nb_char=len(nbre)
image_texte = police.render ( nbre, 1 , (255,255,255) )
text=ecran.blit(image_texte, (0,720))
pygame.display.update()
if del_lettre==True:
ecran.fill((127,127,127),(0,720,(nb_char)*27,49))
image_texte = police.render ( nbre, 1 , (255,255,255) )
text=ecran.blit(image_texte, (0,720))
pygame.display.update()
return text
while loop: #Boucle d'événements
time.sleep(0.1)
for event in pygame.event.get(): #parcours de la liste des événements
if(event.type==pygame.QUIT or ( event.type==pygame.KEYDOWN and event.key==pygame.K_ESCAPE)): #interrompt la boucle si nécessaire
loop = False
drawButtons() # affiche les boutons
texte=click_button(event_mouse()) |
Partager