python开发_tkinter_小球完全d性碰撞游戏_源码下载

python开发_tkinter_小球完全d性碰撞游戏_源码下载,第1张

概述python开发_tkinter_小球完全d性碰撞游戏

完成这个小球的完全d性碰撞游戏灵感来自于:

下面是我花了一周下班时间所编写的一个小球完全d性碰撞游戏:

tkinter * = { : : : : : self.draw = Canvas(self,wIDth=,height=,bg= self.speed = Scale(self,orIEnt=HORIZONTAL,label= from_=-100,to=100 self.speed.pack(sIDe=BottOM,fill= self.scaling_right = 4.8 self.scaling_left = 0.2 self.ball_d = 0.4 self.scale_value = self.scaling = 100.0 self.balls = self.ball_x = self.ball_y = self.ball_v_x = self.ball_v_y = self.ball = self.draw.create_oval(,,, fill= self.second_ball = self.draw.create_oval(,,, fill= self.three_ball = self.draw.create_oval(,,, fill= self.four_ball = self.draw.create_oval(,,, fill= self.five_ball = self.draw.create_oval(,,, fill= self.x = 0.3 self.y = 0.3 self.veLocity_x = -0.2 self.veLocity_y = 0.5 self.second_ball_x = 0.9 self.second_ball_y = 0.9 self.second_ball_v_x = 0.4 self.second_ball_v_y = -0.5 self.three_ball_x = 1.5 self.three_ball_y = 1.5 self.three_ball_v_x = -0.3 self.three_ball_v_y = -0.5 self.four_ball_x = 2.2 self.four_ball_y = 2.2 self.four_ball_v_x = 0.1 self.four_ball_v_y = -0.5 self.five_ball_x = 3.2 self.five_ball_y = 3.2 self.five_ball_v_x = 0.3 self.five_ball_v_y = 0.5 self.draw.pack(sIDe= update_ball_x_y(self,* update_ball_veLocity(self,index,* self.scale_value = (self.ball_x[index] > self.scaling_right) (self.ball_x[index] < self.ball_v_x[index] = -1.0 * (self.ball_y[index] > self.scaling_right) (self.ball_y[index] < self.ball_v_y[index] = -1.0 * n (round((self.ball_x[index] - self.ball_x[n])**2 + (self.ball_y[index] - self.ball_y[n])**2,2 temp_vx = temp_vy = self.ball_v_x[index] = self.ball_v_y[index] = self.ball_v_x[n] = self.ball_v_y[n] = get_ball_deltax(self,* deltax = (self.ball_v_x[index] * self.scale_value / self.ball_x[index] = self.ball_x[index] + get_ball_deltay(self,* deltay = (self.ball_v_y[index] * self.scale_value / self.ball_y[index] = self.ball_y[index] + moveBall(self,* deltax = deltay = self.draw.move(self.ball, % deltax, % self.after(10 move_second_ball(self,* self.update_ball_veLocity(1 deltax = self.get_ball_deltax(1 deltay = self.get_ball_deltay(1 self.draw.move(self.second_ball, % self.after(10 move_three_ball(self,* self.update_ball_veLocity(2 deltax = self.get_ball_deltax(2 deltay = self.get_ball_deltay(2 self.draw.move(self.three_ball, % self.after(10 move_four_ball(self,* self.update_ball_veLocity(3 deltax = self.get_ball_deltax(3 deltay = self.get_ball_deltay(3 self.draw.move(self.four_ball, % self.after(10 move_five_ball(self,* self.update_ball_veLocity(4 deltax = self.get_ball_deltax(4 deltay = self.get_ball_deltay(4 self.draw.move(self.five_ball, % self.after(10 (self,master= Frame. self.after(10 self.after(10 self.after(10 self.after(10 self.after(10 game = game.mainloop()

修改记录: 1.调整画布大小 2.调整了小球的半径,以及小球的速度初始值,小球初始圆心坐标 3.游标的范围修改为:[-200,200] 这些修改主要是针对上面的缺陷而进行的。

优点: 1.小球移动的过程更直观 2.小球的移动速度变小,但是可以根据游标来修改小球移动速度 3.界面比之前更加友好

运行效果:

===================================================

tkinter * = { : : : : : self.scaling = 100.0 self.canvas_width = 10 self.canvas_height = 5.6 self.draw = Canvas(self,width=(self.canvas_width * height=(self.canvas_height * bg= self.speed = Scale(self, from_=-200,to=200 self.speed.pack(side=BOTTOM,fill= self.ball_d = 1.0 self.scaling_left = round(self.ball_d / 2,1 self.scaling_right = self.canvas_width - self.scaling_bottom = self.canvas_height - self.scaling_top = self.scale_value = self.speed.get() * 0.1 self.balls = self.ball_x = self.ball_y = self.ball_v_x = self.ball_v_y = self.ball = self.draw.create_oval(,,, fill= self.second_ball = self.draw.create_oval(, fill= self.three_ball = self.draw.create_oval(,,, fill= self.four_ball = self.draw.create_oval(,, fill= self.five_ball = self.draw.create_oval(,, fill= self.x = 1.1 self.y = 1.1 self.velocity_x = -0.2 self.velocity_y = 0.1 self.second_ball_x = 2.5 self.second_ball_y = 2.5 self.second_ball_v_x = 0.1 self.second_ball_v_y = -0.2 self.three_ball_x = 4.5 self.three_ball_y = 4.5 self.three_ball_v_x = -0.1 self.three_ball_v_y = -0.2 self.four_ball_x = 6.5 self.four_ball_y = 2.5 self.four_ball_v_x = 0.1 self.four_ball_v_y = -0.2 self.five_ball_x = 8.5 self.five_ball_y = 3.5 self.five_ball_v_x = 0.1 self.five_ball_v_y = 0.2 self.draw.pack(side= update_ball_x_y(self,* update_ball_velocity(self,* self.scale_value = self.speed.get() * 0.1 (self.ball_x[index] > self.scaling_right) (self.ball_x[index] < self.ball_v_x[index] = -1.0 * (self.ball_y[index] > self.scaling_bottom) (self.ball_y[index] < self.ball_v_y[index] = -1.0 * n (round((self.ball_x[index] - self.ball_x[n])**2 + (self.ball_y[index] - self.ball_y[n])**2,2 temp_vx = temp_vy = self.ball_v_x[index] = self.ball_v_y[index] = self.ball_v_x[n] = self.ball_v_y[n] = get_ball_deltax(self,* deltax = (self.ball_v_x[index] * self.scale_value / self.ball_x[index] = self.ball_x[index] + get_ball_deltay(self,* deltay = (self.ball_v_y[index] * self.scale_value / self.ball_y[index] = self.ball_y[index] + moveBall(self,* deltax = deltay = self.draw.move(self.ball, % self.after(10 move_second_ball(self,* self.update_ball_velocity(1 deltax = self.get_ball_deltax(1 deltay = self.get_ball_deltay(1 self.draw.move(self.second_ball, % self.after(10 move_three_ball(self,* self.update_ball_velocity(2 deltax = self.get_ball_deltax(2 deltay = self.get_ball_deltay(2 self.draw.move(self.three_ball, % self.after(10 move_four_ball(self,* self.update_ball_velocity(3 deltax = self.get_ball_deltax(3 deltay = self.get_ball_deltay(3 self.draw.move(self.four_ball, % self.after(10 move_five_ball(self,* self.update_ball_velocity(4 deltax = self.get_ball_deltax(4 deltay = self.get_ball_deltay(4 self.draw.move(self.five_ball, % self.after(10 (self,master= Frame. self.after(10 self.after(10 self.after(10 self.after(10 self.after(10 game = game.mainloop()

========================================================

More reading,and english is important.

I'm Hongten

<pre ><span >大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。Hongten博客排名在100名以内。粉丝过千。Hongten出品,必是精品。

E | hongtenzone@foxmail.com  B | href="http://www.cnblogs.com/hongten" target="_blank">http://www.cnblogs.com/hongten

========================================================

总结

以上是内存溢出为你收集整理的python开发_tkinter_小球完全d性碰撞游戏_源码下载全部内容,希望文章能够帮你解决python开发_tkinter_小球完全d性碰撞游戏_源码下载所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1208275.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存