Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
5dcd3d63
宇宙模拟器
项目概览
Python_超人
/
宇宙模拟器
通知
19
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
宇宙模拟器
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5dcd3d63
编写于
6月 28, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
b231dfab
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
5 deletion
+5
-5
sim_scenes/science/jupiter_protects_earth.py
sim_scenes/science/jupiter_protects_earth.py
+5
-5
未找到文件。
sim_scenes/science/jupiter_protects_earth.py
浏览文件 @
5dcd3d63
...
...
@@ -24,7 +24,7 @@ class JupiterProtectsEarthSim:
@param comet_num: 随机生成 comet_num 个石头
"""
self
.
colliding_count
=
[
0
,
0
,
0
,
0
]
# 分别保存太阳碰撞次数、木星碰撞次数、地球碰撞次数、木星保护次数
self
.
colliding_count
=
[
0
,
0
,
0
,
0
]
# 分别保存太阳碰撞次数、木星碰撞次数、地球碰撞次数、木星保护次数
self
.
sun
=
Sun
(
name
=
"太阳"
,
size_scale
=
0.8e2
)
# 太阳放大 80 倍,距离保持不变
self
.
jupiter
=
Jupiter
(
name
=
"木星"
,
size_scale
=
0.6e3
)
# 木星放大 600 倍,距离保持不变
self
.
earth
=
Earth
(
name
=
"地球"
,
size_scale
=
2e3
)
# 地球放大 2000 倍,距离保持不变
...
...
@@ -35,7 +35,7 @@ class JupiterProtectsEarthSim:
self
.
comets
=
[]
self
.
comet_radius
=
self
.
jupiter
.
position
[
2
]
*
2
self
.
comet_radius
=
self
.
jupiter
.
position
[
2
]
*
1.5
for
i
in
range
(
comet_num
):
# 随机生成 comet_num 个石头
...
...
@@ -52,8 +52,8 @@ class JupiterProtectsEarthSim:
# -radius * random.randint(120, 200) / 1000,
# -radius * random.randint(100, 300) / 100]
x
=
radius
*
math
.
cos
(
random
.
uniform
(
0
,
2
*
math
.
pi
))
*
random
.
randint
(
80
,
150
)
/
100
z
=
radius
*
math
.
sin
(
random
.
uniform
(
0
,
2
*
math
.
pi
))
*
random
.
randint
(
80
,
150
)
/
100
x
=
radius
*
math
.
cos
(
random
.
uniform
(
0
,
2
*
math
.
pi
))
*
(
random
.
randint
(
100
,
150
)
/
100
)
z
=
radius
*
math
.
sin
(
random
.
uniform
(
0
,
2
*
math
.
pi
))
*
(
random
.
randint
(
100
,
150
)
/
100
)
pos
=
[
x
,
0
,
z
]
# 随机速度
...
...
@@ -94,7 +94,7 @@ class JupiterProtectsEarthSim:
# 如果是否可见,则旋转石头
comet
.
planet
.
rotation
+=
comet
.
rotation
# 循环判断每个石头与木星是否相碰撞,如果相碰撞就爆炸
if
two_bodies_colliding
(
comet
,
self
.
jupiter
):
if
not
hasattr
(
comet
,
"jupiter_collided"
)
and
two_bodies_colliding
(
comet
,
self
.
jupiter
):
# 将石头隐藏、设置引力无效后,展示爆炸效果
# comet.explode(self.jupiter)
# 碰撞到木星,该石头不要爆炸,尝试看看是否会碰撞到地球,如果碰撞了地球,则“木星保护”统计加一
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录