1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
| from tkinter import *
x = 500
y = 400
r = 33
def create_circle(x, y, r, canvas):
x0 = x - r
y0 = y - r
x1 = x + r
y1 = y + r
return canvas.create_oval(x0, y0, x1, y1, fill='white')
def change_circle_color(event):
circle = event.widget.find_closest(event.x, event.y)[0]
current_color = canvas.itemcget(circle, "fill")
new_color = "black" if current_color == "white" else "white"
canvas.itemconfigure(circle, fill=new_color)
class CircleValues:
def __init__(self, canvas, circles):
self.canvas = canvas
self.circles = circles
self.values = []
self.update_values()
def update_values(self):
self.values = [1 if self.canvas.itemcget(circle, "fill") == "black" else 0
for circle in self.circles]
def configure_circle(canvas, circles, sum_value):
color = "black" if sum_value == 2 else "white"
canvas.itemconfigure(circles, fill=color)
def evolution():
values_obj = CircleValues(canvas, circles)
value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12, value13, value14, value15, value16, value17, value18, value19, value20, value21, value22, value23, value24, value25, value26, value27, value28, value29, value30, value31, value32, value33, value34, value35, value36, value37, value38, value39, value40, value41, value42, value43, value44, value45, value46, value47, value48, value49, value50, value51, value52, value53, value54, value55, value56, value57, value58, value59, value60, value61, value62, value63, value64, value65, value66, value67, value68, value69, value70, value71, value72, value73, value74, value75, value76, value77, value78, value79, value80, value81, value82, value83, value84, value85, value86, value87, value88, value89, value90, value91 = values_obj.values
sum1 = value2 + value3 + value4 + value5 + value6 + value7
sum2 = value1 + value7 + value19 + value8 + value9 + value3
sum3 = value1 + value2 + value9 + value10 + value11 + value4
sum4 = value1 + value3 + value11 + value12 + value13 + value5
sum5 = value1 + value4 + value13 + value14 + value15 + value6
sum6 = value1 + value5 + value15 + value16 + value17 + value7
sum7 = value1 + value6 + value17 + value18 + value19 + value2
sum8 = value2 + value19 + value37 + value20 + value21 + value9
sum9 = value2 + value8 + value21 + value22 + value10 + value3
sum10 = value3 + value9 + value22 + value23 + value24 + value11
sum11 = value3 + value10 + value24 + value25 + value12 + value4
sum12 = value4 + value11 + value25 + value26 + value27 + value13
sum13 = value4 + value12 + value27 + value28 + value14 + value5
sum14 = value5 + value13 + value28 + value29 + value30 + value15
sum15 = value5 + value14 + value30 + value31 + value16 + value6
sum16 = value6 + value15 + value31 + value32 + value33 + value17
sum17 = value6 + value16 + value33 + value34 + value18 + value7
sum18 = value7 + value17 + value34 + value35 + value36 + value19
sum19 = value2 + value7 + value18 + value36 + value37 + value8
sum20 = value8 + value37 + value61 + value38 + value39 + value21
sum21 = value8 + value20 + value39 + value40 + value22 + value9
sum22 = value9 + value21 + value40 + value41 + value23 + value10
sum23 = value10 + value22 + value41 + value42 + value43 + value24
sum24 = value10 + value23 + value43 + value44 + value25 + value11
sum25 = value11 + value24 + value44 + value45 + value26 + value12
sum26 = value12 + value25 + value45 + value46 + value47 + value27
sum27 = value12 + value26 + value47 + value48 + value28 + value13
sum28 = value13 + value27 + value48 + value49 + value29 + value14
sum29 = value14 + value28 + value49 + value50 + value51 + value30
sum30 = value14 + value29 + value51 + value52 + value31 + value15
sum31 = value15 + value30 + value52 + value53 + value32 + value16
sum32 = value16 + value31 + value53 + value54 + value55 + value33
sum33 = value16 + value32 + value55 + value56 + value34 + value17
sum34 = value17 + value33 + value56 + value57 + value35 + value18
sum35 = value18 + value34 + value57 + value58 + value59 + value36
sum36 = value18 + value35 + value59 + value60 + value37 + value19
sum37 = value8 + value19 + value36 + value60 + value61 + value20
sum38 = value20 + value61 + value91 + value62 + value63 + value39
sum39 = value20 + value38 + value63 + value64 + value40 + value21
sum40 = value21 + value39 + value64 + value65 + value41 + value22
sum41 = value22 + value40 + value65 + value66 + value42 + value23
sum42 = value23 + value41 + value66 + value67 + value68 + value43
sum43 = value23 + value42 + value68 + value69 + value44 + value24
sum44 = value24 + value43 + value69 + value70 + value45 + value25
sum45 = value25 + value44 + value70 + value71 + value46 + value26
sum46 = value26 + value45 + value71 + value72 + value73 + value47
sum47 = value26 + value46 + value73 + value74 + value48 + value27
sum48 = value27 + value47 + value74 + value75 + value49 + value28
sum49 = value28 + value48 + value75 + value76 + value50 + value29
sum50 = value29 + value49 + value76 + value77 + value78 + value51
sum51 = value29 + value50 + value78 + value79 + value52 + value30
sum52 = value30 + value51 + value79 + value80 + value53 + value31
sum53 = value31 + value52 + value80 + value81 + value54 + value32
sum54 = value32 + value53 + value81 + value82 + value83 + value55
sum55 = value32 + value54 + value83 + value84 + value56 + value33
sum56 = value33 + value55 + value84 + value85 + value57 + value34
sum57 = value34 + value56 + value85 + value86 + value58 + value35
sum58 = value35 + value57 + value86 + value87 + value88 + value59
sum59 = value35 + value58 + value88 + value89 + value60 + value36
sum60 = value36 + value59 + value89 + value90 + value61 + value37
sum61 = value20 + value37 + value60 + value90 + value91 + value38
sum62 = value38 + value91 + value63
sum63 = value38 + value62 + value64 + value39
sum64 = value39 + value63 + value65 + value40
sum65 = value40 + value64 + value66 + value41
sum66 = value41 + value65 + value67 + value42
sum67 = value42 + value66 + value68
sum68 = value42 + value67 + value69 + value43
sum69 = value43 + value68 + value70 + value44
sum70 = value44 + value69 + value71 + value45
sum71 = value45 + value70 + value72 + value46
sum72 = value46 + value71 + value73
sum73 = value46 + value72 + value74 + value47
sum74 = value47 + value73 + value75 + value48
sum75 = value48 + value74 + value76 + value49
sum76 = value49 + value75 + value77 + value50
sum77 = value50 + value76 + value78
sum78 = value50 + value77 + value79 + value51
sum79 = value51 + value78 + value80 + value52
sum80 = value52 + value79 + value81 + value53
sum81 = value53 + value80 + value82 + value54
sum82 = value54 + value81 + value83
sum83 = value54 + value82 + value84 + value55
sum84 = value55 + value83 + value85 + value56
sum85 = value56 + value84 + value86 + value57
sum86 = value57 + value85 + value87 + value58
sum87 = value58 + value86 + value88
sum88 = value58 + value87 + value89 + value59
sum89 = value59 + value88 + value90 + value60
sum90 = value60 + value89 + value91 + value61
sum91 = value38 + value61 + value90 + value62
for circle, sum_value in [(circle1, sum1), (circle2, sum2), (circle3, sum3), (circle4, sum4), (circle5, sum5), (circle6, sum6), (circle7, sum7), (circle8, sum8), (circle9, sum9), (circle10, sum10), (circle11, sum11), (circle12, sum12), (circle13, sum13), (circle14, sum14), (circle15, sum15), (circle16, sum16), (circle17, sum17), (circle18, sum18), (circle19, sum19), (circle20, sum20), (circle21, sum21), (circle22, sum22), (circle23, sum23), (circle24, sum24), (circle25, sum25), (circle26, sum26), (circle27, sum27), (circle28, sum28), (circle29, sum29), (circle30, sum30), (circle31, sum31), (circle32, sum32), (circle33, sum33), (circle34, sum34), (circle35, sum35), (circle36, sum36), (circle37, sum37), (circle38, sum38), (circle39, sum39), (circle40, sum40), (circle41, sum41), (circle42, sum42), (circle43, sum43), (circle44, sum44), (circle45, sum45), (circle46, sum46), (circle47, sum47), (circle48, sum48), (circle49, sum49), (circle50, sum50), (circle51, sum51), (circle52, sum52), (circle53, sum53), (circle54, sum54), (circle55, sum55), (circle56, sum56), (circle57, sum57), (circle58, sum58), (circle59, sum59), (circle60, sum60), (circle61, sum61), (circle62, sum62), (circle63, sum63), (circle64, sum64), (circle65, sum65), (circle66, sum66), (circle67, sum67), (circle68, sum68), (circle69, sum69), (circle70, sum70), (circle71, sum71), (circle72, sum72), (circle73, sum73), (circle74, sum74), (circle75, sum75), (circle76, sum76), (circle77, sum77), (circle78, sum78), (circle79, sum79), (circle80, sum80), (circle81, sum81), (circle82, sum82), (circle83, sum83), (circle84, sum84), (circle85, sum85), (circle86, sum86), (circle87, sum87), (circle88, sum88), (circle89, sum89), (circle90, sum90), (circle91, sum91)]:
configure_circle(canvas, circle, sum_value)
larFen=1000
hautFen=800
fen = Tk()
fen.title("ReaLife Game")
fen.geometry(str(larFen)+"x"+str(hautFen+50))
canvas = Canvas(fen, width=1000, height=800, borderwidth=0, highlightthickness=0, bg="white")
canvas.grid()
circle1 = create_circle(x, y, r, canvas)
circle2 = create_circle(x + 2*r, y, r, canvas)
circle3 = create_circle(x + r, y + 1.76*r, r, canvas)
circle4 = create_circle(x - r, y + 1.76*r, r, canvas)
circle5 = create_circle(x - 2*r, y, r, canvas)
circle6 = create_circle(x - r, y - 1.76*r, r, canvas)
circle7 = create_circle(x + r, y - 1.76*r, r, canvas)
circle8 = create_circle(x + 4*r, y, r, canvas)
circle9 = create_circle(x + 3*r, y + 1.76*r, r, canvas)
circle10 = create_circle(x + 2*r, y + 1.76*2*r, r, canvas)
circle11 = create_circle(x, y + 1.76*2*r, r, canvas)
circle12 = create_circle(x - 2*r, y + 1.76*2*r, r, canvas)
circle13 = create_circle(x - 3*r, y + 1.76*r, r, canvas)
circle14 = create_circle(x - 4*r, y, r, canvas)
circle15 = create_circle(x - 3*r, y - 1.76*r, r, canvas)
circle16 = create_circle(x - 2*r, y - 1.76*2*r, r, canvas)
circle17 = create_circle(x, y - 1.76*2*r, r, canvas)
circle18 = create_circle(x + 2*r, y - 1.76*2*r, r, canvas)
circle19 = create_circle(x + 3*r, y - 1.76*r, r, canvas)
circle20 = create_circle(x + 6*r, y, r, canvas)
circle21 = create_circle(x + 5*r, y + 1.76*r, r, canvas)
circle22 = create_circle(x + 4*r, y + 1.76*2*r, r, canvas)
circle23 = create_circle(x + 3*r, y + 1.76*3*r, r, canvas)
circle24 = create_circle(x + r, y + 1.76*3*r, r, canvas)
circle25 = create_circle(x - r, y + 1.76*3*r, r, canvas)
circle26 = create_circle(x - 3*r, y + 1.76*3*r, r, canvas)
circle27 = create_circle(x - 4*r, y + 1.76*2*r, r, canvas)
circle28 = create_circle(x - 5*r, y + 1.76*r, r, canvas)
circle29 = create_circle(x - 6*r, y, r, canvas)
circle30 = create_circle(x - 5*r, y - 1.76*r, r, canvas)
circle31 = create_circle(x - 4*r, y - 1.76*2*r, r, canvas)
circle32 = create_circle(x - 3*r, y - 1.76*3*r, r, canvas)
circle33 = create_circle(x - r, y - 1.76*3*r, r, canvas)
circle34 = create_circle(x + r, y - 1.76*3*r, r, canvas)
circle35 = create_circle(x + 3*r, y - 1.76*3*r, r, canvas)
circle36 = create_circle(x + 4*r, y - 1.76*2*r, r, canvas)
circle37 = create_circle(x + 5*r, y - 1.76*r, r, canvas)
circle38 = create_circle(x + 8*r, y, r, canvas)
circle39 = create_circle(x + 7*r, y + 1.76*r, r, canvas)
circle40 = create_circle(x + 6*r, y + 1.76*2*r, r, canvas)
circle41 = create_circle(x + 5*r, y + 1.76*3*r, r, canvas)
circle42 = create_circle(x + 4*r, y + 1.76*4*r, r, canvas)
circle43 = create_circle(x + 2*r, y + 1.76*4*r, r, canvas)
circle44 = create_circle(x, y + 1.76*4*r, r, canvas)
circle45 = create_circle(x - 2*r, y + 1.76*4*r, r, canvas)
circle46 = create_circle(x - 4*r, y + 1.76*4*r, r, canvas)
circle47 = create_circle(x - 5*r, y + 1.76*3*r, r, canvas)
circle48 = create_circle(x - 6*r, y + 1.76*2*r, r, canvas)
circle49 = create_circle(x - 7*r, y + 1.76*r, r, canvas)
circle50 = create_circle(x - 8*r, y, r, canvas)
circle51 = create_circle(x - 7*r, y - 1.76*r, r, canvas)
circle52 = create_circle(x - 6*r, y - 1.76*2*r, r, canvas)
circle53 = create_circle(x - 5*r, y - 1.76*3*r, r, canvas)
circle54 = create_circle(x - 4*r, y - 1.76*4*r, r, canvas)
circle55 = create_circle(x - 2*r, y - 1.76*4*r, r, canvas)
circle56 = create_circle(x, y - 1.76*4*r, r, canvas)
circle57 = create_circle(x + 2*r, y - 1.76*4*r, r, canvas)
circle58 = create_circle(x + 4*r, y - 1.76*4*r, r, canvas)
circle59 = create_circle(x + 5*r, y - 1.76*3*r, r, canvas)
circle60 = create_circle(x + 6*r, y - 1.76*2*r, r, canvas)
circle61 = create_circle(x + 7*r, y - 1.76*r, r, canvas)
circle62 = create_circle(x + 10*r, y, r, canvas)
circle63 = create_circle(x + 9*r, y + 1.76*r, r, canvas)
circle64 = create_circle(x + 8*r, y + 1.76*2*r, r, canvas)
circle65 = create_circle(x + 7*r, y + 1.76*3*r, r, canvas)
circle66 = create_circle(x + 6*r, y + 1.76*4*r, r, canvas)
circle67 = create_circle(x + 5*r, y + 1.76*5*r, r, canvas)
circle68 = create_circle(x + 3*r, y + 1.76*5*r, r, canvas)
circle69 = create_circle(x + r, y + 1.76*5*r, r, canvas)
circle70 = create_circle(x - r, y + 1.76*5*r, r, canvas)
circle71 = create_circle(x - 3*r, y + 1.76*5*r, r, canvas)
circle72 = create_circle(x - 5*r, y + 1.76*5*r, r, canvas)
circle73 = create_circle(x - 6*r, y + 1.76*4*r, r, canvas)
circle74 = create_circle(x - 7*r, y + 1.76*3*r, r, canvas)
circle75 = create_circle(x - 8*r, y + 1.76*2*r, r, canvas)
circle76 = create_circle(x - 9*r, y + 1.76*r, r, canvas)
circle77 = create_circle(x - 10*r, y, r, canvas)
circle78 = create_circle(x - 9*r, y - 1.76*r, r, canvas)
circle79 = create_circle(x - 8*r, y - 1.76*2*r, r, canvas)
circle80 = create_circle(x - 7*r, y - 1.76*3*r, r, canvas)
circle81 = create_circle(x - 6*r, y - 1.76*4*r, r, canvas)
circle82 = create_circle(x - 5*r, y - 1.76*5*r, r, canvas)
circle83 = create_circle(x - 3*r, y - 1.76*5*r, r, canvas)
circle84 = create_circle(x - 33, y - 1.76*5*r, r, canvas)
circle85 = create_circle(x + 33, y - 1.76*5*r, r, canvas)
circle86 = create_circle(x + 3*r, y - 1.76*5*r, r, canvas)
circle87 = create_circle(x + 5*r, y - 1.76*5*r, r, canvas)
circle88 = create_circle(x + 6*r, y - 1.76*4*r, r, canvas)
circle89 = create_circle(x + 7*r, y - 1.76*3*r, r, canvas)
circle90 = create_circle(x + 8*r, y - 1.76*2*r, r, canvas)
circle91 = create_circle(x + 9*r, y - 1.76*r, r, canvas)
circles = [circle1, circle2, circle3, circle4, circle5, circle6, circle7, circle8, circle9, circle10, circle11, circle12, circle13, circle14, circle15, circle16, circle17, circle18, circle19, circle20, circle21, circle22, circle23, circle24, circle25, circle26, circle27, circle28, circle29, circle30, circle31, circle32, circle33, circle34, circle35, circle36, circle37, circle38, circle39, circle40, circle41, circle42, circle43, circle44, circle45, circle46, circle47, circle48, circle49, circle50, circle51, circle52, circle53, circle54, circle55, circle56, circle57, circle58, circle59, circle60, circle61, circle62, circle63, circle64, circle65, circle66, circle67, circle68, circle69, circle70, circle71, circle72, circle73, circle74, circle75, circle76, circle77, circle78, circle79, circle80, circle81, circle82, circle83, circle84, circle85, circle86, circle87, circle88, circle89, circle90, circle91]
for circle in circles:
canvas.tag_bind(circle, '<Button-1>', change_circle_color)
evolution_speed = 500
def start_infinite_evolution():
fen.after(evolution_speed, evolution)
fen.after(evolution_speed, start_infinite_evolution)
evoluer=Button(fen,text="EVOLUTION",command=start_infinite_evolution)
evoluer.place(x=larFen-400,y=hautFen+10)
fen.mainloop() |
Partager