moyen
Pixel Art
Une image de Pixel Art est représentée par une liste de listes image. Chaque élément image[i][j] est le numéro de la couleur situé en ligne i et colonne j.
Prenons par exemple les couleurs suivantes :
code couleur
couleur
0
blanc
1
vert clair
2
vert foncé
3
marron
6
rose
L'image suivante :
Dessin original
Un dessin va s'afficher...
est alors représentée par :
tortue = [
[ 0 , 0 , 0 , 2 , 2 , 0 , 0 , 0 , 0 , 0 ],
[ 0 , 0 , 2 , 2 , 2 , 2 , 0 , 1 , 1 , 0 ],
[ 0 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 3 , 1 ],
[ 0 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 1 , 1 ],
[ 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 1 , 0 ],
[ 0 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 ],
[ 0 , 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 0 ]
]
On appelle zone d'une image un ensemble de pixels contigus par un côté qui ont tous la même couleur. Il y a donc 10 zones différentes dans l'image de la tortue donnée en exemple.
Pour personnaliser l'image, on souhaite, à partir d'un pixel choisi dans celle-ci, changer la couleur de toute la zone à laquelle il appartient.
Compléter la fonction récursive changer_couleur.
Cette fonction récursive prend en paramètres une liste de liste d'entiers image qui représente l'image de Pixel Art, i et j des entiers tels que image[i][j] soit le pixel choisi, couleur un entier qui est le code de la nouvelle couleur.
Cette fonction ne renvoie rien, et modifie en place la liste de liste image de sorte qu'elle représente l'image pour laquelle toute la zone à laquelle appartient le pixel choisi soit de la nouvelle couleur couleur.
Par exemple, après l'exécution de l'instruction changer_couleur ( tortue , 3 , 1 , 6 ) on aura :
tortue = [
[ 0 , 0 , 0 , 6 , 6 , 0 , 0 , 0 , 0 , 0 ],
[ 0 , 0 , 6 , 6 , 6 , 6 , 0 , 1 , 1 , 0 ],
[ 0 , 6 , 6 , 6 , 6 , 6 , 6 , 1 , 3 , 1 ],
[ 0 , 6 , 6 , 6 , 6 , 6 , 6 , 1 , 1 , 1 ],
[ 1 , 6 , 6 , 6 , 6 , 6 , 6 , 1 , 1 , 0 ],
[ 0 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 ],
[ 0 , 1 , 1 , 0 , 0 , 1 , 1 , 0 , 0 , 0 ]
]
Le code 6 représente la couleur rose. La nouvelle image sera donc la suivante :
Dessin final
Un dessin va s'afficher...
Compléter ci-dessous :
Version vide Version à trous sans boucle Version à trous avec boucle
.128013zl7/Dr0!n3_éhf45(vQtb1c9eS[iIP8p-wC?.;,a: +q]mxjksRê=og)2du6y050*0z0u0O0C0c0Y0Q0x0c0O0Y0Y0#010u0C0G010406050Y0+0U0U0O0g0-040A0$0c0+110$0j0Q020O0U0G0M0Q0Z0z1b0g0S0+0z0Y050e181a1c1e160G041C1J051M0e1M1O1J160*0C0s0_0{0}0 0n0C0%0n0c1$0n0u14050;0v0c0z1X0|0~011#1%1)1%0u1/1;1-0u0v0$0*1e1.0g1K0u0n0_1h0Y0G0O0j0 0)011?1Z010o0?0z0j1p0z1-2e2g2l1^2o1;2r0U2t040a0Q0E0g0$0G0$0Y0C1k1m0/2c0g0g0z0x2O1C2v0j1K0e2a2!0u2827290*2x0 1)0j2q2L1-1U1W0`1@2.0C2:0j241V1-0G2T1K2Y2!35172f1m2_2m2~0g1b0c140Q0w2X3915382w3b1^3d3f3h0)3k2g3m2Y2-013r0O3g040Q0k3v2Z163y3p0 3B3D0Q0p3H3x393z3N3h0q3R3J3T3L3A0$3e3C3h0,3Y3n3a1Y3q3%3s3E0d3,3K3/3M3;3)3E0F3^3!3`3$3(3O0y403o423V040w0h473.2`433=0w3j1D3l3Z484g4a0w3u4l3w4n4f3c3|3D0w3G4t2Z1L331C2@2%0*2+3z0x242D0.1V1K320z343l3R054M0/4U4o3c140f0D0Z0A3R0Q3-3z0$140#4,4.3#13040r0r4W3_4g0U0C144d4C4!4w1^4_0N4?4~2m50144k375b57140(59544-5h0 4_4|544@425d04535g414g585a5z2m4:040H4}5D1^5v5f4V5o014_5k5C4#5i4`5I5T0 5L5W565p145l355n5J5Y515w5!3z5Q5(3l5*5X5P145r5y5^5F5H5s5O5Z605+5_045=3w5@5#015v5x5N645Q0(3Y4v3z0X140/0o5/3#0I3h6p490o140x0n2g0%0z0g0l4M0+1;0+0g6t5A5`6J4$040C1b6A6M5U672Z693U140C6S5$665S6a0j140W6!656U3E5t4p6w0$6F0z6H6,5Q0P3Y0Q6~6W3#6)046E6G6C3%1$2|0z6%4/4;7b716Y6Q7a635^4_0B6,726Z7j6a4_0T7m7q6X046+7v4^140T6}6 6:6N6y1j6^6I5m7F1^5F4=7L5O0j0v142A6`6L7z497g0O6R7Y6K046h54066 707Z040{0g6A6_7Q647O7e497T7:2q7W5V7%6N6P7#7i5|7r147u873z6c800T7*357,7E5O6l6O6o7^5^72747J7{4g5F0i7P5)7M3M6=6@6H0l770%79806|7+7-7-8z3A7!7$8b7A048a6e8p6Y8e8U3w8N727y8R427s8t5E7d8o6(8B757D8L7.4g8l0o3%8+3q6m7p8(7(6.8@6N0*8%5?8N0$6r6O0j8|8A044(4*8I8=8?8j647o0l1U9d017`8.7w8 975O5F0R9q729p8K9k8M7R6*9o9668988-8y9G7x9q9y9A6m9J3I9E9F648l0C8n9N648d9t3#5F020c0u0M8x9w9m6Y9o9v9K9x149,9.9S047H0u8s9)4299142g0*9q9(9$5}9{9-9/9~0W9I9Qad9}a36;7:1c7?7Kab6aa504a79~848Q8V888T7n9?9C902m7s8Z4D9Oah958eaj040#9:9_9=736?758E0g782:9i9D9W8L8#6w6y0j6A6C8r7@aG5U5{aA9u7h8092a*6O9@a{agai826T9~a:ara^8S8g4m1C4Y4T4Ebe0e4H1C0u4Jbj2)2#23252%0O1:bg4H1I553z2T0U0l0o0O0X0z0l0n0k141u1w1y1A0Q8J371P3m1J0t1z0Q0Y1=2f0}0z0H0u0H0?bW0C0Q1lbW0+0G326P1=1;0Qa10Y0u0Q2Q0{0Q1|2:0Q0d0Q0K4-bRbw0D0ja10g320mcbb|2g0^b@4Mca0z0Va1b|b?00cm6B0x0C0x0z0L1L3m0/0;0?0^3#180xcw0}143J191w1e1g1i2W1DcM1GbS1fb+b-18b:aZ2Cb 0Ob 1$c10d0Nb,1m2q2(1=0*ch0Q0+c10g0m0x6H2Mb-2|2o0j0Ccx060Jcrb`0_1=1yb+bX0QbZbX0g0=b{2Mc.0Q0saWdj0Qbz0G0{cw0gc%2c8Cdwb}c(0b1lbY1cdx0U0!c$b6cyc74G0:0=0@3mbhdPcD04.
.128013zl7/r0!n3_éhf45(vQtb1c9eS[iIP8p-wC?.;à,a: +q]mxjksRê=og)2du6y050*0y0t0O0B0c0Y0Q0w0c0O0Y0Y0#010t0B0F010406050Y0+0U0U0O0f0-040z0$0c0+110$0i0Q020O0U0F0L0Q0Z0y1b0f0S0+0y0Y050e181a1c1e160F041C1J051M0e1M1O1J160*0B0r0_0{0}0 0m0B0%0m0c1$0m0t14050;0u0c0y1X0|0~011#1%1)1%0t1/1;1-0t0u0$0*1e1.0f1K0t0m0_1h0Y0F0O0i0 0)011?1Z010n0?0y0i1p0y1-2e2g2l1^2o1;2r0U2t040a0Q0D0f0$0F0$0Y0B1k1m0/2c0f0f0y0w2O1C2v0i1K0e2a2!0t2827290*2x0 1)0i2q2L1-1U1W0`1@2.0B2:0i241V1-0F2T1K2Y2!35172f1m2_2m2~0f1b0c140Q0v2X3915382w3b1^3d3f3h0)3k2g3m2Y2-013r0O3g040Q0j3v2Z163y3p0 3B3D0Q0o3H3x393z3N3h0p3R3J3T3L3A0$3e3C3h0,3Y3n3a1Y3q3%3s3E0d3,3K3/3M3;3)3E0E3^3!3`3$3(3O0x403o423V040v0g473.2`433=0v3j1D3l3Z484g4a0v3u4l3w4n4f3c3|3D0v3G4t3I3-3U4y140v3Q4C2!320y2!2@2%0*2+3z0w242D0.1V1K4M343l3R054U0/4#4o2m0X140/0n4%3_4g0H3h4=414p0n140w0m2g0%0y0f0k4U0+1;0+0f4`4,1^13040q5b4w3q140B1b525h3z5e0N3R0Q4E3#0i5k5o3#5q5s5u49140W5y425A4K5t4?3c4~0$570y595G4g5e0(0P3Y0Q5Y5K4{5M045658543%1$2|0y5B5L1^0$140#5/5#5j045l0O5n4K5C5T140A5S5$0B645d140T635 5:3M5E670 5e0T5X5Z605$501j5Q5a5J6m5;5?5^5c3M0u142A6g015e5g6c5_6e5{5m5.6G6x6D140(6k5Y6t6I0{0f525R6s6d015=045@6Z6H3A6z046B6M5i6h146F376!5w6J5}6L6@6*5e6b6}6N0U0B144d6/5p696Q4K065Z5!6N4.5{4;6)6N6_5(6q6w6:6#140h6(357e7p7l5O5)0k5+0%5-6C5e5W7b7d7d6T3A5k6K7E626C6_66775z69704$6^6f7T5H697o3z6$7t3l7v3U5N5P6Y357c7I6S6!7g0B7i7u7K7R7%3#6$0G7 42734H834g6$020%0t0L7*3w7,3#8504767|6!0$4^042g0*87657N7!61047W3w7}5x8v2m816C8i4k717p6i8y2Z8A045F8C68046j7j7p7)8e2Z8g5D5%7y6q7A0f5,2:7O047G7u8Z4g0w0v14030Q1l0_500i520Q2q0Q6o0t6R7?6l7Y5%8|52547m7:7X6~6=7Q7M6{8,5r8U7-5{8s6u04829m8h744b9k9p6I8P8I78049l8l6*7x7/6r9B7U047a7;958:4-5k7{7+8N7S9F6N6$0R9y018G9#890c8c9#6_927n9t428n148q9,9i5~9K7#8x9h9o9:88149!a02m9%8Q6;8S8L4+7w7Z9{8w8T9X8V5?8X3E8N9c5*8)7C8+a76O8-5s9Q1^8=8@8_3a991=900u0|949PamaC9b8$9d8z6!6E9~5|9`9e6N5Iah9n9W9U8ma29#a6ae2maWa!9GadaU8J149Ea,7k7.5)8,9N7+7=7?7K7_9T8f8N9Aa?ai9ra%9v8Hb57(148a8cakaw0 8i8kbb808o9@a45`aS6|a/9Caa9V8,6a9~b4b2a#b7bpbib9bx9(aj9^8#9I8(8*bsaO9fau5Jbh01ay048^8`4 511=0M0Q0%0O0+4 bP3I9P7J97b!8}5355aM9Jbt9L6?b{8!br9xbE7L9 a)8Ra=bBa-8ObIbDaX9u86asa+c8a@bLa_cg6P5sa}7Ia 9SbKbA8Y7K9Zb8cfcd9;bd9*0LbK6V6Xb`ci8Vbn0i8rc27R8uc5a8bv97aZbQaV7Vbzcba3cA4ga(b~afcb0#bgamb_bNaqb-ab9C8.7+bUbWbYaBb#0Qb%0*2I2Nc=cpaIb;aKb^9I8,b}cWac6`aTdd9Cc7cvcUc1c$5$cualbCc#bl84bGcm9DbKana`3,0e4)4N1L331C4P1C0t4RdJ2)2#23252%0O1:dE0e4P1Ic?3#2T0U0k0n0O0X0y0k0m0j141u1w1y1A0Qc^8z1P3m1J0s1z0Q0Y1=2f0}0y0G0t0G0?d~0BaAd~0+0F325l1=1;0Q0t1A0t0Q2Q0{0Q1|2:0Q0d0Q0J5td_dX0C0iej0f320leBem2g0^eh4UeA0y0Vejemeg00eM530w0B0w0y0K1L3m0/0;0?0^3#180weW0}143J191w1e1g1i2W1De:1Gd`1fe98`18ed8)2Cep0Oep1$er0d0Nea2q2(1=0*eH0Q0+er0f0l0w592M8`2|2o0i0BeX060IeR0YeleW0Q1ye9d 0Qe1d 0f0=el2Mea0r7yfJ0Qd!0F0{eW0ff42c9IePfW0b1le01cfW0U0!f3aneYexdH0:0=0@3mdVf;e%04.
.128013zl7/Dr0!n3_éhf45(vQtb1c9eS[iIP8p-wC?.;,a: +q]mxjksRê=og)2du6y050*0z0u0O0C0c0Y0Q0x0c0O0Y0Y0#010u0C0G010406050Y0+0U0U0O0g0-040A0$0c0+110$0j0Q020O0U0G0M0Q0Z0z1b0g0S0+0z0Y050e181a1c1e160G041C1J051M0e1M1O1J160*0C0s0_0{0}0 0n0C0%0n0c1$0n0u14050;0v0c0z1X0|0~011#1%1)1%0u1/1;1-0u0v0$0*1e1.0g1K0u0n0_1h0Y0G0O0j0 0)011?1Z010o0?0z0j1p0z1-2e2g2l1^2o1;2r0U2t040a0Q0E0g0$0G0$0Y0C1k1m0/2c0g0g0z0x2O1C2v0j1K0e2a2!0u2827290*2x0 1)0j2q2L1-1U1W0`1@2.0C2:0j241V1-0G2T1K2Y2!35172f1m2_2m2~0g1b0c140Q0w2X3915382w3b1^3d3f3h0)3k2g3m2Y2-013r0O3g040Q0k3v2Z163y3p0 3B3D0Q0p3H3x393z3N3h0q3R3J3T3L3A0$3e3C3h0,3Y3n3a1Y3q3%3s3E0d3,3K3/3M3;3)3E0F3^3!3`3$3(3O0y403o423V040w0h473.2`433=0w3j1D3l3Z484g4a0w3u4l3w4n4f3c3|3D0w3G4t2Z1L331C2@2%0*2+3z0x242D0.1V1K320z343l3R054M0/4U4o3c140f0D0Z0A3R0Q3-3z0$140#4,4.3#13040r0r4W3_4g0U0C144d4C4!4w1^4_0N4?4~2m50144k375b57140(59544-5h0 4_4|544@425d04535g414g585a5z2m4:040H4}5D1^5v5f4V5o014_5k5C4#5i4`5I5T0 5L5W565p145l355n5J5Y515w5!3z5Q5(3l5*5X5P145r5y5^5F5H5s5O5Z605+5_045=3w5@5#015v5x5N645Q0(3Y4v3z0X140/0o5/3#0I3h6p490o140x0n2g0%0z0g0l4M0+1;0+0g6t5A5`6J4$040C1b6A6M5U672Z693U140C6S5$665S6a0j140W6!656U3E5t4p6w0$6F0z6H6,5Q0P3Y0Q6~6W3#6)046E6G6C3%1$2|0z6%4/4;7b716Y6Q7a635^4_0B6,726Z7j6a4_0T7m7q6X046+7v4^140T6}6 6:6N6y1j6^6I5m7F1^5F4=7L5O0j0v142A6`6L7z497g0O6R7Y6K046h54066 707Z040{0g6A6_7Q647O7e497T7:2q7W5V7%6N6P7#7i5|7r147u873z6c800T7*357,7E5O6l6O6o7^5^72747J7{4g5F0i7P5)7M3M6=6@6H0l770%79806|7+7-7-8z3A7!7$8b7A048a6e8p6Y8e8U3w8N727y8R427s8t5E7d8o6(8B757D8L7.4g8l0o3%8+3q6m7p8(7(6.8@6N0*8%5?8N0$6r6O0j8|8A044(4*8I8=8?8j647o0l1U9d017`8.7w8 975O5F0R9q729p8K9k8M7R6*9o9668988-8y9G7x9q9y9A6m9J3I9E9F648l0C8n9N648d9t3#5F020c0u0M8x9w9m6Y9o9v9K9x149,9.9S047H0u8s9)4299142g0*9q9(9$5}9{9-9/9~0W9I9Qad9}a36;7:1c7?7Kab6aa504a79~848Q8V888T7n9?9C902m7s8Z4D9Oah958eaj040#9:9_9=736?758E0g782:9i9D9W8L8#6w6y0j6A6C8r7@aG5U5{aA9u7h8092a*6O9@a{agai826T9~a:ara^8S8g4m1C4Y4T4Ebe0e4H1C0u4Jbj2)2#23252%0O1:bg4H1I553z2T0U0l0o0O0X0z0l0n0k141u1w1y1A0Q8J371P3m1J0t1z0Q0Y1=2f0}0z0H0u0H0?bW0C0Q1lbW0+0G326P1=1;0Qa10Y0u0Q2Q0{0Q1|2:0Q0d0Q0K4-bRbw0D0ja10g320mcbb|2g0^b@4Mca0z0Va1b|b?00cm6B0x0C0x0z0L1L3m0/0;0?0^3#180xcw0}143J191w1e1g1i2W1DcM1GbS1fb+b-18b:aZ2Cb 0Ob 1$c10d0Nb,1m2q2(1=0*ch0Q0+c10g0m0x6H2Mb-2|2o0j0Ccx060Jcrb`0_1=1yb+bX0QbZbX0g0=b{2Mc.0Q0saWdj0Qbz0G0{cw0gc%2c8Cdwb}c(0b1lbY1cdx0U0!c$b6cyc74G0:0=0@3mbhdPcD04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)