代码风格一塌糊涂(各种命名约定、空格缩进都没搞好),但是至少有一个自己的边界碰撞+重力加速度算法,能够加分,虽然性能很差劲
性能差劲有一部分原因是每次
性能差劲有一部分原因是每次
Update() (人家除了 JavaFX/Swing 之类没有用任何框架)球位置算法对于每一个球都开一个线程实时维护计算位置... 我不知道有没有更好的方法了 😶double v;//球的速度,每1毫秒的移动的距离
double d;//球的运动角度,从其坐标顺时针计算
double av;//球的衰减加速度百分比
double gv;//向下加速度
double mg;//重力加速度
double ef;//弹力
double gva;//重力加速度计数器
static double fn=1000000;//空气阻力常数,越大阻力越小
static double kn=1;//弹力常数
static double G=300;//重力常数,越小重力越大
int r_l;//球的左右运动方向,左为-1,右为1,垂直纵向为0
int d_u;//球的上下运动方向,上为-1,下为1,垂直横向为0
static int room_width=MyFrame.width;//屏幕长
static int room_height=MyFrame.height;//屏幕宽
static int k=10;//运动刷新率
double g;//质量
gv=(v*k/Math.sin(Math.PI/180*90)*Math.sin(Math.PI/180*(d)));
ef=ef<(g/2)?0:ef;
mg=((g>gv&&y>room_height-l/2-35)?gv:g)*gva;
gva=mg>=g?y>room_height-l/2-35?1:gva+0.05:1;
y=y+(d_u*(gv+((d_u==1||ef!=0)?mg:-mg))-ef);
x=x+(r_l*(v*k/Math.sin(Math.PI/180*90)*Math.sin(Math.PI/180*(90-d))));
v*=av;
r_l=x<l/2?1:x>room_width-l/2-15?-1:r_l;
d_u=y<l/2?1:y>room_height-l/2-35?-1:d_u;
ef=y>room_height-l/2-35?gv*kn:0;
nowimg=nowimg>=img.size()-0.8?0:nowimg+(Math.random()/100);
duangsuse::Echo
想学习一下物理知识,duangsuse 不想只会(而且现在还不会)PhysFS 或者 Bullet 什么的... 不过我好像还有别的事
应该说代码质量很糟糕,甚至「Refactor Man」duangsuse 也一样糟糕(
但是物理算法值得学习,取其精华去其糟粕
但是物理算法值得学习,取其精华去其糟粕
duangsuse::Echo
应该说代码质量很糟糕,甚至「Refactor Man」duangsuse 也一样糟糕( 但是物理算法值得学习,取其精华去其糟粕
#TODO duangsuse 很希望自己以后有时间的时候可以自己写一个简单的 2D 物理引擎,然后会出一篇文档来记述如何编写 2D 物理引擎
duangsuse::Echo
#TODO duangsuse 很希望自己以后有时间的时候可以自己写一个简单的 2D 物理引擎,然后会出一篇文档来记述如何编写 2D 物理引擎
想到之前那个操作 Android AXML 的 Java 库还死在那里(🙈
Forwarded from duangsuse::Echo
typed_printf.cpp
3.2 KB
Forwarded from duangsuse::Echo
/*
* title: type safe printf
* author: nicekingwei
* related knowledge:
* - value and type
* value->value: function
* type->value: parametric polymorphism
* type->type: generic
* value->type: dependent type
* - auto
* - if constexpr
*/
Forwarded from duangsuse::Echo
Value and type:
value -> value: function
type -> value: parametric polymorphism
type -> type: generic
value -> type: dependent type
value -> value: function
type -> value: parametric polymorphism
type -> type: generic
value -> type: dependent type
但有粒子效果,我不知道是不是意味着就有一点物理计算功能(
Collision detection with collision box
Particle effects
Collision detection with collision box
Particle effects