seg_14_05.py

Created by vef03715

Created on May 23, 2021

2.72 KB


from kandinsky import *
from time import *

def seg_disp(x,y,z,vv,u):
  v=vv[int(u[0])]
  fill_rect(x+1*z,y+0*z,17*z,z,v)
  fill_rect(x+2*z,y+1*z,15*z,z,v)
  fill_rect(x+4*z,y+2*z,11*z,z,v)
  v=vv[int(u[1])]
  fill_rect(x+0*z,y+1*z,z,11*z,v)
  fill_rect(x+1*z,y+2*z,z,9*z,v)
  fill_rect(x+2*z,y+4*z,z,5*z,v)
  v=vv[int(u[2])]
  fill_rect(x+4*z,y+4*z,z,3*z,v)
  fill_rect(x+5*z,y+5*z,z,3*z,v)
  fill_rect(x+6*z,y+6*z,z,4*z,v)
  v=vv[int(u[3])]
  fill_rect(x+8*z,y+4*z,z,6*z,v)
  fill_rect(x+9*z,y+4*z,z,8*z,v)
  fill_rect(x+10*z,y+4*z,z,6*z,v)
  v=vv[int(u[4])]
  fill_rect(x+14*z,y+4*z,z,3*z,v)
  fill_rect(x+13*z,y+5*z,z,3*z,v)
  fill_rect(x+12*z,y+6*z,z,4*z,v)
  v=vv[int(u[5])]
  fill_rect(x+18*z,y+1*z,z,11*z,v)
  fill_rect(x+17*z,y+2*z,z,9*z,v)
  fill_rect(x+16*z,y+4*z,z,5*z,v)
  v=vv[int(u[6])]
  fill_rect(x+3*z,y+11*z,4*z,z,v)
  fill_rect(x+1*z,y+12*z,8*z,z,v)
  fill_rect(x+3*z,y+13*z,4*z,z,v)
  v=vv[int(u[7])]
  fill_rect(x+12*z,y+11*z,4*z,z,v)
  fill_rect(x+10*z,y+12*z,8*z,z,v)
  fill_rect(x+12*z,y+13*z,4*z,z,v)
  v=vv[int(u[8])]
  fill_rect(x+0*z,y+13*z,z,11*z,v)
  fill_rect(x+1*z,y+14*z,z,9*z,v)
  fill_rect(x+2*z,y+16*z,z,5*z,v)
  v=vv[int(u[9])]
  fill_rect(x+4*z,y+18*z,z,3*z,v)
  fill_rect(x+5*z,y+17*z,z,3*z,v)
  fill_rect(x+6*z,y+15*z,z,4*z,v)
  v=vv[int(u[10])]
  fill_rect(x+8*z,y+15*z,z,6*z,v)
  fill_rect(x+9*z,y+13*z,z,8*z,v)
  fill_rect(x+10*z,y+15*z,z,6*z,v)
  v=vv[int(u[11])]
  fill_rect(x+14*z,y+18*z,z,3*z,v)
  fill_rect(x+13*z,y+17*z,z,3*z,v)
  fill_rect(x+12*z,y+15*z,z,4*z,v)
  v=vv[int(u[12])]
  fill_rect(x+18*z,y+13*z,z,11*z,v)
  fill_rect(x+17*z,y+14*z,z,9*z,v)
  fill_rect(x+16*z,y+16*z,z,5*z,v)
  v=vv[int(u[13])]
  fill_rect(x+1*z,y+24*z,17*z,z,v)
  fill_rect(x+2*z,y+23*z,15*z,z,v)
  fill_rect(x+4*z,y+22*z,11*z,z,v)

def seg_i():
  u=["12345678901234"]*14
  u[0]="11001100110011"
  u[1]="00000100000010"
  u[2]="10000111100001"
  u[3]="10000111000011"
  u[4]="01000111000010"
  u[5]="10100001000011"
  u[6]="11000011100011"
  u[7]="11000100000010"
  u[8]="11000111100011"
  u[9]="11000111000011"
  u[10]="00000000000000"
  u[11]="11111111111111"
  return u

def disp1(x,y,v,u):
  for z in range(1,9):
    fill_rect(0,0,320,222,v[2])
    for j in range(8):
      for i in range(12):
        xx=x+(i*21*z)
        yy=y+(j*27*z)
        seg_disp(xx,yy,z,v,u[i])
    sleep(2)

def disp2(x,y,v,u):
  for z in range(1,9):
    fill_rect(0,0,320,222,v[2])
    for i in range(12):
      for j in range(8):
        for k in range(15):
          xx=x+(k*21*z)
          yy=y+(j*27*z)
          seg_disp(xx,yy,z,v,u[i])
      sleep(0.5)
    sleep(1.5)

def seg_14():
  u=seg_i()
  x=4
  y=4
  
#  v=['white','black','white']
#  disp1(x,y,v,u)

  v=[color(176,240,200),'black',color(224,240,200)]
  disp1(x,y,v,u)

  disp2(x,y,v,u)