debug version of nrender, the last version is available here
from kandinsky import set_pixel as set,fill_rect as rect from ion import keydown as k from time import sleep from random import randint as r,random import rp def pix(x,y,c=(255,)*3,e=1): if (320>x>0-e)and(222>y>0-e): if e==1:set(x,y,c) else:rect(x,y,e,e,c) def line(x0,y0,x1,y1,c=(255,)*3,e=1,p=1): dx,dy=x1-x0,y1-y0 steps=max(abs(dx),abs(dy)) print(steps) if steps==0:pix(x0,y0,c,e);return xinc,yinc,d=dx/steps,dy/steps,c for i in range(0,int(steps/(1/p))+1): if c==-1:d=gradiant(i*1530/steps) pix(x0,y0,d,e) x0+=round(xinc/p) y0+=round(yinc/p) def gradiant(n): n,i=n%1530,1 while n>=i*255+1:i+=1 p=n-255*(i-1) # De rouge a magenta if n<256: r,g,b=255,0,p # De magenta a bleu elif n<511: r,g,b=255-p,0,255 # De bleu a cyan elif n<766: r,g,b=0,p,255 # De cyan a vert elif n<1021: r,g,b=0,255,255-p # De vert a jaune elif n<1276: r,g,b=p,255,0 # De jaune a rouge elif n<1531: r,g,b=255,255-p,n return (r,g,b) #assert degrade(0)==(255,0,0) #assert degrade(1)==(255,0,1) #print(degrade(10),"\n") #print(degrade(255),"\n") #print(degrade(256),"\n") #for i in range(320): # for j in range(306): # rect(i,0,1,222,degrade(i*1530/320)) # rect(j,i*44,1,44,degrade(j+306*i)) while 1: line(r(-100,400),r(-50,250),r(-100,400),r(-50,250),-1,10) #line(0,0,100,200,-1,2,0.5)