def main(): global dx, dy g2d.init_canvas((ARENA_W, ARENA_H)) dx = int(g2d.prompt("dx?")) dy = int(g2d.prompt("dy?")) g2d.handle_events(update, keydn, None) g2d.main_loop(5) # Call update 5 times/second
def main(): W, H = 600, 400 g2d.init_canvas((W, H)) values = [] max_val = 0 val = float(g2d.prompt("Val? ")) while val > 0: values.append(val) if val > max_val: max_val = val val = float(g2d.prompt("Val? ")) if len(values) > 0: for i, v in enumerate(values): rect = (0, i * H / len(values), v * W / max_val, (H / len(values)) - 1) g2d.fill_rect(rect) g2d.main_loop()
- chiede all'utente un numero n - disegna n quadrati - tutti con lato di 100 pixel - ciascuno in posizione casuale - ciascuno con un colore casuale ''' import g2d from random import randint dim = 600 # dimensione canvas lato = 100 # lato del quadrato g2d.init_canvas((dim, dim)) #n = int(input("numero quadrati: ")) n = int(g2d.prompt("numero quadrati: ")) i = 0 while i < n: # coordinate x = randint(0, dim - lato) y = randint(0, dim - lato) # colore colore = randint(0, 255), randint(0, 255), randint(0, 255) # disegno g2d.set_color(colore) g2d.fill_rect((x, y, lato, lato)) i += 1 g2d.main_loop()
import g2d size = 500 g2d.init_canvas((size, size)) n = int((g2d.prompt("n?"))) dsize = size // n dcolor = 255 if n > 1: dcolor = 255 // (n - 1) for i in range(n): g2d.set_color((0, i * dcolor, 0)) g2d.fill_rect((0, 0, size - i * dsize, size - i * dsize)) g2d.main_loop()
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import g2d SIDE = 600 g2d.init_canvas((SIDE, SIDE)) n = int(g2d.prompt("Circles? ")) center = SIDE // 2, SIDE // 2 delta_radius = SIDE * 0.5 / n delta_color = 0 if n > 1: delta_color = 255.0 / (n - 1) for i in range(n): radius = int(SIDE // 2 - i * delta_radius) g2d.set_color((int(255.0 - i * delta_color), 0, 0)) g2d.fill_circle(center, radius) g2d.main_loop()
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import g2d from random import randrange W, H = 320, 240 SIDE = 100 g2d.init_canvas((W, H)) n = int(g2d.prompt("n? ")) # like input dx, dc = 0, 0 if n > 1: dx = (W - SIDE) / (n - 1) dy = (H - SIDE) / (n - 1) dc = 255.0 / (n - 1) i = 0 while i < n: g2d.set_color((i * dc, 0, 0)) g2d.fill_rect((i * dx, i * dy, SIDE, SIDE)) i += 1 g2d.main_loop()
''' @author Alberto Ferrari - https://albertoferrari.github.io/ @license This software is free - http://www.gnu.org/licenses/gpl.html disegna n cerchi concentrici con raggio decrescente fa variare il colore dei cerchi dal rosso del livello più esterno fino al nero del livello più interno ''' import g2d DIMCANVAS = 600 # dimensione canvas g2d.init_canvas((DIMCANVAS, DIMCANVAS)) CENTRO = (DIMCANVAS // 2, DIMCANVAS // 2) # centro dei cerchi raggio = DIMCANVAS // 2 # raggio iniziale rosso = 255 # rosso iniziale n = int(g2d.prompt('numero cerchi: ')) d_raggio = raggio // (n + 1) # delta raggio d_rosso = rosso // (n - 1) # delta rosso for i in range(n): # print(rosso,raggio) # debug -> colore e raggio g2d.set_color((rosso, 0, 0)) g2d.fill_circle(CENTRO, raggio) # disegna cerchio rosso -= d_rosso # nuovo raggio raggio -= d_raggio # nuovo colore g2d.main_loop()
''' @author Alberto Ferrari - https://albertoferrari.github.io/ @license This software is free - http://www.gnu.org/licenses/gpl.html griglia di colori mostra una griglia di rettangoli in orizzontale aumenta gradatamentela componente di blu in verticale aumentare gradatamente la componente di verde ''' import g2d LAR, ALT = 600, 400 # dimensione canvas g2d.init_canvas((LAR, ALT)) colonne = int(g2d.prompt('numero colonne: ')) righe = int(g2d.prompt('numero righe: ')) w = LAR / colonne # larghezza rettangolo h = ALT / righe # altezza rettangolo d_blue, d_green = 0, 0 if colonne > 1: d_blue = 255.0 / (colonne - 1) # delta blue if righe > 1: d_green = 255.0 / (righe - 1) # delta green for r in range(righe): for c in range(colonne): colore = 0, int(d_green * r), int(d_blue * c) g2d.set_color(colore) rettangolo = int(w * c), int(h * r), int(w - 1), int(h - 1)
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import g2d g2d.init_canvas((400, 400)) n = int(g2d.prompt("N?")) for i in range(n): c, p = 0, 0 if n > 1: c = i * 255 // (n - 1) p = i * 300 // (n - 1) g2d.set_color((c, 0, 0)) g2d.fill_rect((p, p, 100, 100)) g2d.main_loop()
import g2d A = 800 g2d.init_canvas((A, A)) n = int(g2d.prompt("Numero di quadrati? ")) i = 0 c_increment = 255 // n l_increment = A // n # suddivido la canvas e il colore blu in n parti che faranno da incremento while i < n: g2d.set_color((0, 0, c_increment * i)) # color g2d.fill_rect((0, 0, l_increment * (n - i), l_increment * (n - i))) i += 1 g2d.main_loop()
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html Quadrati casuali - Chiedere all'utente un numero n - Disegnare n quadrati -- Tutti con lato di 100 pixel -- Ciascuno in posizione casuale -- Ciascuno con un colore casuale ''' import g2d from random import randrange W, H = 640, 480 SIDE = 100 g2d.init_canvas((W, H)) n = int(g2d.prompt("n? ")) i = 0 while i < n: color = randrange(255), randrange(255), randrange(255) rect = randrange(W - SIDE), randrange(H - SIDE), SIDE, SIDE g2d.set_color(color) g2d.fill_rect(rect) i += 1 g2d.main_loop()
@license This software is free - http://www.gnu.org/licenses/gpl.html ''' import sys sys.path.append('../examples/') import g2d ##with open("_palette.txt", "w") as new_file: ## print('''180 120 60\n120 180 60\n120 60 180''', file=new_file); palette = [] with open("_palette.txt", "r") as palette_file: for line in palette_file: if len(line) > 0: vals = line.split() color = (int(vals[0]), int(vals[1]), int(vals[2])) palette.append(color) side = 400.0 g2d.init_canvas((int(side), int(side))) n = int(g2d.prompt("squares? ")) delta = side / n for i in range(n): g2d.set_color(palette[i % len(palette)]) g2d.fill_rect((0, 0, int(side), int(side))) side -= delta g2d.main_loop()
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import g2d g2d.init_canvas((400, 400)) # width, height radius = int(g2d.prompt("Radius? [50-99]")) if 50 <= radius and radius <= 99: g2d.set_color((0, 0, 255)) g2d.fill_circle((200, 200), radius) else: g2d.alert("Out of range!") g2d.set_color((255, 255, 0)) g2d.fill_circle((200, 200), 25) g2d.main_loop() # manage the window/canvas
@author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import sys; sys.path.append('../examples/') import g2d ##with open("_palette.txt", "w") as new_file: ## print('''180 120 60\n120 180 60\n120 60 180''', file=new_file); palette = [] with open("_palette.txt", "r") as palette_file: for line in palette_file: if len(line) > 0: vals = line.split() color = (int(vals[0]), int(vals[1]), int(vals[2])) palette.append(color) side = 400.0 g2d.init_canvas((int(side), int(side))) n = int(g2d.prompt("squares? ")) delta = side / n for i in range(n): g2d.set_color(palette[i % len(palette)]) g2d.fill_rect((0, 0, int(side), int(side))) side -= delta g2d.main_loop()
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import g2d WIDTH, HEIGHT = 600, 400 g2d.init_canvas((WIDTH, HEIGHT)) cols = int(g2d.prompt("Cols? ")) rows = int(g2d.prompt("Rows? ")) w, h = WIDTH / cols, HEIGHT / rows delta_blue, delta_green = 0, 0 if cols > 1: delta_blue = 255.0 / (cols-1) if rows > 1: delta_green = 255.0 / (rows-1) for y in range(rows): for x in range(cols): g2d.set_color((0, int(delta_green*y), int(delta_blue*x))) g2d.fill_rect((int(w*x), int(h*y), int(w-1), int(h-1))) g2d.main_loop()
#!/usr/bin/env python3 ''' @author Michele Tomaiuolo - http://www.ce.unipr.it/people/tomamic @license This software is free - http://www.gnu.org/licenses/gpl.html ''' import g2d RADIUS, radius, red = 300, 300, 255 g2d.init_canvas((RADIUS * 2, RADIUS * 2)) n = int(g2d.prompt("Circles? ")) for i in range(n): g2d.set_color((red, 0, 0)) g2d.fill_circle((RADIUS, RADIUS), radius) if n > 1: radius -= RADIUS // n red -= 255 // (n-1) g2d.main_loop()
def main(): global dx, dy g2d.init_canvas((ARENA_W, ARENA_H)) dx = int(g2d.prompt("dx?")) dy = int(g2d.prompt("dy?")) g2d.main_loop(tick, 5) # Call tick 5 times/second