国产探花免费观看_亚洲丰满少妇自慰呻吟_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.小球在運動的過程中,有時候也有可能逃離畫布

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗平县| 中宁县| 芷江| 辽阳市| 南平市| 太康县| 台中市| 都昌县| 揭阳市| 金川县| 新宾| 桦南县| 安平县| 都江堰市| 思南县| 开原市| 会昌县| 赤水市| 吉木乃县| 紫金县| 丰台区| 化隆| 嘉义市| 马公市| 观塘区| 抚顺市| 阜南县| 舒兰市| 黄浦区| 双辽市| 新化县| 上饶县| 彩票| 封开县| 克山县| 邵阳市| 西乌珠穆沁旗| 鹤庆县| 汉中市| 三都| 成安县|