diff --git a/fr-FR/code/powerful_patterns_art_deco_wallpaper_example/main.py b/fr-FR/code/powerful_patterns_art_deco_wallpaper_example/main.py new file mode 100644 index 000000000..683c99f4a --- /dev/null +++ b/fr-FR/code/powerful_patterns_art_deco_wallpaper_example/main.py @@ -0,0 +1,38 @@ +#!/bin/python3 + +from p5 import * +from random import randint + + +def motif(): + global taille_cercle + for i in range(5): + ellipse(0, 0, taille_cercle / 5 * (5 - i), taille_cercle / 5 * (5 - i)) + + +def setup(): + size(400, 400) + print('đ Cet art utilise beaucoup de cercles !') + + global taille_cercle + + taille_cercle = 50 + + +def draw(): + # Couleurs du motif + stroke(40, 35, 100) # bleu + stroke_weight(2) # bordure Ă©paisse + fill(200, 180, 128) # or + + translate(0, 0) # commencer en haut Ă gauche de l'Ă©cran + + if frame_count <= 16: # crĂ©e 16 lignes puis s'arrĂȘte + for row in range(frame_count): # anime 1 ligne Ă la fois + for shape in range(16): # crĂ©er une ligne de motifs + motif() + translate(taille_cercle / 2, 0) + translate(-width, taille_cercle / 2) # descendre pour commencer Ă la ligne suivante + + +run(frame_rate=3) diff --git a/fr-FR/code/powerful_patterns_art_deco_wallpaper_example/project_config.yml b/fr-FR/code/powerful_patterns_art_deco_wallpaper_example/project_config.yml new file mode 100644 index 000000000..7e2a83d66 --- /dev/null +++ b/fr-FR/code/powerful_patterns_art_deco_wallpaper_example/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants : exemple de papier peint Art dĂ©co" +identifier: "art-deco-example" +type: 'python' diff --git a/fr-FR/code/powerful_patterns_kek_lepis_sarawak/main.py b/fr-FR/code/powerful_patterns_kek_lepis_sarawak/main.py new file mode 100644 index 000000000..bc1344fd3 --- /dev/null +++ b/fr-FR/code/powerful_patterns_kek_lepis_sarawak/main.py @@ -0,0 +1,64 @@ +#!/bin/python3 + +from p5 import * +from time import * + +# BasĂ© sur l'incroyable art du gĂąteau gĂ©omĂ©trique malaisien : Kek lapis Sarawak + + +def quadrant(): + # Choisis des couleurs magnifiques pour les couches de gĂąteau + turquoise = Color(64, 224, 208) + or = Color(255, 215, 0) + tomate = Color(255, 99, 71) + + # La confiture colle les couches ensemble + confiture = Color(255, 165, 0) + stroke(confiture) + stroke_weight(2) # Change le nombre pour changer la quantitĂ© de confiture + + # Neuf couches de gĂąteau, en rĂ©pĂ©tant les 3 couleurs 3 fois + for i in range(3): + debut_y = i * 60 # hauteur de 3 blocs de gĂąteau + fill(turquoise) + rect(0, debut_y, 180, 20) + fill(or) + rect(0, debut_y + 20, 180, 20) + fill(tomate) + rect(0, debut_y + 40, 180, 20) + + +def externe(): + # Le gĂąteau est enveloppĂ© dans une couche extĂ©rieure + jaunevert = Color(154, 205, 50) + + no_fill() # Ne couvre pas les quadrants du gĂąteau ! + stroke(jaunevert) + stroke_weight(20) + rect(10, 10, 380, 380, 20) + + +def setup(): + size(400, 400) # faire le gĂąteau carrĂ© + background(255, 255, 255, 0) # arriĂšre-plan transparent + + +def draw(): + # DĂ©finis un quart de tour pour que notre code soit facile Ă lire + quart = radians(90) + + translate(200, 200) # partir du centre + + # Faire le quart infĂ©rieur droit du gĂąteau puis faire pivoter pour les autres quarts + + if frame_count <= 4: # dessine jusqu'Ă 4 quadrants + for i in range(frame_count): + quadrant() + rotate(quart) + + if frame_count == 5: # ajoute la couche externe + translate(-200, -200) # retour au coin supĂ©rieur + externe() # couche externe + + +run(frame_rate=5) # 5 images par seconde diff --git a/fr-FR/code/powerful_patterns_kek_lepis_sarawak/project_config.yml b/fr-FR/code/powerful_patterns_kek_lepis_sarawak/project_config.yml new file mode 100644 index 000000000..976ccbc23 --- /dev/null +++ b/fr-FR/code/powerful_patterns_kek_lepis_sarawak/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants : exemple de Kek Lepis Sarawak" +identifier: "repeated-patterns-example" +type: 'python' \ No newline at end of file diff --git a/fr-FR/code/powerful_patterns_mcewen_tartan_example/main.py b/fr-FR/code/powerful_patterns_mcewen_tartan_example/main.py new file mode 100644 index 000000000..809eca226 --- /dev/null +++ b/fr-FR/code/powerful_patterns_mcewen_tartan_example/main.py @@ -0,0 +1,77 @@ +#!/bin/python3 + +from p5 import * + + +def setup(): + size(400, 400) + + +def draw(): + lignes = 10 * frame_count # Utiliser dans la forme largeur/longueur pour animer au fil du temps + + # Couleurs du tartan McEwen + # Couleurs des carrĂ©s de base + BLEU = Color(83, 143, 200) + VERT = Color(78, 163, 162) + COULEURS_BASE = [VERT, BLEU] + + # Couleurs des croix + JAUNE = Color(155, 176, 135) + ROUGE = Color(155, 129, 113) + COULEURS_CROIX = [JAUNE, ROUGE] + + # Couleur de couture et de chevauchement + GRIS = Color(78, 99, 86) + + # Dessiner tous les carrĂ©s de base alternĂ©s VERT et BLEU + no_stroke() + coordonnee_y = 0 + carres = width/taille_carre + + for i in range(int(carres)): + ecart = 0 + for j in range(int(carres)): + fill(COULEUR_BASE[j % 2]) # VERT et BLEU + rect(ecart, coordonnee_y, taille_carre, taille_carre) + ecart = ecart + taille_carre + coordonnee_y = coordonnee_y + taille_carre + + # Croix + stroke(GRIS) + + # Dessine des croix alternĂ©es JAUNE et ROUGE + for i in range(4): + fill(JAUNE) + croix = taille_carre / 2 - 2 + for i in range(int(carres/2)): + fill(COULEURS_CROIX[i % 2]) # JAUNE et ROUGE + rect(croix, 0, 4, lignes) + rect(0, croix, lignes, 4) + croix = croix + 2 * taille_croix + # Dessine les croix de couture + no_fill() + croix = taille_carre + taille_carre / 2 - 2 + for i in range(int(carres)): + rect(croix, 0, 4, lignes) + rect(0, croix, lignes, 4) + croix = croix + taille_croix + + # Dessine les lignes grises oĂč le matĂ©riau se chevauche + no_stroke() + fill(GRIS, 100) + ecart = taille_carre - 4 + for i in range(int(carres)): + rect(ecart, 0, 8, lignes) + ecart = ecart + taille_carre + ecart = taille_carre - 4 + for i in range(int(carres)): + rect(0, ecart, lignes, 8) + ecart = ecart + taille_carre + + +print('đŽó §ó ąó łó Łó Žó żó ąó łó Łó Žó ż Voici McEwen Tartan đŽó §ó ąó łó Łó Žó żó §ó ąó łó Łó Žó ż') +taille_carrĂ©e = int( + input('Quelle taille de tartan đŽsouhaites-tu ? 20, 50 ou 100')) + +run(frame_rate=10) diff --git a/fr-FR/code/powerful_patterns_mcewen_tartan_example/project_config.yml b/fr-FR/code/powerful_patterns_mcewen_tartan_example/project_config.yml new file mode 100644 index 000000000..0d0a5a7cf --- /dev/null +++ b/fr-FR/code/powerful_patterns_mcewen_tartan_example/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants : le tartan McEwen" +identifier: "mcewen-tartan-example" +type: 'python' diff --git a/fr-FR/code/powerful_patterns_random_faces_example/main.py b/fr-FR/code/powerful_patterns_random_faces_example/main.py new file mode 100644 index 000000000..96f731242 --- /dev/null +++ b/fr-FR/code/powerful_patterns_random_faces_example/main.py @@ -0,0 +1,47 @@ +#!/bin/python3 + +from p5 import * +from random import randint + + +def dessin_motif(): + orange = Color(191, 64, 191) + brun = Color(200, 120, 0) + vert = Color(100, 155, 0) + fill(orange) + ellipse(200, 200, 200, 190) + fill(0) + # Les yeux + ellipse(160, 190, 30, 30) + ellipse(240, 190, 30, 30) + fill(255) + ellipse(165, 200, 10, 10) + ellipse(245, 200, 10, 10) + # La bouche + no_fill() + stroke(255, 255, 255) + ellipse(150, 250, 30, 30) + ellipse(250, 250, 30, 30) + fill(255, 255, 255) + no_stroke() + rect(150, 230, 100, 40) + fill(108, 200, 206) + rect(152, 235, 96, 30) + + +def setup(): + size(400, 400) + background(255) + no_stroke() + + +def draw(): + push_matrix() + # dĂ©calĂ© de la largeur d'un quart de taille du visage + translate(randint(-50, 350), randint(-50, 350)) + scale(0,25, 0,25) # chemins de quart de taille + dessin_motif() + pop_matrix() + + +run(frame_rate=10) diff --git a/fr-FR/code/powerful_patterns_random_faces_example/project_config.yml b/fr-FR/code/powerful_patterns_random_faces_example/project_config.yml new file mode 100644 index 000000000..ecb8a8eb5 --- /dev/null +++ b/fr-FR/code/powerful_patterns_random_faces_example/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants : visages alĂ©atoires" +identifier: "random-faces-example" +type: 'python' diff --git a/fr-FR/code/powerful_patterns_spirals_example/main.py b/fr-FR/code/powerful_patterns_spirals_example/main.py new file mode 100644 index 000000000..005c106ee --- /dev/null +++ b/fr-FR/code/powerful_patterns_spirals_example/main.py @@ -0,0 +1,33 @@ +#!/bin/python3 + +from p5 import * +from math import random +from random import randint + + +def motif(): + fill(randint(0, 255), randint(0, 255), randint(0, 255)) + ellipse(0, 0, 25, 25) + fill(0, 0, 0) + ellipse(0, 0, 15, 15) + fill(randint(0, 255), randint(0, 255), randint(0, 255)) + for i in range(4): # une courte rangĂ©e de carrĂ©s + rect(i * 5, 0, 5, 5) + + +def setup(): + size(400, 400) + stroke_weight(2) # bordure Ă©paisse + background(255) + + +def draw(): + translate(200, 200) # dĂ©marrer depuis le centre de l'Ă©cran + if frame_count < 150: + for i in range(frame_count): # anime le motif + motif() + rotate(5) # tourne le motif + translate(i, i) # dĂ©place le motif + + +run(frame_rate=10) # animation rapide diff --git a/fr-FR/code/powerful_patterns_spirals_example/project_config.yml b/fr-FR/code/powerful_patterns_spirals_example/project_config.yml new file mode 100644 index 000000000..6f328f04e --- /dev/null +++ b/fr-FR/code/powerful_patterns_spirals_example/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants : spirales" +identifier: "spirals-pattern-example" +type: 'python' diff --git a/fr-FR/code/powerful_patterns_starter/main.py b/fr-FR/code/powerful_patterns_starter/main.py new file mode 100644 index 000000000..128c60ccf --- /dev/null +++ b/fr-FR/code/powerful_patterns_starter/main.py @@ -0,0 +1,20 @@ +#!/bin/python3 + +from p5 import * +from random import randint + + +def setup(): + # Mets le code Ă exĂ©cuter une fois ici + size(400, 400) + background(255, 255, 255) + + +def draw(): + # Mets le code Ă exĂ©cuter une fois ici + fill(255, 0, 255) + rect(50, 50, 120, 100) + + +# Garde ceci pour exĂ©cuter ton code +run(frame_rate=5) diff --git a/fr-FR/code/powerful_patterns_starter/project_config.yml b/fr-FR/code/powerful_patterns_starter/project_config.yml new file mode 100644 index 000000000..03225c899 --- /dev/null +++ b/fr-FR/code/powerful_patterns_starter/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants" +identifier: "powerful-patterns-starter" +type: 'python' diff --git a/fr-FR/code/powerful_patterns_yakan_weaving_example/main.py b/fr-FR/code/powerful_patterns_yakan_weaving_example/main.py new file mode 100644 index 000000000..421b443c9 --- /dev/null +++ b/fr-FR/code/powerful_patterns_yakan_weaving_example/main.py @@ -0,0 +1,66 @@ +#!/bin/python3 + +from p5 import * +from math import random + + +def motif(): + taille_motif = 100 + + # Couleurs du fil + ORANGE = Color(254, 96, 1) + VIOLET = Color(135, 18, 192) + JAUNE = Color(243, 200, 19) + BLEU = Color(83, 171, 176) + + # CarrĂ©s + fill(ORANGE) + rect(0, 0, taille_motif/2, taille_motif/2) + fill(VIOLET) + rect(50, 0, taille_motif/2, taille_motif/2) + fill(JAUNE) + rect(0, 50, taille_motif/2, taille_motif/2) + fill(BLEU) + rect(50, 50, taille_motif/2, taille_motif/2) + fill(VIOLET) + rect(0, 0, taille_motif/4, taille_motif/4) + fill(ORANGE) + rect(50, 0, taille_motif/4, taille_motif/4) + fill(BLEU) + rect(0, 50, taille_motif/4, taille_motif/4) + fill(JAUNE) + rect(50, 50, taille_motif/4, taille_motif/4) + + +def rotation_motif(): + for shape in range(5): # ligne de motifs + push_matrix() # enregistrer les paramĂštres + rotate(radians(45)) # tourner la forme de 45 degrĂ©s + motif() + pop_matrix() # retourne aux paramĂštres enregistrĂ©s + translate(largeur_motif, 0) # se dĂ©placer horizontalement + + +def setup(): + size(400, 400) + background(250, 5, 94) # rose + no_stroke() + print('C\'est le đ”đ tissage Yakan') + + +def draw(): + global largeur_motif + largeur_motif = 150 + + translate(-largeur_motif/2, -largeur_motif/2) # pour commencer avec des demi-motifs + + si frame_count < 20: # nombre maximum de lignes + for row in range(frame_count): + rotation_motif() + if row / 2 == 0: # pour dĂ©caler le motif sur la ligne suivante + translate(-largeur_motif * 5 + 75, 80) + else: + translate(-largeur_motif * 5 - 75, 80) + + +run(frame_rate=3) diff --git a/fr-FR/code/powerful_patterns_yakan_weaving_example/project_config.yml b/fr-FR/code/powerful_patterns_yakan_weaving_example/project_config.yml new file mode 100644 index 000000000..44e175ccf --- /dev/null +++ b/fr-FR/code/powerful_patterns_yakan_weaving_example/project_config.yml @@ -0,0 +1,3 @@ +name: "Motifs puissants : le tissage Yakan" +identifier: "yakan-weaving-example" +type: 'python' diff --git a/fr-FR/meta.yml b/fr-FR/meta.yml index 5da2ff9ba..e7986b180 100644 --- a/fr-FR/meta.yml +++ b/fr-FR/meta.yml @@ -1,21 +1,25 @@ --- title: Motifs puissants hero_image: images/banner.png -description: CrĂ©er une Ćuvre d'art inspirante qui peut ĂȘtre mise Ă l'Ă©chelle en utilisant des motifs rĂ©pĂ©tĂ©s +description: + - CrĂ©er une Ćuvre d'art inspirante qui peut ĂȘtre mise Ă l'Ă©chelle en utilisant des motifs + - rĂ©pĂ©tĂ©s +meta_title: Projets de codage Python pour enfants et adolescents | Motifs puissants +meta_description: Apprends Python avec les projets de codage de la Raspberry Pi Foundation pour les enfants et les adolescents. CrĂ©e une Ćuvre d'art inspirante avec Python en utilisant des motifs rĂ©pĂ©tĂ©s. version: 4 listed: true copyedit: true -last_tested: '2021-10-06' +last_tested: "2021-10-06" steps: - - title: Introduction + - title: Ce que tu vas faire - title: Ton idĂ©e - - title: Construire et tester - Motif + - title: 'Construire et tester : motif' completion: - engaged - - title: DĂ©velopper et tester - Motif + - title: 'DĂ©velopper et tester : motif' completion: - internal - - title: RĂ©flexion + - title: Liste de contrĂŽle completion: - external - title: AmĂ©liorer ton projet diff --git a/fr-FR/resources/art_deco.py b/fr-FR/resources/art_deco.py deleted file mode 100644 index cfc6201e0..000000000 --- a/fr-FR/resources/art_deco.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/python3 - -from p5 import * -from math import random -from random import randint - -def motif(): - global circle_size - for i in range(5): - ellipse(0, 0, circle_size / 5 * (5 - i), circle_size / 5 * (5 - i)) - -def setup(): - size(400, 400) - frame_rate(3) - print('đ This art uses lots of circles!') - - global circle_size - - circle_size = 50 - -def draw(): - - # Pattern colours - stroke(40, 35, 100) # blue - stroke_weight(2) # thick border - fill(200, 180, 128) # gold - - translate(0,0) # start from the top left of the screen - - if frame_count <= 16: # creates 16 rows then stops - for row in range (frame_count): # animates 1 row at a time - for shape in range (16): # create a row of motifs - motif() - translate(circle_size / 2, 0) - translate(-width, circle_size / 2) # move down to start next row - -run() \ No newline at end of file diff --git a/fr-FR/resources/draw_kek_lapis_sarawak.py b/fr-FR/resources/draw_kek_lapis_sarawak.py deleted file mode 100644 index edb0e21b9..000000000 --- a/fr-FR/resources/draw_kek_lapis_sarawak.py +++ /dev/null @@ -1,134 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() diff --git a/fr-FR/resources/face_mask.py b/fr-FR/resources/face_mask.py deleted file mode 100644 index 1a7358c71..000000000 --- a/fr-FR/resources/face_mask.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/python3 - -from p5 import * -from random import randint - -def draw_motif(): - orange = color(191, 64, 191) - brown = color(200, 120, 0) - green = color(100, 155, 0) - fill(orange) - ellipse(200, 200, 200, 190) - fill(0) - # Eyes - ellipse(160, 190, 30, 30) - ellipse(240, 190, 30, 30) - fill(255) - ellipse(165, 200, 10, 10) - ellipse(245, 200, 10, 10) - # Mouth - noFill() - stroke(255, 255, 255) - ellipse(150, 250, 30, 30) - ellipse(250, 250, 30, 30) - fill(255, 255, 255) - noStroke() - rect(150, 230, 100, 40) - fill(108, 200, 206) - rect(152, 235, 96, 30) - - -def setup(): - size(400, 400) - background(255) - no_stroke() - frame_rate(10) - - -def draw(): - push_matrix() - translate(randint(-50, 350), randint(-50, 350)) # offset by the width of the quarter-size face - scale(0.25) # quarter size paths - draw_motif() - pop_matrix() - - -run() \ No newline at end of file diff --git a/fr-FR/resources/fibonacci.py b/fr-FR/resources/fibonacci.py deleted file mode 100644 index 7a66f671b..000000000 --- a/fr-FR/resources/fibonacci.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/python3 - -from p5 import * -from math import random - -def setup(): - size(800, 800) - frame_rate(2) - stroke_weight(2) - background(255) - ellipseMode(CORNER) - -def draw(): - - BLUE = color(0, 0, 255) - BLACK = color(0, 0, 0) - translate(width/2, height/2) - - # Motif - rect(0, 0, 1, 1) - arc(0, 0, 1, 1, radians(90), radians(180)) - translate(1,1) - rotate(radians(270)) - - first = 0 - second = 1 - next = first + second - - # Pattern - if frame_count < 20: - for i in range (frame_count): - stroke(BLACK) - rect(0, 0, next, next) - no_fill() - stroke(BLUE) - arc(0, -next, next*2, next*2, radians(90), radians(180)) - translate(next,next) - rotate(radians(270)) - first = second - second = next - next = first + second - -run() \ No newline at end of file diff --git a/fr-FR/resources/kek_lapis_sarawak.py b/fr-FR/resources/kek_lapis_sarawak.py deleted file mode 100644 index 4dc73554a..000000000 --- a/fr-FR/resources/kek_lapis_sarawak.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/python3 - -from draw import * -from time import * - -# Based on the amazing Malaysian geometric cake art: Kek lapis Sarawak - -def quadrant(): - - # Choose some gorgeous colours for the cake layers - turquoise = color(64, 224, 208) - gold = color(255, 215, 0) - tomato = color(255, 99, 71) - - # Jam sticks the layers together - jam = color(255, 165, 0) - stroke(jam) - stroke_weight(2) # Change the number to change the amount of jam - - # Nine layers of cake, repeating the 3 colours 3 times - for i in range(3): - start_y = i * 60 # height of 3 blocks of cake - fill(turquoise) - rect(0, start_y, 180, 20) - fill(gold) - rect(0, start_y + 20, 180, 20) - fill(tomato) - rect(0, start_y + 40, 180, 20) - - -def outer(): - - # Thehe cake is wrapped in an outer layer - yellowgreen = Color(154, 205, 50) - - no_fill() # Don't cover up the cake quadrants! - stroke(yellowgreen) - stroke_weight(20) - rect(10, 10, 380, 380, 20) - - -def setup(): - size(400, 400) # make the cake square - background(255, 255, 255, 0) # transparent background - frame_rate(5) # 5 frames per second - - -def draw(): - - # Define a quarter turn so our code is easy to read - quarter = radians(90) - - translate(200, 200) # start from the center - - # Make the bottom right quarter of the cake then rotate for the other quarters - - if frame_count <= 4: # draw up to 4 quadrants - for i in range(frame_count): - quadrant() - rotate(quarter) - - if frame_count == 5: # add the outer layer - translate(-200, -200) # back to the top corner - outer() # outer layer - - -run() diff --git a/fr-FR/resources/mcewen.py b/fr-FR/resources/mcewen.py deleted file mode 100644 index b107f3fc0..000000000 --- a/fr-FR/resources/mcewen.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/python3 - -from p5 import * - -def setup(): - size(400, 400) - frame_rate(10) - print('đŽó §ó ąó łó Łó Žó żó ąó łó Łó Žó ż This is McEwen Tartan đŽó §ó ąó łó Łó Žó żó §ó ąó łó Łó Žó ż') - - global square_size - square_size = int(input('What size đŽó §ó ąó łó Łó Žó żtartan would you like? 20, 50, or 100')) - -def draw(): - - lines = 10 * frame_count # Use in shape width/length to animate over time - - # McEwen tartan colours - # Base square colours - BLUE = color(83, 143, 200) - GREEN = color(78, 163, 162) - BASE_COLORS = [GREEN, BLUE] - - # Cross colours - YELLOW = color(155, 176, 135) - RED = color(155, 129, 113) - CROSS_COLORS = [YELLOW, RED] - - # Stitching and overlap colour - GREY = color(78, 99, 86) - - # Draw all the GREEN and BLUE alternating Base squares - no_stroke() - y_coordinate = 0 - squares = width/square_size - - for i in range (int(squares)): - gap = 0 - for j in range (int(squares)): - fill(BASE_COLORS[j % 2]) # GREEN and BLUE - rect(gap, y_coordinate, square_size, square_size) - gap = gap + square_size - y_coordinate = y_coordinate + square_size - - # Crosses - stroke(GREY) - - # DRAW THE YELLOW and RED alternating crosses - for i in range (4): - fill(YELLOW) - cross = square_size / 2 - 2 - for i in range (int(squares/2)): - fill(CROSS_COLORS[i % 2]) # YELLOW and RED - rect(cross, 0, 4, lines) - rect(0, cross, lines, 4) - cross = cross + 2 * square_size - # Draw the stiching crosses - no_fill() - cross = square_size + square_size / 2 - 2 - for i in range (int(squares)): - rect(cross, 0, 4, lines) - rect(0, cross, lines, 4) - cross = cross + square_size - - # Draw the grey lines where material overlaps - no_stroke() - fill(GREY, 100) - gap = square_size - 4 - for i in range (int(squares)): - rect(gap, 0, 8, lines) - gap = gap + square_size - gap = square_size - 4 - for i in range (int(squares)): - rect(0, gap, lines, 8) - gap = gap + square_size - -run() - - - diff --git a/fr-FR/resources/p5_art_deco.py b/fr-FR/resources/p5_art_deco.py deleted file mode 100644 index fc023ee64..000000000 --- a/fr-FR/resources/p5_art_deco.py +++ /dev/null @@ -1,135 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() - diff --git a/fr-FR/resources/p5_face_mask.py b/fr-FR/resources/p5_face_mask.py deleted file mode 100644 index fc023ee64..000000000 --- a/fr-FR/resources/p5_face_mask.py +++ /dev/null @@ -1,135 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() - diff --git a/fr-FR/resources/p5_fibonacci.py b/fr-FR/resources/p5_fibonacci.py deleted file mode 100644 index fc023ee64..000000000 --- a/fr-FR/resources/p5_fibonacci.py +++ /dev/null @@ -1,135 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() - diff --git a/fr-FR/resources/p5_mcewen.py b/fr-FR/resources/p5_mcewen.py deleted file mode 100644 index fc023ee64..000000000 --- a/fr-FR/resources/p5_mcewen.py +++ /dev/null @@ -1,135 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() - diff --git a/fr-FR/resources/p5_spirals.py b/fr-FR/resources/p5_spirals.py deleted file mode 100644 index fc023ee64..000000000 --- a/fr-FR/resources/p5_spirals.py +++ /dev/null @@ -1,135 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() - diff --git a/fr-FR/resources/p5_yakan_weaving.py b/fr-FR/resources/p5_yakan_weaving.py deleted file mode 100644 index fc023ee64..000000000 --- a/fr-FR/resources/p5_yakan_weaving.py +++ /dev/null @@ -1,135 +0,0 @@ -# Definitions for compatibility with the p5py processing library -from processing import * -import __main__ - -# Shape -from processing import rectMode as rect_mode -from processing import ellipseMode as ellipse_mode -from processing import strokeWeight as stroke_weight -from processing import strokeCap as stroke_cap -from processing import strokeJoin as stroke_join -from processing import noStroke as no_stroke -from processing import noFill as no_fill - -# Fonts -from processing import createFont as create_font -from processing import loadFont as load_font -from processing import textFont as text_font - -# Text -from processing import textAlign as text_align -from processing import textLeading as text_leading -from processing import textMode as text_mode -from processing import textSize as text_size -from processing import textWidth as text_width - -# Colour -from processing import blendColor as blend_color -from processing import lerpColor as lerp_color -from processing import color as Color - -# Images -from processing import createImage as create_image -from processing import imageMode as image_mode -from processing import loadImage as load_image -from processing import noTint as no_tint -from processing import requestImage as request_image - -# Environment -from processing import frameRate as frame_rate -from processing import noCursor as no_cursor -from processing import noLoop as no_loop - -# Transform -from processing import applyMatrix as apply_matrix -from processing import popMatrix as pop_matrix -from processing import printMatrix as print_matrix -from processing import pushMatrix as push_matrix -from processing import resetMatrix as reset_matrix -from processing import rotateX as rotate_x -from processing import rotateY as rotate_y -from processing import pushStyle as push_style -from processing import popStyle as pop_style - -from processing import run as main_run - -# Keyboard - -def mousePressed(): - if hasattr(__main__, "mouse_pressed"): - mouse_pressed = getattr(__main__, "mouse_pressed") - mouse_pressed() - -def mouseReleased(): - if hasattr(__main__, "mouse_released"): - mouse_released = getattr(__main__, "mouse_released") - mouse_released() - -__main__.mouse_x = 0 -__main__.mouse_y = 0 -__main__.mouse_px = 0 -__main__.mouse_py = 0 -__main__.frame_count = 0 -__main__.frame_rate = 60 - -def mouseMoved(): - __main__.mouse_x = mouse.x - __main__.mouse_y = mouse.y - __main__.mouse_px = mouse.px - __main__.mouse_py = mouse.py - if hasattr(__main__, "mouse_moved"): - mouse_moved = getattr(__main__, "mouse_moved") - mouse_moved() - -def mouseDragged(): - if hasattr(__main__, "mouse_dragged"): - mouse_dragged = getattr(__main__, "mouse_dragged") - mouse_dragged() - -def new_draw(): - __main__.frame_count = frameCount - frameRate = __main__.frame_rate - old_draw() - -def run(): - global old_draw - old_draw = __main__.draw - __main__.draw = new_draw - main_run() - -def grid(): - pushMatrix() - stroke(200) - fill(0) - line(0, height/2, width, height/2) - line(width/2, 0, width/2, height) - x_coords = [0, width/2, width] - y_coords = [0, height/2, height] - - for x in x_coords: - for y in y_coords: - show_coord(x, y) - - popMatrix() - -def show_coord(x, y): - if x == width: - x_align = RIGHT - elif x == 0: - x_align = LEFT - else: - x_align = CENTER - - if y == height: - y_align = BASELINE - elif y == 0: - y_align = TOP - else: - y_align = CENTER - - pushStyle() - fill(100) - text_align(x_align, y_align) - text('(' + str(int(x)) + ', ' + str(int(y)) + ')', x, y) - popStyle() - diff --git a/fr-FR/resources/spirals.py b/fr-FR/resources/spirals.py deleted file mode 100644 index 4e455676d..000000000 --- a/fr-FR/resources/spirals.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/python3 - -from p5 import * -from math import random -from random import randint - -def motif(): - fill(randint(0, 255),randint(0, 255) ,randint(0, 255)) - ellipse(0, 0, 25, 25) - fill(0, 0, 0) - ellipse(0, 0, 15, 15) - fill(randint(0, 255),randint(0, 255) ,randint(0, 255)) - for i in range(4): # a short row of squares - rect(i * 5, 0, 5, 5) - -def setup(): - size(400, 400) - frame_rate(10) # fast animation - stroke_weight(2) # thick border - background(255) - -def draw(): - translate(200, 200) # start from the centre of the screen - if frame_count < 150: - for i in range(frame_count): # animates the pattern - motif() - rotate(5) # turns the motif - translate(i,i) # moves the motif - -run() \ No newline at end of file diff --git a/fr-FR/resources/yakan_weaving.py b/fr-FR/resources/yakan_weaving.py deleted file mode 100644 index a350a8c1d..000000000 --- a/fr-FR/resources/yakan_weaving.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/python3 - -from p5 import * -from math import random - -def motif(): - motif_size = 100 - - #Thread colours - ORANGE = color(254, 96, 1) - PURPLE = color(135, 18, 192) - YELLOW = color(243, 200, 19) - BLUE = color(83, 171, 176) - - # Squares - fill(ORANGE) - rect(0, 0, motif_size/2, motif_size/2) - fill(PURPLE) - rect(50, 0, motif_size/2, motif_size/2) - fill(YELLOW) - rect(0, 50, motif_size/2, motif_size/2) - fill(BLUE) - rect(50, 50, motif_size/2, motif_size/2) - fill(PURPLE) - rect(0, 0, motif_size/4, motif_size/4) - fill(ORANGE) - rect(50, 0, motif_size/4, motif_size/4) - fill(BLUE) - rect(0, 50, motif_size/4, motif_size/4) - fill(YELLOW) - rect(50, 50, motif_size/4, motif_size/4) - -def rotate_motif(): - - for shape in range(5): # row of shapes - pushMatrix() # save settings - rotate(radians(45)) # turn shape 45 degrees - motif() - popMatrix() # go back to saved settings - translate(motif_width, 0) # move horizontally - -def setup(): - size(400, 400) - frame_rate(3) - background(250, 5, 94) # pink - no_stroke() - print('This is đ”đ Yakan weaving ') - -def draw(): - - global motif_width - motif_width = 150 - - translate(-motif_width/2, -motif_width/2) # to start with half motifs - - if frame_count < 20: # maximum rows - for row in range(frame_count): - rotate_motif() - if row / 2 == 0: # to offset pattern on next row - translate(-motif_width * 5 + 75, 80) - else: - translate(-motif_width * 5 - 75, 80) - -run() diff --git a/fr-FR/step_1.md b/fr-FR/step_1.md index 3fd1927e3..21a62510d 100644 --- a/fr-FR/step_1.md +++ b/fr-FR/step_1.md @@ -1,11 +1,11 @@ -## Introduction +## Ce que tu vas faire CrĂ©er une Ćuvre d'art inspirante qui peut ĂȘtre mise Ă l'Ă©chelle en utilisant des motifs rĂ©pĂ©tĂ©s. -Ton motif puissant devra rĂ©pondre Ă la **fiche de projet**. +Ton motif puissant devra rĂ©pondre Ă la **fiche projet**.
-Une fiche de projet décrit ce qu'un projet doit faire. C'est un peu comme se voir confier une mission à accomplir. +Une fiche projet décrit ce qu'un projet doit faire. C'est un peu comme se voir confier une mission à accomplir.
Tu vas devoir : @@ -18,19 +18,21 @@ Tu vas devoir : --- no-print --- +### Joue â¶ïž + --- task ---En plus d'avoir une signification symbolique, les motifs illustrent les mathĂ©matiques qui nous entourent. Les mathĂ©matiques nous aident Ă donner un sens au monde qui nous entoure et nous pouvons trouver des modĂšles mathĂ©matiques dans l'art, la littĂ©rature et la nature.
-### C'est pour qui ? +### Ă qui s'adresse-t-il ? --- task --- @@ -42,7 +42,9 @@ Si tu crĂ©es un motif en groupe, ton motif doit-il avoir une certaine taille ou --- task --- -Ouvre le projet de dĂ©marrage [Motifs puissants](https://trinket.io/python/8644b270c3){:target=blank} et clique sur le bouton remix. +Ouvre le projet [de dĂ©marrage Motifs puissants](https://editor.raspberrypi.org/fr-FR/projects/powerful-patterns-starter){:target="_blank"}. Le Code Editor s'ouvrira dans un autre onglet du navigateur. + +Si tu as un compte Raspberry Pi, tu peux cliquer sur le bouton **Enregistrer** pour enregistrer une copie dans tes **Projets**. --- /task --- @@ -50,7 +52,7 @@ Ouvre le projet de dĂ©marrage [Motifs puissants](https://trinket.io/python/8644b --- task --- -Ajoute du code Ă `setup()` pour prĂ©parer ton projet. +Ajoute du code Ă `configuration()` pour prĂ©parer ton projet. --- collapse --- @@ -58,18 +60,18 @@ Ajoute du code Ă `setup()` pour prĂ©parer ton projet. title: DĂ©finir la taille de l'Ă©cran au dĂ©marrage de ton programme --- -**Choisir :** Ajoute une taille adaptĂ©e au motif que tu souhaites crĂ©er. Tu pourras toujours le modifier ultĂ©rieurement au fur et Ă mesure de l'Ă©volution de ton projet. +**Choisir :** ajoute une taille adaptĂ©e au motif que tu souhaites crĂ©er. Tu pourras toujours le modifier ultĂ©rieurement au fur et Ă mesure de l'Ă©volution de ton projet. --- code --- --- -language: python -filename: main.py - setup() -line_numbers: true +language: python +filename: main.py - setup() +line_numbers: true line_number_start: 6 line_highlights: 7 --- -def setup(): - size(400, 400) #Choisis une taille +def setup(): + size(400, 400) # Choisis une taille --- /code --- @@ -82,19 +84,20 @@ title: DĂ©finir la couleur d'arriĂšre-plan au dĂ©marrage de ton programme --- Pense Ă l'endroit oĂč tu veux dessiner ton arriĂšre-plan. Tu peux : -+ Ajouter du code Ă `setup()` pour que l'arriĂšre-plan soit dessinĂ© une fois lorsque tu exĂ©cutes ton projet -+ Ajouter du code Ă `draw()` pour que l'arriĂšre-plan soit redessinĂ© Ă chaque exĂ©cution de la fonction `draw()` ++ Ajouter du code Ă `configuration()` pour que l'arriĂšre-plan soit dessinĂ© une fois lorsque tu exĂ©cutes ton projet ++ Ajouter du code Ă `dessin()` pour que l'arriĂšre-plan soit redessinĂ© Ă chaque exĂ©cution de la fonction `dessin()` --- code --- --- -language: python -filename: main.py - setup() -line_numbers: true -line_number_start: 9 -line_highlights: 9 +language: python +filename: main.py - setup() +line_numbers: true +line_number_start: 6 +line_highlights: 8 --- - - background(255, 255, 255) #Essaie diffĂ©rents nombres pour changer la couleur +def setup(): + size(400, 400) + background(255, 255, 255) # Essaie diffĂ©rents nombres pour changer la couleur --- /code --- @@ -106,7 +109,7 @@ line_highlights: 9 --- task --- -**DĂ©bogage :** Il est possible que tu trouves des bogues dans ton projet que tu dois corriger. Voici quelques bogues assez courants. +**DĂ©bogage :** il est possible que tu trouves des bogues dans ton projet que tu dois corriger. Voici quelques bogues assez courants. --- collapse --- diff --git a/fr-FR/step_3.md b/fr-FR/step_3.md index 69dae754f..f7446f49a 100644 --- a/fr-FR/step_3.md +++ b/fr-FR/step_3.md @@ -1,4 +1,4 @@ -## Construire et tester - Motif +## Construire et tester : motifL'abstraction est la rĂ©solution de problĂšmes en rĂ©duisant les dĂ©tails inutiles. +
L'abstraction est la résolution de problÚmes en réduisant les détails inutiles.
@@ -18,10 +18,10 @@ Regarde ce papier peint art dĂ©co. Comment le motif change-t-il pour former le m ![Le motif du projet de papier peint art dĂ©co Ă cĂŽtĂ© du motif complet.](images/spirals-motif.png) -Pense au modĂšle que tu crĂ©es. Comment ton motif change-t-il pour crĂ©er le motif gĂ©nĂ©ral. Utilise ces questions pour t'aider Ă faire abstraction : +Pense au modĂšle que tu crĂ©es. Comment ton motif change-t-il pour crĂ©er le motif gĂ©nĂ©ral ? Utilise ces questions pour t'aider Ă faire abstraction : - Est-ce que tout ou partie du motif tourne ? - Dans quel sens tourne-t-il ? Et de combien ? -- Y a-t-il des couches du motif qui se chevauchent ? +- Le motif comporte-t-il des calques qui se chevauchent ? - Combien de fois le motif se rĂ©pĂšte-t-il ? - Comment la rĂ©pĂ©tition est-elle organisĂ©e (c'est-Ă -dire combien de lignes/colonnes) ? - Les couleurs changent-elles ? @@ -33,7 +33,7 @@ Pense au modĂšle que tu crĂ©es. Comment ton motif change-t-il pour crĂ©er le mot Maintenant que tu en sais plus sur la façon dont le motif se transforme en motif complet, tu peux le programmer en utilisant tes rĂ©ponses aux questions ci-dessus. -**Astuce :** n'oublie pas que tu peux « voir Ă l'intĂ©rieur » n'importe lequel des exemples de l'introduction et « copier » « coller » le code dans ton projet. Les dĂ©veloppeurs professionnels le font tout le temps ! +**Astuce :** tu peux « copier » et « coller » le code de n'importe lequel des exemples de l'introduction dans ton projet. Les dĂ©veloppeurs professionnels le font tout le temps ! Tu as acquis des compĂ©tences vraiment utiles. Voici un rappel pour t'aider Ă rĂ©aliser ton motif rĂ©pĂ©tĂ© : @@ -47,7 +47,6 @@ Tu as acquis des compĂ©tences vraiment utiles. Voici un rappel pour t'aider Ă r [[[generic-python-for-loop-repeat]]] - --- collapse --- --- @@ -62,15 +61,15 @@ Une façon d'utiliser l'alĂ©atoire est de dĂ©placer ton motif Ă une position al --- code --- --- -language: python +language: python filename: main.py - draw() --- -push_matrix() #Commencer la transformation -translate(randint(0, 400), randint(0, 400)) -dessin_motif() -pop_matrix() #RĂ©initialiser la transformation + push_matrix() # Commencer la transformation + translate(randint(0, 400), randint(0, 400)) + dessin_motif() + pop_matrix() # RĂ©initialiser la transformation --- /code --- @@ -78,12 +77,12 @@ Tu peux Ă©galement utiliser l'alĂ©atoire pour modifier les couleurs de ton motif --- code --- --- -language: python +language: python filename: main.py - draw() --- -BLEU = color(randint(0, 50), randint(0, 100), randint(150, 255)) + BLEU = color(randint(0, 50), randint(0, 100), randint(150, 255)) --- /code --- @@ -101,12 +100,12 @@ Tu peux utiliser `scale()` avant d'appeler la fonction qui dessine ton motif pou --- code --- --- -language: python +language: python filename: main.py - draw() --- -scale(0.5) #MoitiĂ© de la taille + scale(0.5) # MoitiĂ© de la taille --- /code --- @@ -131,13 +130,13 @@ Tu peux maintenant animer ton motif pour montrer comment tu l'as crĂ©Ă©. Souvent --- task --- -**Test :** Montre ton projet Ă quelqu'un d'autre pour avoir son avis. Tu souhaites apporter des modifications Ă ton motif ? +**Test :** montre ton projet Ă quelqu'un d'autre pour avoir son avis. Tu souhaites apporter des modifications Ă ton motif ? --- /task --- --- task --- -**DĂ©bogage :** Il est possible que tu trouves des bogues dans ton projet que tu dois corriger. Voici quelques bogues assez courants. +**DĂ©bogage :** il est possible que tu trouves des bogues dans ton projet que tu dois corriger. Voici quelques bogues courants. --- collapse --- @@ -156,7 +155,7 @@ title: La rotation semble Ă©trange As-tu vĂ©rifiĂ© que tu utilises `translate()` depuis et vers les bonnes coordonnĂ©es ? -As-tu plus d'une chose en rotation? Tu devras peut-ĂȘtre utiliser `push_matrix()` et `pop_matrix()` pour que l'Ă©cran tourne Ă diffĂ©rents points Ă la fois. +As-tu plus d'une chose en rotation ? Tu devras peut-ĂȘtre utiliser `push_matrix()` et `pop_matrix()` pour que l'Ă©cran tourne Ă diffĂ©rents points Ă la fois. --- /collapse --- @@ -192,11 +191,11 @@ VĂ©rifie la syntaxe de ton code. Te manque-t-il des parenthĂšses `(` ou `)` ou u title: L'animation est trop rapide/trop lente --- -Modifie le `frame_rate()` au dĂ©but de ton programme pour l'obtenir Ă la vitesse que tu souhaites. +Modifie le nombre aprĂšs `frame_rate =` dans l'appel Ă la fonction `run()` Ă la fin de ton programme pour l'amener Ă la vitesse que tu souhaites. --- /collapse --- -Tu pourrais trouver un bogue qui n'est pas rĂ©pertoriĂ© ici. Peux-tu trouver comment le rĂ©parer ? +Tu pourrais trouver un bogue qui n'est pas rĂ©pertoriĂ© ici. Peux-tu trouver un moyen de le corriger ? Nous aimons avoir des nouvelles de tes bogues et de la façon dont tu les as corrigĂ©s. Utilise le bouton de commentaires au bas de cette page si tu as trouvĂ© un bogue diffĂ©rent dans ton projet. diff --git a/fr-FR/step_5.md b/fr-FR/step_5.md index a337da848..889dec641 100644 --- a/fr-FR/step_5.md +++ b/fr-FR/step_5.md @@ -1,4 +1,4 @@ -## RĂ©flexion +## Checklist As-tu respectĂ© la **fiche de projet** ? RĂ©flĂ©chis Ă ton projet et parcours la liste de contrĂŽle ci-dessous et coche celles qui s'appliquent Ă ton projet. @@ -6,18 +6,18 @@ Est-ce que ton motif puissant : --- task --- -Dessine et positionne des formes gĂ©omĂ©triques pour crĂ©er un motif de base (ou motif) +Dessine et positionne des formes gĂ©omĂ©triques pour crĂ©er un motif de base (ou motif) ? --- /task --- --- task --- -Utilise des boucles pour rĂ©pĂ©ter le motif pour remplir l'Ă©cran +Utilise des boucles pour rĂ©pĂ©ter le motif pour remplir l'Ă©cran ? --- /task --- --- task --- -Anime la façon dont le motif est crĂ©Ă© +Anime la façon dont le motif est crĂ©Ă©Â ? --- /task --- @@ -25,7 +25,7 @@ Ton modĂšle puissant pourrait Ă©galement : --- task --- -Utiliser des couleurs vives ou significatives +Utiliser des couleurs vives ou prononcĂ©es --- /task --- @@ -43,7 +43,7 @@ Obtenir l'entrĂ©e de l'utilisateur pour redimensionner le motif --- task --- -Ajouter du texte et des emoji pour imprimer des dĂ©tails sur ton art +Ajouter du texte et des emojis pour imprimer des dĂ©tails sur ton art --- /task --- @@ -60,7 +60,6 @@ Partager ton travail avec d'autres dans une galerie en ligne --- /task --- - RĂ©flĂ©chir Ă la façon dont tu as crĂ©Ă© ton modĂšle puissant t'aidera dans tes projets futurs. RĂ©ponds aux questions ci-dessous en dessinant, en Ă©crivant, en tapant un document, en parlant Ă quelqu'un ou de ta propre maniĂšre crĂ©ative qui te convient le mieux. diff --git a/fr-FR/step_6.md b/fr-FR/step_6.md index 3f5aef166..648a04b5d 100644 --- a/fr-FR/step_6.md +++ b/fr-FR/step_6.md @@ -5,21 +5,21 @@ Si tu as le temps, tu peux perfectionner ton projet. Tu pourrais dĂ©jĂ avoir de ![Exemples finis avec entrĂ©e et crĂ©ation d'Ă©lĂ©ments de visage](images/upgrade.gif) Tu pourrais : -- Utiliser du texte et des emoji pour `imprimer()` une description de ton modĂšle +- Utiliser du texte et des emojis pour imprimer `print()` une description de ton modĂšle - Ajuster la taille de ton motif en fonction de l'`input()` utilisateur - CrĂ©er un motif Ă l'Ă©chelle Ă l'aide de ton projet [CrĂ©er un visage](https://projects.raspberrypi.org/fr-FR/projects/make-a-face){:target="_blank"} -Chaque exemple de projet dans [l'introduction](.) a un lien **Voir Ă l'intĂ©rieur** pour te permettre d'ouvrir le projet et de regarder le code pour avoir des idĂ©es et voir comment ils fonctionnent. +Chaque exemple de projet dans l'introduction te permet d'examiner le code, d'obtenir des idĂ©es et de voir comment ils fonctionnent. -Ce projet utilise du texte et des emoji pour demander Ă l'utilisateur de choisir une taille, puis utilise sa rĂ©ponse pour dimensionner toutes les formes : +Ce projet utilise du texte et des emojis pour demander Ă l'utilisateur de choisir une taille, puis utilise sa rĂ©ponse pour dimensionner toutes les formes : -**Tartan McEwen** : [Voir Ă l'intĂ©rieur](https://trinket.io/python/731a735456){:target="_blank"} -