日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python编的俄罗斯方块游戏下载_python写的俄罗斯方块游戏

發布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python编的俄罗斯方块游戏下载_python写的俄罗斯方块游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python寫的俄羅斯方塊游戲

功能包括:記錄所花費時間;消去的總行數;總分;排行榜,最高記錄查看等。

排行榜中包含一系列的統計功能,如單位時間消去的行數,單位時間得分等。

from Tkinter import * ? from tkMessageBox import * ? import random ? ?import time ? ?#俄羅斯方塊界面的高度 ? ?HEIGHT = 18 ? #俄羅斯方塊界面的寬度 ? ?WIDTH ?= 10 ? ACTIVE = 1 ? PASSIVE = 0 ? TRUE ?= 1 ? FALSE ?= 0 ? root=Tk();root.title('Russia') ? ?class App(Frame): ? ? ?def __init__(self,master): ? ? ? ?Frame.__init__(self) ? ? ? ?master.bind('',self.Up) ? ? ? ?master.bind('',self.Left) ? ? ? ?master.bind('',self.Right) ? ? ? ?master.bind('',self.Down) ? ? ? ?#master.bind('',self.Space) ? ? ? ?master.bind('',self.Space) ? ? ? ?master.bind('',self.Play) ? ? ? ?master.bind('',self.Pause) ? ? ? ?self.backg="#%02x%02x%02x" % (120,150,30) ? ? ? ?self.frontg="#%02x%02x%02x" % (40,120,150) ? ? ? ?self.nextg="#%02x%02x%02x" % (150,100,100) ? ? ? ?self.flashg="#%02x%02x%02x" % (210,130,100) ? ? ? ?self.LineDisplay=Label(master,text='Lines: ',bg='black',fg='red') ? ? ? ?self.Line=Label(master,text='0',bg='black',fg='red') ? ? ? ?self.ScoreDisplay=Label(master,text='Score: ',bg='black',fg='red') ? ? ? ?self.Score=Label(master,text='0',bg='black',fg='red') ? ? ? ?#Display time ? ? ? ?self.SpendTimeDisplay=Label(master,text='Time: ',bg='black',fg='red') ? ? ? ?self.SpendTime=Label(master,text='0.0',bg='black',fg='red') ? ? ? ?self.LineDisplay.grid(row=HEIGHT-2,column=WIDTH,columnspan=2) ? ? ? ?self.Line.grid(row=HEIGHT-2,column=WIDTH+2,columnspan=3) ? ? ? ?self.ScoreDisplay.grid(row=HEIGHT-1,column=WIDTH,columnspan=2) ? ? ? ?self.Score.grid(row=HEIGHT-1,column=WIDTH+2,columnspan=3) ? ? ? ?#Display time ? ? ? ?self.SpendTimeDisplay.grid(row=HEIGHT-4,column=WIDTH,columnspan=2) ? ? ? ?self.SpendTime.grid(row=HEIGHT-4,column=WIDTH+2,columnspan=3) ? ? ? ?self.TotalTime=0.0 ? ? ? self.TotalLine=0;self.TotalScore=0 ? ? ? #Game over ? ? ? ?self.isgameover=FALSE ? ? ? ?#Pause ? ? ? ?self.isPause=FALSE ? ? ? ?#Start ? ? ? ?self.isStart=FALSE ? ? ? ?self.NextList=[];self.NextRowList=[] ? ? ? ?r=0;c=0 ? ? ? for k in range(4*4): ? ? ? ? ?LN=Label(master,text=' ?',bg=str(self.nextg),fg='white',relief=FLAT,bd=4) ? ? ? ? ?LN.grid(row=r,column=WIDTH+c,sticky=N+E+S+W) ? ? ? ? ?self.NextRowList.append(LN) ? ? ? ? ?c=c+1 ? ? ? ? if c>=4: ? ? ? ? ? ?r=r+1;c=0 ? ? ? ? ? self.NextList.append(self.NextRowList) ? ? ? ? ? ?self.NextRowList=[] ? ? ? ?self.BlockList=[];self.LabelList=[] ? ? ? ?self.BlockRowList=[];self.LabelRowList=[] ? ? ? ?row=0;col=0 ? ? ? for i in range(HEIGHT*WIDTH): ? ? ? ? ?L=Label(master,text=' ?',bg=str(self.backg),fg='white',relief=FLAT,bd=4) ? ? ? ? ?L.grid(row=row,column=col,sticky=N+E+S+W) ? ? ? ? ?L.row=row;L.col=col;L.isactive=PASSIVE ? ? ? ? ?self.BlockRowList.append(0);self.LabelRowList.append(L) ? ? ? ? ?col=col+1 ? ? ? ? if col>=WIDTH: ? ? ? ? ? ?row=row+1;col=0 ? ? ? ? ? self.BlockList.append(self.BlockRowList) ? ? ? ? ? ?self.LabelList.append(self.LabelRowList) ? ? ? ? ? ?self.BlockRowList=[];self.LabelRowList=[] ? ? ? ?#file ? ? ? ?fw=open('text.txt','a') ? ? ? ?fw.close() ? ? ? ?hasHead=FALSE ? ? ? ?f=open('text.txt','r') ? ? ? ?if f.read(5)=='score': ? ? ? ? ?hasHead=TRUE ? ? ? ?f.close() ? ? ? ?self.file=open('text.txt','r+a') ? ? ? ?if hasHead==FALSE: ? ? ? ? ?self.file.write('score ?line ?time ?scorePtime ?linePtime ?scorePline ?date/n') ? ? ? ? ?self.file.flush() ? ? ? ? ? ? ? ? ? self.time=1000 ? ? ? self.OnTimer() ? ? ?def __del__(self): ? ? ? ?#self.file.close() ? ? ? ?pass ? ? ? ? ? ? ?def Pause(self,event): ? ? ? ?self.isPause=1-self.isPause ? ? ?def Up(self,event): ? ? ? ?BL=self.BlockList;LL=self.LabelList ? ? ? ?Moveable=TRUE ? ? ? ?xtotal=0;ytotal=0;count=0 ? ? ? for i in range(HEIGHT): ? ? ? ? ?for j in range(WIDTH): ? ? ? ? ? ?if LL[i][j].isactive==ACTIVE: ? ? ? ? ? ? ?xtotal=xtotal+i;ytotal=ytotal+j;count=count+1 ? ? ? SourceList=[];DestList=[] ? ? ? ?for i in range(HEIGHT): ? ? ? ? ?for j in range(WIDTH): ? ? ? ? ? ?if LL[i][j].isactive==ACTIVE: ? ? ? ? ? ? ?x0=(xtotal+ytotal)/count;y0=(ytotal-xtotal )/count ? ? ? ? ? ? ?xr=(xtotal+ytotal)%count;yr=(ytotal-xtotal)%count ? ? ? ? ? ? ?x=x0-j;y=y0+i ? ? ? ? ? ? ?if xr>=count/2:x=x+1 ? ? ? ? ? ? if yr>=count/2:y=y+1 ? ? ? ? ? ? SourceList.append([i,j]);DestList.append([x,y]) ? ? ? ? ? ? ?if x<0 or x>=HEIGHT or y<0 or y>=WIDTH:Moveable=FALSE ? ? ? ? ? ? ?if x>=0 and x=0 and y=0 and BL[i][j-1]==1 and LL[i][j-1].isactive==PASSIVE:Moveable=FALSE ? ? ? ?if Moveable==TRUE: ? ? ? ? ?for i in range(HEIGHT): ? ? ? ? ? ?for j in range(WIDTH): ? ? ? ? ? ? ?if j-1>=0 and LL[i][j].isactive==ACTIVE and BL[i][j-1]==0: ? ? ? ? ? ? ? ?self.Fill(i,j-1);self.Empty(i,j) ? ? ?def Right(self,event): ? ? ? ?BL=self.BlockList;LL=self.LabelList ? ? ? ?Moveable=TRUE ? ? ? ?for i in range(HEIGHT): ? ? ? ? ?for j in range(WIDTH): ? ? ? ? ? ?if LL[i][j].isactive==ACTIVE and j+1>=WIDTH:Moveable=FALSE ? ? ? ? ? ?if LL[i][j].isactive==ACTIVE and j+1=1000:self.time=900 ? ? ? if self.TotalScore>=2000:self.time=750 ? ? ? if self.TotalScore>=3000:self.time=600 ? ? ? if self.TotalScore>=4000:self.time=400 ? ? ? self.after(self.time,self.OnTimer) ? ? ?def Down(self,event): ? ? ? ?BL=self.BlockList;LL=self.LabelList ? ? ? ?Moveable=TRUE ? ? ? ?for i in range(HEIGHT): ? ? ? ? ?for j in range(WIDTH): ? ? ? ? ? ?if LL[i][j].isactive==ACTIVE and i+1>=HEIGHT:Moveable=FALSE ? ? ? ? ? ?if LL[i][j].isactive==ACTIVE and i+1

? ?

文章來自codeog.net

總結

以上是生活随笔為你收集整理的python编的俄罗斯方块游戏下载_python写的俄罗斯方块游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。