duangsuse::Echo
719 subscribers
4.28K photos
130 videos
583 files
6.49K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
而且算法性能很不怎么样....
不过是完全手写的,每帧都是手写代码更新球的位置
Eclipse 开发的,不是 IDEA,但好像后来又用 IDEA 了
编码不是 UTF-8 没有做多平台兼容,路径是硬编码的会在 Linux 上因为表示不同而崩溃
不过很有意思
语言版本大概是 Java7,甚至也没用 ForEach,try 和 catch 基本在乱加...
代码风格一塌糊涂(各种命名约定、空格缩进都没搞好),但是至少有一个自己的边界碰撞+重力加速度算法,能够加分,虽然性能很差劲

性能差劲有一部分原因是每次 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 不想只会(而且现在还不会)PhysFS 或者 Bullet 什么的... 不过我好像还有别的事
HuaJi.zip
394.2 KB
我把它的物理引擎翻译成了 Crystal 版本...
duangsuse::Echo
想学习一下物理知识,duangsuse 不想只会(而且现在还不会)PhysFS 或者 Bullet 什么的... 不过我好像还有别的事
应该说代码质量很糟糕,甚至「Refactor Man」duangsuse 也一样糟糕(
但是物理算法值得学习,取其精华去其糟粕
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
应该说代码质量很糟糕,甚至「Refactor Man」duangsuse 也一样糟糕( 但是物理算法值得学习,取其精华去其糟粕
#TODO duangsuse 很希望自己以后有时间的时候可以自己写一个简单的 2D 物理引擎,然后会出一篇文档来记述如何编写 2D 物理引擎
Forwarded from Linux Update
The latest version of LibreSSL (2.7.3 -> 2.8.0) was released.
#blog #recommended
http://ice1000.org/2018/08/04/TypeSafePrintf/
类型安全的 printf 是如此之火,我也想写一个 🌚
Forwarded from duangsuse::Echo
typed_printf.cpp
3.2 KB
#PL #C 吃顿好的(从 USTC LUG 每周小聚公开文件拖来的
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
*/