Python俄罗斯方块源码_第1页
Python俄罗斯方块源码_第2页
Python俄罗斯方块源码_第3页
Python俄罗斯方块源码_第4页
Python俄罗斯方块源码_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python俄罗斯方块源码诺基亚S60v3手机PY平台专用代码作者:千年臭虫from graphics import*import random,e32,appuifwcn=lambda x: x.decode(u8)#_def juxing(t1,t2,s,x=1,y=1): #参数:宽/高/切角大小/坐标X/坐标Y a1,d1=1+x,t1+x c1=t1-s+x b1=s+1+x a2,d2=1+y,t2+y c2=t2-s+y b2=s+1+y list1=b1,a2,c1,a2,d1,b2,d1,c2,c1,d2,b1,d2,a1,c2,a1,b2 return list1#_def

2、 Masks():#蒙罩生成函数 img=Image.new(15,15),L) img2=Image.new(15,15),L) img3=Image.new(15,15),L) img2.clear(0) img3.clear(0) biao=juxing(14.5,14.5,0.9,0.3,0.3) img.polygon(biao),0xff5fff,0xff5fff) img2.polygon(biao),0xffffff,0xffffff) img3.polygon(biao),0xffffff,0xffffff) biao=juxing(12.8,12.8,2) img.poly

3、gon(biao),0xf9ff9f,0x9fff9f,width=1) img3.polygon(biao),0x0,0x0) for i in range(7): RGB=(105+i*20,105+i*20,115+i*20) img.line(2,7.5-i,13,7.5-i),(RGB) img.line(2,7.5+i,13,7.5+i),(RGB) return (img,img2,img3)def Images(mask1,se2):#生成彩色画布函数 img=Image.new(15,15) img2=Image.new(15,15) img2.clear(0xffffff)

4、 img.clear(se2) for i in range(8): img.arc(3+i*0.7,5,3+i,10),0,2,(255-i*10,200-i*10,0+i*20) img.blit(img2,target=(0,0),source=(0,0,15,15),mask=mask1) return img#_def FkCen(ll,S):#方块层函数 for i in range(2): for j in range(len(ll): llj0+i=1 llj12+i=1 if j14: ll22+ij=1 if (S15):return f0=1,1,1,1,1,1,1,1,

5、1,0 f1=1,1,1,1,1,1,1,1,0,0 f2=1,1,1,1,1,1,1,0,0,0 Fk=f0,f1,f2 for i in range(21,0,-1): S-=1 v=random.randint(0,2) ls=Fkv random.shuffle(ls)#乱序 for j in range(10): llij+2=lsj if S0):#计算分值 v=len(n)-1 num=100,300,750,1500 fen1+=numv fen2+=len(n) #- n.sort() while (len(n)0):#游戏活动区域切片 img=Image.new(150,3

6、00) img.clear(0) ce=0 for i in range(20,0,-1): if i=n0-1: ce+=15 img.blit(ImgBg,target=(0,i*15-15),source=(2,285-ce,152,300-ce) ce+=15 del n0 ImgBg.blit(img,target=(2,0) s.cs.blit(ImgBg) e32.ao_sleep(0.08) #_ def Key_z(s,e):#按键中转 Key_zz=s.Key0,s.Key1,s.Key2 Key_zzs.k(e) #_ def Key0(s,e):#None pass #

7、_ def Key1(s,e): s.e=e while s.escancode=17and s.etype=1:#下方向 ImgLs.blit(ImgBg) if(s.a.go_next()!=1): break s.draw_w() e32.ao_sleep(0.001) while s.escancode=167 and s.etype=1 and s.AN5:#中键旋转 s.AN+=1 ImgLs.blit(ImgBg) if(s.a.Xuan_Z()!=1): break s.draw_w() Times=0.1 s.TIME+=Times e32.ao_sleep(Times) w

8、hile s.escancode=14 and s.etype=1 and s.AN9:#左方向 s.AN+=1 ImgLs.blit(ImgBg) if(s.a.go_zuo()!=1): break s.draw_w() if s.AN4: Times=0.09-s.AN*0.01 else:Times=0.002 s.TIME+=Times e32.ao_sleep(Times) while s.escancode=15 and s.etype=1 and s.AN9:#右方向 s.AN+=1 ImgLs.blit(ImgBg) if(s.a.go_you()!=1): break s.

9、draw_w() if s.AN4):#结束游戏判断 s.Over() break s.sui=S1 s.a=b S1=random.randint(0,6) b=tu(S1) b.show(ImgJiS1,mask2,ImgBg,124,250)#画NEXT方块 for i in range(22): s.TIME=0 s.k=1 s.AN=0 ImgLs.blit(ImgBg) s.draw_w() if(s.SD-s.TIME0): Times=s.SD-s.TIME else:Times=0.001 e32.ao_sleep(Times) if(s.a.go_next()!=1):#方

10、块不能往下降落处理 s.a.cha() s.a.show(ImgJis.sui,mask2,ImgBg) s.check() fen0=fen1/10000+level s.SD=0.35-0.38/13*fen0 s.draw_pin() break#_def Go_game(): pass#_WIDTH,HEIGHT=240,320ImgBg=Image.new(WIDTH,HEIGHT)ImgLs=Image.new(ImgBg.size)img_lan=Image.new(WIDTH/2.85,HEIGHT)R,G,B=100,200,190for i in range(100): RGB=(R+i,G-i,B-i) img_lan.rectangle(0+i,0,1+i,HEIGHT),(RGB),(RGB),width=2) FK_SUM=0 for i in range(14)for j in range(24)level=5#初始关卡cen=0#方块初始层数touying=1#投影开关(0/1)fen=0,0,0#关卡/分数/行数color1=0xffffff#隐形方块边线颜色#颜色参数集ColorJi=(0xff00ff,0x,0x9f009f,0x8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论