【四二学堂】python四子连珠游戏-5(交替变换颜色,记录位置)

课程视频:
https://edu.csdn.net/course/detail/28882

代码:

from tkinter import*
import time#画布
#棋盘
#鼠标左键绑定事件
#落下棋子后位置记录下来。保证每个棋子能够落在准确的位置上。
#交替变换颜色,记录位置class Game:def __init__(self):#self.ball=ballself.clsposition = Clsposition()self.tk = Tk()self.tk.title("四二学堂Python四子连珠游戏")self.tk.resizable(0, 0)  # 窗口在水平、垂直方向的大小都不能改变# tk.wm_attributes("-topmost",1)  #画布窗口放在其他所有窗口之前self.canvas = Canvas(self.tk, width=700, height=700)# anvas = Canvas(tk,width=700,height=700,bd=0,highlightthickness=0)# bd=0 highlightthickness=0 确保在画布之外没有边框,看上去更美观些self.canvas.pack()def action(self,event):for i in range(0, 5):if (event.x >= 100 + i * 100 and event.x < 100 + i * 100 + 100):for x in range(4, -1, -1):#print(self.clsposition.positions[i][x])if (self.clsposition.positions[i][x] == 0):id1 = self.canvas.create_oval(100 + i * 100, 40, 100 + i * 100 + 100, 140, fill=self.clsposition.colorx)self.ball = Ball()#self.clsposition.positions[i][x] = 1#downy = x#downx = iself.ball.down(id1, self.canvas, self.tk,i,x)if (self.clsposition.colorx == 'blue'):self.clsposition.colorx='red'self.clsposition.positions[i][x] = 1else:self.clsposition.colorx = 'blue'self.clsposition.positions[i][x] = 2break#self.ball.down(id1, self.canvas, self.tk)class Ball:def __init__(self):self.y=0self.y0=10def down(self,id1,canvas,tk,i,x):self.canvas=canvasself.tk=tkfor i in range(0, 200):self.canvas.move(id1, 0, 10)  # 10像素纵向下降self.y=self.y+10if(self.y>x*100+50):self.y0=0breakself.tk.update()time.sleep(0.1)class Dlines:def drawline(self, canvas):self.canvas = canvasa = [100, 200, 300, 400, 500, 600]for ii in a:self.canvas.create_line(100, ii, 600, ii)self.canvas.create_line(ii, 100, ii, 600)class Clsposition:def __init__(self):self.positions = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]self.colorx = "blue"'''
class ball:def down(self):
'''if __name__=="__main__":ball=Ball()game=Game()game.canvas.bind('', game.action)dlines = Dlines()dlines.drawline(game.canvas)game.tk.mainloop()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部