From ab9c5672df270049f9e1e3ecd9af9564240fbde7 Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Sun, 22 Oct 2017 18:02:53 +0300 Subject: [PATCH] =?UTF-8?q?Premi=C3=A8re=20s=C3=A9ance=20ISN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ISN/draw.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++ ISN/index.rst | 4 ++-- 2 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 ISN/draw.py diff --git a/ISN/draw.py b/ISN/draw.py new file mode 100644 index 0000000..ffc2ed3 --- /dev/null +++ b/ISN/draw.py @@ -0,0 +1,65 @@ +import pygame, sys + +pygame.init() + +windowSurface = pygame.display.set_mode((500, 400), 0,32) +pygame.display.set_caption('Hello world!') + +BLACK = (0, 0, 0) +WHITE = (255, 255, 255) +RED = (255, 0, 0) +GREEN = (0, 255, 0) +BLUE = (0, 0, 255) + +color_text = WHITE +color_background = WHITE +color_polygon = GREEN +color_border = RED + +running = True +while running: + + basic_font = pygame.font.SysFont(None, 48) + text = basic_font.render('Hello world!', True, color_text ,BLUE) + text_rect = text.get_rect() + text_rect.centerx = windowSurface.get_rect().centerx + text_rect.centery = windowSurface.get_rect().centery + + windowSurface.fill(color_background) + + pygame.draw.polygon(windowSurface, color_polygon, + ((146, 0), (291, 106), (236, 277), (56, 277), (0, 106)) + ) + + pygame.draw.line(windowSurface, BLUE, (60, 60), (120, 60), 4) + pygame.draw.line(windowSurface, BLUE, (120, 60), (60, 120)) + pygame.draw.line(windowSurface, BLUE, (60, 120), (120, 120), 4) + + pygame.draw.circle(windowSurface, BLUE, (300, 50), 20, 0) + + pygame.draw.ellipse(windowSurface, RED, (300, 250, 40,80), 1) + + pygame.draw.rect(windowSurface, color_border, + (text_rect.left - 20, text_rect.top - 20, + text_rect.width + 40, text_rect.height + 40) + ) + + windowSurface.blit(text, text_rect) + + pygame.display.update() + + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + elif event.type == pygame.MOUSEBUTTONUP: + color_background = WHITE + color_border = (255, (color_border[1] + 10) % 256, 0) + elif event.type == pygame.MOUSEBUTTONDOWN: + color_background = RED + elif event.type == pygame.KEYUP: + if event.key == pygame.K_UP: + color_polygon = BLACK + elif event.key == pygame.K_DOWN: + color_polygon = GREEN + +pygame.quit() diff --git a/ISN/index.rst b/ISN/index.rst index 92cc390..f002917 100644 --- a/ISN/index.rst +++ b/ISN/index.rst @@ -2,7 +2,7 @@ Quelques cours d'ISN pour la validation ####################################### :date: 2017-10-19 -:modified: 2017-10-19 +:modified: 2017-10-22 :authors: Bertrand Benjamin :category: ISN :tags: Progression @@ -18,7 +18,7 @@ Librairie Pygame (+3 séances) Étape 1: découverte de fonctionnalité de dessin ----------------------------------------------- -On donne un code pas commenté. Les élèves doivent par eux même comprendre ce qui est fait et ajouter les commentaires (ou changer les noms de variables) pour le rendre plus explicite. +On donne `un code pas commenté <./draw.py>`_. Les élèves doivent par eux même comprendre ce qui est fait et ajouter les commentaires (ou changer les noms de variables) pour le rendre plus explicite. À la suite de ça, les élèves seront libres de dessiner ce qu'ils souhaitent sur l'écran. Les plus rapides pourront commencer à faire bouger les éléments.