From 449a76d5a65436fe4a4ac2fb7ab6ed15ff0fa150 Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Tue, 3 Apr 2018 14:01:18 +0300 Subject: [PATCH] =?UTF-8?q?Explication=20sur=20la=20s=C3=A9quence=20pygame?= =?UTF-8?q?=20en=20ISN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ISN/pygame/draw.py | 14 +++++++------- ISN/pygame/index.rst | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 ISN/pygame/index.rst diff --git a/ISN/pygame/draw.py b/ISN/pygame/draw.py index c3cb67f..d5510bd 100644 --- a/ISN/pygame/draw.py +++ b/ISN/pygame/draw.py @@ -19,15 +19,9 @@ 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, + pygame.draw.polygon(windowSurface, color_polygon, ((146, 0), (291, 106), (236, 277), (56, 277), (0, 106)) ) @@ -44,6 +38,12 @@ while running: text_rect.width + 40, text_rect.height + 40) ) + 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.blit(text, text_rect) pygame.display.update() diff --git a/ISN/pygame/index.rst b/ISN/pygame/index.rst new file mode 100644 index 0000000..4b24652 --- /dev/null +++ b/ISN/pygame/index.rst @@ -0,0 +1,42 @@ +Découverte de Pygame pour l'ISN en 2017-2018 +############################################ + +:date: 2018-04-03 +:modified: 2018-04-03 +:authors: Bertrand Benjamin +:category: ISN +:tags: Programmation +:summary: Découverte de la librairie Pygame avec la classe d'ISN en 2017-2018 + + +Étape 1: découverte de Pygame +============================= + +Les élèves travaillent sur `le programme draw.py <./draw.py>`_. + +Ils doivent l'exécuter, commenter chaque ligne en expliquant ce qu'il s'y passe et se construire un mémo des fonctions de Pygame. + +Ils sont très fortement invité à modifier le programme pour se l'approprier. + +On coupera régulièrement la séance pour faire des petits bilans sur les questions intéressantes que se posent les élèves. Voici quelques sujets qui seront sans aucuns doutes traités (quitte à les pousser!): + - La couleur et le code RGB + - Le repère et les coordonnées dans Pygame + - Les coordonnées dans les fonctions pour tracer les éléments + - la gestion des évènements + +Il est intéressant de faire cette étape sur 2 séances. Cela renforcera l'intérêt de faire de bons commentaires, de bien prendre des notes et de sauvegarder son travail (...!). + +Étape 2: Projet Snake +===================== + +Le but est de refaire le `jeu snake <./snake.pdf>`_. + +Ce projet est décomposer en étapes. Les premières sont à faire dans l'ordre mais on peut laisser à partir de l'étape 4 la liberté aux élèves d'ajouter des étapes ou de faire les étapes dans l'ordre qui leur convient le mieux. + +Pour les accompagner, on peut leur donner `ce modèle <./pygame_base.py>`_ pour commencer un projet Pygame. + +Quelques mois après cette séquence, des élèves m'ont demandé une version de ce projet codé. La voici: + + - `snake version avancé <./snake_corr.py>`_ (Il y a potentiellement encore des milliers de choses à ajouter!) + - `Explication sur la géométrie de la fenêtre <./snake_expl.pdf>`_ +