"""Sierpinski carpet por M8AX. Los dibujitos resultantes se grabaran en E:\images\snap. Si no tienes esa carpeta creala o el programa no funcionara...""" import appuifw, e32, sysinfo from random import randint import graphics from key_codes import * def _raw_input( txt ): return appuifw.query( unicode( txt ), "text" ) appuifw.app.title=u"^MvIiIaX^ Sierpinski" appuifw.note(u"Bienvenid@ Al Programa ^MvIiIaX^ Sierpinski Programado Por Marcos Ochoa Diez.", "info" ) kkk=appuifw.query(u'Colores Aleatorios 1-SI 2-NO: ', 'text',u'2') cuantos=appuifw.query(u'Cuantos Sacamos Por Pantalla: ', 'text',u'1') aleres=appuifw.query(u'Resolucion Aleatoria 1-SI 2-NO: ', 'text',u'2') tiem=appuifw.query(u'Tiempo Para Visionado De Resultado Final En Segundos: ', 'text',u'1') if int(aleres)==2: resolucion=appuifw.query(u'Resolucion 50 A 208: ', 'text',u'208') im = appuifw.Canvas() appuifw.app.screen='full' appuifw.app.body=im llevamos=0 while llevamos<>int(cuantos): e32.ao_yield() color=(0,0,0) #size=sysinfo.displaypixels()[0] if int(aleres)==2: size=int(resolucion) else: size=randint(50,208) mod=9 list_old=[1] for k in range (1,size+1): list_old.append(1) list_new=[1] for a in range (1,size+1): e32.ao_yield() for b in range (1,size+1): e32.ao_yield() if int(kkk)==1: kimbarta=randint(0,300) if kimbarta<=100: aa=randint(0,255) bb=randint(0,255) cc=randint(0,255) color=(aa,bb,cc) if (kimbarta>100 and kimbarta<=200): aa=randint(0,255) bb=randint(0,22) cc=randint(0,25) color=(aa,bb,cc) if kimbarta>200: color=(0,0,255) z=(list_old[b-1]%mod+list_old[b]%mod+list_new[b-1]%mod)%mod list_new.append(z) if z==0: im.point((a,b),color) list_old=list_new list_new=[1] imm = graphics.screenshot() imm.save(u"e:\\images\\snap\\Sierpinski-"+str(llevamos)+".jpg") e32.ao_sleep(int(tiem)) llevamos+=1 im.clear(0) im.rectangle((0,0,176,208), fill = 0xffffff) print "\n"+str(llevamos)+" Imagenes Grabadas En MMC" print "\n^MvIiIaX^ Corp. 2006" app=appuifw.app app.screen='full' c = appuifw.Canvas() appuifw.app.body=c draw = graphics.Draw(c) dibujando = 1 strip = 0 scene = 1 def set_exit(): global dibujando dibujando = 0 def cartoon(): try: menu = graphics.Image.open(u"E:\\images\\snap\\sierpinski-%s.jpg" %strip) if scene == 1: menu.blit(menu, source=(10,13)) if scene == 2: menu.blit(menu, source=(217,13)) if scene == 3: menu.blit(menu, source=(415,13)) c.blit(menu) except KErrNotFound: pass def m_dir(dx, dy): global scene, strip scene = scene + dx if scene == 4: scene = 1 strip = strip + 1 if scene == 0: scene = 3 strip = strip - 1 strip = strip + dy cartoon() def save_mark(): myfile = open("d:\\Mark.txt", "w") myfile.write(strip) myfile.close() def open_mark(): myfile = open("d:\\Mark.txt") strip = myfile.read() myfile.close() app.exit_key_handler= set_exit c.bind(EKeyRightArrow,lambda:m_dir(1, 0)) c.bind(EKeyLeftArrow,lambda:m_dir(-1, 0)) c.bind(EKeyUpArrow,lambda:m_dir(0, -1)) c.bind(EKeyDownArrow,lambda:m_dir(0, 1)) c.bind(EKey1,lambda:m_dir(-1, 0)) c.bind(EKey2,lambda:m_dir(0, -1)) c.bind(EKey3,lambda:m_dir(1, 0)) c.bind(EKey5,lambda:m_dir(0, 1)) c.bind(EKeyHash,lambda:set_exit()) c.bind(EKeyStar,lambda:save_mark()) c.bind(EKey0,lambda:open_mark()) while dibujando: e32.ao_sleep(0.1)