Recursive Rectangles

https://learn.arcade.academy/en/latest/chapters/33_recursion/recursion.html#recursive-graphics



Disegna ricorsivamente dei rettangoli finché non raggiunge una dimensione limite

import arcade
 
WIDTH  = 800
HEIGHT = 600
TITLE  = "Recursive Rectangles"
 
COL_SFONDO = arcade.color.AMAZON
COL_LINEA  = arcade.color.WHITE

WIDTH_2  = WIDTH/2
HEIGHT_2 = HEIGHT/2
 
LIMITE = 50
RIDUCI = 0.90
 
def disegna(x, y, width, height):
    arcade.draw_rect_outline(arcade.XYWH(x, y, width, height),
                             COL_LINEA)
    if(width > LIMITE):
        disegna(x, y, RIDUCI*width, RIDUCI*height)
 
class Applicazione(arcade.Window):
    def __init__(self, width, height, title):
        super().__init__(width, height, title)
        arcade.set_background_color(COL_SFONDO)
 
    def on_draw(self):
        self.clear()
        disegna(WIDTH_2, HEIGHT_2, WIDTH-10, HEIGHT-10)
 
def main():
    app = Applicazione(WIDTH, HEIGHT, TITLE)
    arcade.run()
 
if __name__ == "__main__":
    main()