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
.1280135[4)2R,a-! i8m16Cl7.e:9;S/dktf+Irj?3sogu0x]Ppnh=céyvDzê(wq_bQ050B0v0D0i0m0s0L0l0X0s0i0L0L0W010D0m0T010406050L0O0o0o0i0H0Z040z0M0s0O110M0U0l020i0o0T0y0l0g0v1b0H0*0O0v0L050A181a1c1e160T041C1J051M0A1M1O1J160B0m0!0_0{0}0 0V0m0N0V0s1$0V0D14050;0,0s0v1X0|0~011#1%1)1%0D1/1;1-0D0,0M0B1e1.0H1K0D0V0_1h0L0T0i0U0 0f011?1Z010E0?0v0U1p0v1-2e2g2l1^2o1;2r0o2t040a0l0S0H0M0T0M0L0m1k1m0/2c0H0H0v0X2O1C2v0U1K0A2a2!0D2827290B2x0 1)0U2q2L1-1U1W0`1@2.0m2:0U241V1-0T2T1K2Y2!35172f1m2_2m2~0H1b0s140l0p2X3915382w3b1^3d3f3h0f3k2g3m2Y2-013r0i3g040l0K3v2Z163y3p0 3B3D0l0d3H3x393z3N3h0b3R3J3T3L3A0M3e3C3h0q3Y3n3a1Y3q3%3s3E0t3,3K3/3M3;3)3E0n3^3!3`3$3(3O0x403o423V040p0P473.2`433=0p3j1D3l3Z484g4a0p3u4l3w4n4f3c3|3D0p3G4t2Z1L331C2@2%0B2+3z0X242D0.1V1K320v343l3R054M0/4U4o3c140#0G0g0z3R0l3-3z0M140W4,4.3#13040(0(4W3_4g0o0m144d4C4!4w1^4_0h4?4~2m50144k375b57140e59544-5h0 4_4|544@425d04535g414g585a5z2m4:040j4}5D1^5v5f4V5o014_5k5C4#5i4`5I5T0 5L5W565p145l355n5J5Y515w5!3z5Q5(3l5*5X5P145r5y5^5F5H5s5O5Z605+5_045=3w5@5#015v5x5N645Q0e3Y4v3z0C140/0E5/3#0)3h6p490E140X0V2g0N0v0H0+4M0O1;0O0H6t5A5`6J4$040m1b6A6M5U672Z693U140m6S5$665S6a0U140I6!656U3E5t4p6w0M6F0v6H6,5Q0w3Y0l6~6W3#6)046E6G6C3%1$2|0v6%4/4;7b716Y6Q7a635^4_0c6,726Z7j6a4_0R7m7q6X046+7v4^140R6}6 6:6N6y1j6^6I5m7F1^5F4=7L5O0U0,142A6`6L7z497g0i6R7Y6K046h54066 707Z040{0H6A6_7Q647O7e497T7:2q7W5V7%6N6P7#7i5|7r147u873z6c800R7*357,7E5O6l6O6o7^5^72747J7{4g5F0k7P5)7M3M6=6@6H0+770N79806|7+7-7-8z3A7!7$8b7A048a6e8p6Y8e8U3w8N727y8R427s8t5E7d8o6(8B757D8L7.4g8l0E3%8+3q6m7p8(7(6.8@6N0B8%5?8N0M6r6O0U8|8A044(4*8I8=8?8j647o0+1U9d017`8.7w8 975O5F0F9q729p8K9k8M7R6*9o9668988-8y9G7x9q9y9A6m9J3I9E9F648l0m8n9N648d9t3#5F020s0D0y8x9w9m6Y9o9v9K9x149,9.9S047H0D8s9)4299142g0B9q9(9$5}9{9-9/9~0I9I9Qad9}a36;7:1c7?7Kab6aa504a79~848Q8V888T7n9?9C902m7s8Z4D9Oah958eaj040W9:9_9=736?758E0H782:9i9D9W8L8#6w6y0U6A6C8r7@aG5U5{aA9u7h8092a*6O9@a{agai826T9~a:ara^8S8g4m1C4Y4T4Ebe0A4H1C0D4Jbj2)2#23252%0i1:bg4H1I553z2T0o0+0E0i0C0v0+0V0K141u1w1y1A0l8J371P3m1J0-1z0l0L1=2f0}0v0j0D0j0?bW0m0l1lbW0O0T326P1=1;0la10L0D0l2Q0{0l1|2:0l0t0l0J4-bRbw0G0Ua10H320Ycbb|2g0^b@4Mca0v0Qa1b|b?00cm6B0X0m0X0v0u1L3m0/0;0?0^3#180Xcw0}143J191w1e1g1i2W1DcM1GbS1fb+b-18b:aZ2Cb 0ib 1$c10t0hb,1m2q2(1=0Bch0l0Oc10H0Y0X6H2Mb-2|2o0U0mcx060rcrb`0_1=1yb+bX0lbZbX0H0=b{2Mc.0l0!aWdj0lbz0T0{cw0Hc%2c8Cdwb}c(0$1lbY1cdx0o0%c$b6cyc74G0:0=0@3mbhdPcD04.
.1280135[4)2R,a!- ià8m16Cl7.e:9;S/dktf+Irj?3sogu0x]Ppnh=céyvêz(wq_bQ050C0w0E0i0m0t0M0l0Y0t0i0M0M0X010E0m0U010406050M0P0p0p0i0I0!040A0N0t0P110N0V0l020i0p0U0z0l0g0w1b0I0*0P0w0M050B181a1c1e160U041C1J051M0B1M1O1J160C0m0#0_0{0}0 0W0m0O0W0t1$0W0E14050;0,0t0w1X0|0~011#1%1)1%0E1/1;1-0E0,0N0C1e1.0I1K0E0W0_1h0M0U0i0V0 0f011?1Z010F0?0w0V1p0w1-2e2g2l1^2o1;2r0p2t040a0l0T0I0N0U0N0M0m1k1m0/2c0I0I0w0Y2O1C2v0V1K0B2a2!0E2827290C2x0 1)0V2q2L1-1U1W0`1@2.0m2:0V241V1-0U2T1K2Y2!35172f1m2_2m2~0I1b0t140l0q2X3915382w3b1^3d3f3h0f3k2g3m2Y2-013r0i3g040l0L3v2Z163y3p0 3B3D0l0d3H3x393z3N3h0b3R3J3T3L3A0N3e3C3h0r3Y3n3a1Y3q3%3s3E0u3,3K3/3M3;3)3E0o3^3!3`3$3(3O0y403o423V040q0Q473.2`433=0q3j1D3l3Z484g4a0q3u4l3w4n4f3c3|3D0q3G4t3I3-3U4y140q3Q4C2!320w2!2@2%0C2+3z0Y242D0.1V1K4M343l3R054U0/4#4o2m0D140/0F4%3_4g0)3h4=414p0F140Y0W2g0O0w0I0+4U0P1;0P0I4`4,1^13040(5b4w3q140m1b525h3z5e0h3R0l4E3#0V5k5o3#5q5s5u49140J5y425A4K5t4?3c4~0N570w595G4g5e0e0x3Y0l5Y5K4{5M045658543%1$2|0w5B5L1^0N140X5/5#5j045l0i5n4K5C5T140c5S5$0m645d140S635 5:3M5E670 5e0S5X5Z605$501j5Q5a5J6m5;5?5^5c3M0,142A6g015e5g6c5_6e5{5m5.6G6x6D140e6k5Y6t6I0{0I525R6s6d015=045@6Z6H3A6z046B6M5i6h146F376!5w6J5}6L6@6*5e6b6}6N0p0m144d6/5p696Q4K065Z5!6N4.5{4;6)6N6_5(6q6w6:6#140j6(357e7p7l5O5)0+5+0O5-6C5e5W7b7d7d6T3A5k6K7E626C6_66775z69704$6^6f7T5H697o3z6$7t3l7v3U5N5P6Y357c7I6S6!7g0m7i7u7K7R7%3#6$0k7 42734H834g6$020O0E0z7*3w7,3#8504767|6!0N4^042g0C87657N7!61047W3w7}5x8v2m816C8i4k717p6i8y2Z8A045F8C68046j7j7p7)8e2Z8g5D5%7y6q7A0I5,2:7O047G7u8Z4g0Y0q14030l1l0_500V520l2q0l6o0E6R7?6l7Y5%8|52547m7:7X6~6=7Q7M6{8,5r8U7-5{8s6u04829m8h744b9k9p6I8P8I78049l8l6*7x7/6r9B7U047a7;958:4-5k7{7+8N7S9F6N6$0G9y018G9#890t8c9#6_927n9t428n148q9,9i5~9K7#8x9h9o9:88149!a02m9%8Q6;8S8L4+7w7Z9{8w8T9X8V5?8X3E8N9c5*8)7C8+a76O8-5s9Q1^8=8@8_3a991=900,0|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=0n0l0O0i0P4 bP3I9P7J97b!8}5355aM9Jbt9L6?b{8!br9xbE7L9 a)8Ra=bBa-8ObIbDaX9u86asa+c8a@bLa_cg6P5sa}7Ia 9SbKbA8Y7K9Zb8cfcd9;bd9*0zbK6V6Xb`ci8Vbn0V8rc27R8uc5a8bv97aZbQaV7Vbzcba3cA4ga(b~afcb0Xbgamb_bNaqb-ab9C8.7+bUbWbYaBb#0lb%0C2I2Nc=cpaIb;aKb^9I8,b}cWac6`aTdd9Cc7cvcUc1c$5$cualbCc#bl84bGcm9DbKana`3,0B4)4N1L331C4P1C0E4RdJ2)2#23252%0i1:dE0B4P1Ic?3#2T0p0+0F0i0D0w0+0W0L141u1w1y1A0lc^8z1P3m1J0-1z0l0M1=2f0}0w0k0E0k0?d~0maAd~0P0U325l1=1;0l0E1A0E0l2Q0{0l1|2:0l0u0l0K5td_dX0H0Vej0I320ZeBem2g0^eh4UeA0w0Rejemeg00eM530Y0m0Y0w0v1L3m0/0;0?0^3#180YeW0}143J191w1e1g1i2W1De:1Gd`1fe98`18ed8)2Cep0iep1$er0u0hea2q2(1=0CeH0l0Per0I0Z0Y592M8`2|2o0V0meX060seR0MeleW0l1ye9d 0le1d 0I0=el2Mea0#7yfJ0ld!0U0{eW0If42c9IePfW0%1le01cfW0p0$f3aneYexdH0:0=0@3mdVf;e%04.
.1280135[4)2R,a-! i8m16Cl7.e:9;S/dktf+Irj?3sogu0x]Ppnh=céyvDzê(wq_bQ050B0v0D0i0m0s0L0l0X0s0i0L0L0W010D0m0T010406050L0O0o0o0i0H0Z040z0M0s0O110M0U0l020i0o0T0y0l0g0v1b0H0*0O0v0L050A181a1c1e160T041C1J051M0A1M1O1J160B0m0!0_0{0}0 0V0m0N0V0s1$0V0D14050;0,0s0v1X0|0~011#1%1)1%0D1/1;1-0D0,0M0B1e1.0H1K0D0V0_1h0L0T0i0U0 0f011?1Z010E0?0v0U1p0v1-2e2g2l1^2o1;2r0o2t040a0l0S0H0M0T0M0L0m1k1m0/2c0H0H0v0X2O1C2v0U1K0A2a2!0D2827290B2x0 1)0U2q2L1-1U1W0`1@2.0m2:0U241V1-0T2T1K2Y2!35172f1m2_2m2~0H1b0s140l0p2X3915382w3b1^3d3f3h0f3k2g3m2Y2-013r0i3g040l0K3v2Z163y3p0 3B3D0l0d3H3x393z3N3h0b3R3J3T3L3A0M3e3C3h0q3Y3n3a1Y3q3%3s3E0t3,3K3/3M3;3)3E0n3^3!3`3$3(3O0x403o423V040p0P473.2`433=0p3j1D3l3Z484g4a0p3u4l3w4n4f3c3|3D0p3G4t2Z1L331C2@2%0B2+3z0X242D0.1V1K320v343l3R054M0/4U4o3c140#0G0g0z3R0l3-3z0M140W4,4.3#13040(0(4W3_4g0o0m144d4C4!4w1^4_0h4?4~2m50144k375b57140e59544-5h0 4_4|544@425d04535g414g585a5z2m4:040j4}5D1^5v5f4V5o014_5k5C4#5i4`5I5T0 5L5W565p145l355n5J5Y515w5!3z5Q5(3l5*5X5P145r5y5^5F5H5s5O5Z605+5_045=3w5@5#015v5x5N645Q0e3Y4v3z0C140/0E5/3#0)3h6p490E140X0V2g0N0v0H0+4M0O1;0O0H6t5A5`6J4$040m1b6A6M5U672Z693U140m6S5$665S6a0U140I6!656U3E5t4p6w0M6F0v6H6,5Q0w3Y0l6~6W3#6)046E6G6C3%1$2|0v6%4/4;7b716Y6Q7a635^4_0c6,726Z7j6a4_0R7m7q6X046+7v4^140R6}6 6:6N6y1j6^6I5m7F1^5F4=7L5O0U0,142A6`6L7z497g0i6R7Y6K046h54066 707Z040{0H6A6_7Q647O7e497T7:2q7W5V7%6N6P7#7i5|7r147u873z6c800R7*357,7E5O6l6O6o7^5^72747J7{4g5F0k7P5)7M3M6=6@6H0+770N79806|7+7-7-8z3A7!7$8b7A048a6e8p6Y8e8U3w8N727y8R427s8t5E7d8o6(8B757D8L7.4g8l0E3%8+3q6m7p8(7(6.8@6N0B8%5?8N0M6r6O0U8|8A044(4*8I8=8?8j647o0+1U9d017`8.7w8 975O5F0F9q729p8K9k8M7R6*9o9668988-8y9G7x9q9y9A6m9J3I9E9F648l0m8n9N648d9t3#5F020s0D0y8x9w9m6Y9o9v9K9x149,9.9S047H0D8s9)4299142g0B9q9(9$5}9{9-9/9~0I9I9Qad9}a36;7:1c7?7Kab6aa504a79~848Q8V888T7n9?9C902m7s8Z4D9Oah958eaj040W9:9_9=736?758E0H782:9i9D9W8L8#6w6y0U6A6C8r7@aG5U5{aA9u7h8092a*6O9@a{agai826T9~a:ara^8S8g4m1C4Y4T4Ebe0A4H1C0D4Jbj2)2#23252%0i1:bg4H1I553z2T0o0+0E0i0C0v0+0V0K141u1w1y1A0l8J371P3m1J0-1z0l0L1=2f0}0v0j0D0j0?bW0m0l1lbW0O0T326P1=1;0la10L0D0l2Q0{0l1|2:0l0t0l0J4-bRbw0G0Ua10H320Ycbb|2g0^b@4Mca0v0Qa1b|b?00cm6B0X0m0X0v0u1L3m0/0;0?0^3#180Xcw0}143J191w1e1g1i2W1DcM1GbS1fb+b-18b:aZ2Cb 0ib 1$c10t0hb,1m2q2(1=0Bch0l0Oc10H0Y0X6H2Mb-2|2o0U0mcx060rcrb`0_1=1yb+bX0lbZbX0H0=b{2Mc.0l0!aWdj0lbz0T0{cw0Hc%2c8Cdwb}c(0$1lbY1cdx0o0%c$b6cyc74G0:0=0@3mbhdPcD04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)