import Tkinter
import random
import os
import sys
import time
#####################
farben = ["blue","red","black","grey","green","gold"]
farbe = random.choice(farben)
random_zahl=random.randint(1,20)
def skyscraper():
for i in range(1,hoehe,1):
mark(x,i,farbe)
####################
xMax = 620 # Breite des Zeichenblates in Pixel
yMax = 620 # Hoehe des Zeichenblattes in Pixel
dxy = 20 # Breite und Hoehe eines Kaestchens
nMax = xMax / dxy # Breite und Hoehe des Zeichenblattes in Kaestchen
abst = dxy / 2
# Methoden
def erstelleRaster():
for n in range(0,nMax):
cv.create_line(0,n*dxy,xMax,n*dxy, width=1, fill='white', dash=(2,5))
cv.create_line(n*dxy,0,n*dxy,yMax, width=1, fill='white', dash=(2,5))
for m in range (0,nMax):
cv.create_text(m*dxy+abst,yMax-10,text = m % 10,fill="black")
for m in range (1,nMax):
cv.create_text(abst,yMax-m*dxy-abst,text = m % 10,fill="black")
def xPix(x):
return 1.0 * x * dxy
def yPix(y):
return 1.0 * yMax - y * dxy
def mark(x,y,farbe):
cv.create_rectangle(xPix(x)+2,yPix(y)-2,xPix(x+1)-2,yPix(y+1)+2, fill=farbe)
# Fenster einrichten
rahmen = Tkinter.Tk()
cv = Tkinter.Canvas(rahmen,height = yMax, width = xMax, background = "lightblue")
# main
erstelleRaster()
x=1
while x<31:
hoehe = 5 + random.randint(1,20)
skyscraper()
x=x+1
# Fenster anzeigen
cv.pack()
rahmen.mainloop()
aW1wb3J0IFRraW50ZXIKaW1wb3J0IHJhbmRvbQppbXBvcnQgb3MKaW1wb3J0IHN5cwppbXBvcnQgdGltZQojIyMjIyMjIyMjIyMjIyMjIyMjIyMKZmFyYmVuID0gWyJibHVlIiwicmVkIiwiYmxhY2siLCJncmV5IiwiZ3JlZW4iLCJnb2xkIl0KZmFyYmUgPSByYW5kb20uY2hvaWNlKGZhcmJlbikKcmFuZG9tX3phaGw9cmFuZG9tLnJhbmRpbnQoMSwyMCkKIApkZWYgc2t5c2NyYXBlcigpOgogICAgZm9yIGkgaW4gcmFuZ2UoMSxob2VoZSwxKToKICAgICAgICBtYXJrKHgsaSxmYXJiZSkKIAogCiAgICAKIAojIyMjIyMjIyMjIyMjIyMjIyMjIwp4TWF4ID0gNjIwICMgQnJlaXRlIGRlcyBaZWljaGVuYmxhdGVzIGluIFBpeGVsCnlNYXggPSA2MjAgIyBIb2VoZSBkZXMgWmVpY2hlbmJsYXR0ZXMgaW4gUGl4ZWwKZHh5ID0gMjAgIyBCcmVpdGUgdW5kIEhvZWhlIGVpbmVzIEthZXN0Y2hlbnMKbk1heCA9IHhNYXggLyBkeHkgIyBCcmVpdGUgdW5kIEhvZWhlIGRlcyBaZWljaGVuYmxhdHRlcyBpbiBLYWVzdGNoZW4KYWJzdCA9IGR4eSAvIDIKIyBNZXRob2RlbgpkZWYgZXJzdGVsbGVSYXN0ZXIoKToKICAgIGZvciBuIGluIHJhbmdlKDAsbk1heCk6CiAgICAgICAgY3YuY3JlYXRlX2xpbmUoMCxuKmR4eSx4TWF4LG4qZHh5LCB3aWR0aD0xLCBmaWxsPSd3aGl0ZScsIGRhc2g9KDIsNSkpCiAgICAgICAgY3YuY3JlYXRlX2xpbmUobipkeHksMCxuKmR4eSx5TWF4LCB3aWR0aD0xLCBmaWxsPSd3aGl0ZScsIGRhc2g9KDIsNSkpCiAgICBmb3IgbSBpbiByYW5nZSAoMCxuTWF4KToKICAgICAgICBjdi5jcmVhdGVfdGV4dChtKmR4eSthYnN0LHlNYXgtMTAsdGV4dCA9IG0gJSAxMCxmaWxsPSJibGFjayIpCiAgICBmb3IgbSBpbiByYW5nZSAoMSxuTWF4KToKICAgICAgICBjdi5jcmVhdGVfdGV4dChhYnN0LHlNYXgtbSpkeHktYWJzdCx0ZXh0ID0gbSAlIDEwLGZpbGw9ImJsYWNrIikKZGVmIHhQaXgoeCk6CiAgICByZXR1cm4gMS4wICogeCAqIGR4eQpkZWYgeVBpeCh5KToKICAgIHJldHVybiAxLjAgKiB5TWF4IC0geSAqIGR4eQpkZWYgbWFyayh4LHksZmFyYmUpOgogICAgY3YuY3JlYXRlX3JlY3RhbmdsZSh4UGl4KHgpKzIseVBpeCh5KS0yLHhQaXgoeCsxKS0yLHlQaXgoeSsxKSsyLCBmaWxsPWZhcmJlKQojIEZlbnN0ZXIgZWlucmljaHRlbgpyYWhtZW4gPSBUa2ludGVyLlRrKCkKY3YgPSBUa2ludGVyLkNhbnZhcyhyYWhtZW4saGVpZ2h0ID0geU1heCwgd2lkdGggPSB4TWF4LCBiYWNrZ3JvdW5kID0gImxpZ2h0Ymx1ZSIpCiMgbWFpbgplcnN0ZWxsZVJhc3RlcigpCiAKIAp4PTEKd2hpbGUgeDwzMToKICAgIGhvZWhlID0gNSArIHJhbmRvbS5yYW5kaW50KDEsMjApCiAgICBza3lzY3JhcGVyKCkKICAgIHg9eCsxCiAKIAojIEZlbnN0ZXIgYW56ZWlnZW4KY3YucGFjaygpCnJhaG1lbi5tYWlubG9vcCgp