Affichage / Quitter Part 3
for event in pygame.event.get(): # event handling loop
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == KEYDOWN:
if event.key == K_ESCAPE:
pygame.quit()
sys.exit()
elif (event.key == K_SPACE):
return
pygame.display.update()
FPSCLOCK.tick(FPS)
return
import pygame, sys, random
from pygame.locals import *
FPS = 30
WWIDTH = 640
WHEIGHT = 480
BGCOLOR = ( 255, 0, 0) #RED
BGBCOLOR = ( 0, 0, 0) #BLACK
class Raquette(pygame.sprite.Sprite):
speed = 5
def __init__(self):
pygame.sprite.Sprite.__init__(self)
barWall = pygame.Surface((50,10)).convert()
barWall.fill((255,255,255))
self.image = barWall
self.rect = self.image.get_rect()
self.rect.x = 320
self.rect.y = 440
def main():
global FPSCLOCK, DISPSCREEN
pygame.init()
FPSCLOCK = pygame.time.Clock()
DISPSCREEN = pygame.display.set_mode((WWIDTH, WHEIGHT))
pygame.display.set_caption('MyGame')
while True:
menu()
game()
def game():
direction = 'NO'
raquette = Raquette()
while True:
for event in pygame.event.get(): # event handling loop
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == KEYDOWN:
if event.key == K_ESCAPE:
pygame.quit()
sys.exit()
elif (event.key == K_LEFT):
direction = "LEFT"
elif (event.key == K_RIGHT):
direction = "RIGHT"
elif (event.key == K_SPACE):
return
elif event.type == KEYUP:
if event.key == K_LEFT and direction == "LEFT":
direction = 'NO'
elif event.key == K_RIGHT and direction == "RIGHT":
direction = 'NO'
if (direction == "LEFT" and raquette.rect.x > 0):
raquette.rect.x -= raquette.speed
elif (direction == "RIGHT" and raquette.rect.x < (WWIDTH -50)):
raquette.rect.x += raquette.speed
DISPSCREEN.fill(BGCOLOR)
DISPSCREEN.blit(raquette.image, (raquette.rect.x, raquette.rect.y))
pygame.display.update()
FPSCLOCK.tick(FPS)
def menu():
while True:
for event in pygame.event.get(): # event handling loop
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == KEYDOWN:
if event.key == K_ESCAPE:
pygame.quit()
sys.exit()
elif (event.key == K_SPACE):
return
DISPSCREEN.fill(BGBCOLOR)
pygame.display.update()
FPSCLOCK.tick(FPS)
if __name__ == '__main__':
main()
font = pygame.font.Font(None, 144)
text = font.render("START", 1, (255, 255, 255))
textpos = text.get_rect()
textpos.centerx = 320
textpos.centery = 100
font1 = pygame.font.Font(None, 36)
text1 = font1.render("press SPACE to start", 1, (255, 255, 255))
text1pos = text1.get_rect()
text1pos.centerx = 320
text1pos.centery = 300
DISPSCREEN.blit(text, textpos)
DISPSCREEN.blit(text1, text1pos)