国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python開發的小球完全彈性碰撞游戲代碼

2020-02-23 04:55:36
字體:
來源:轉載
供稿:網友

完成這個小球的完全彈性碰撞游戲靈感來自于:

下面是我花了一周下班時間所編寫的一個小球完全彈性碰撞游戲:

游戲初始化狀態:

最下面的游標和修改小球的移動速度

源碼部分:

代碼如下:
#python tkinter
#python version 3.3.2

from tkinter import *

'''
    判斷
    兩個小球
    {
        圓心:A(x1,y1)  半徑:r  X軸速度:Vax  Y軸速度:Vay
        圓心:B(x2,y2)  半徑:R  X軸速度:Vbx  Y軸速度:Vby
    }
    碰撞的條件是:
    1.兩個小球的圓心距離不大于兩小球半徑之和(r+R),即:
    {
        (x2 - x1)^2 + (y2 - y1)^2 <= (r + R)^2
    }
    2.小球碰撞后,兩小球的數度交換,即:
    {
        tempVax = Vax
        tempVay = Vay
        Vax = Vbx
        Vay = Vby
        Vbx = tempVax
        Vby = tempVay
        或:
        Vax = Vax + Vbx
        Vbx = Vax - Vbx
        Vax = Vax - Vbx
        Vay = Vay + Vby
        Vby = Vay - Vby
        Vay = Vay - Vby
    }

    游戲規則:
    五小球在畫布中移動,他們之間會產生碰撞,當然小球和上下左右都會產生碰撞
    碰撞后,小球會改變方向返回
    而最下面的游標則用于調節小球的移動速度,游標的范圍是[-100, 100]

    缺陷或BUG:
    1.在修改游標數據從而改變小球移動速度的時候,小球移動的距離得不到及時的更新
    導致小球可能會逃離畫布
    2.小球在運動的過程中,有時候也有可能逃離畫布

    總結:
    完成這個游戲,花了一個星期的下班時間。在這個過程中不僅回去學習了高中的數學知識,
    物理知識,很多東西都忘得差不多了,不過很快又學返回來了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔西| 肥乡县| 饶阳县| 成武县| 建德市| 漳浦县| 永顺县| 虹口区| 宜兰县| 梧州市| 册亨县| 宁化县| 汝州市| 昌吉市| 门源| 辛集市| 北京市| 师宗县| 永城市| 利津县| 尚义县| 揭阳市| 二手房| 绵竹市| 喀喇沁旗| 永福县| 景谷| 玛纳斯县| 西贡区| 东辽县| 长泰县| 龙岩市| 新密市| 黄冈市| 衡阳县| 青海省| 永善县| 柞水县| 怀远县| 东方市| 杭锦旗|