社区
Android
帖子详情
急求小鱼在水里自由游动算法
panzhiguo1008
2011-08-02 10:09:00
急求小鱼在水里自由游动算法,如多彩水族箱里面的鱼 自由游动
...全文
659
9
打赏
收藏
急求小鱼在水里自由游动算法
急求小鱼在水里自由游动算法,如多彩水族箱里面的鱼 自由游动
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhu071011
2012-10-29
打赏
举报
回复
太可惜了,我不小心把我以前写的那个自由移动的代码搞丢了。我的思路是,每次都为小鱼定一个移动的目标坐标。一旦到达目标坐标就重新随机一个新的目标坐标。随机出新的目标坐标后,将新目标与当前位置进行比较。如果发现x坐标或者y坐标比当前位置大,则执行“x或Y+=n”这样的操作,反之则执行“x或y-=n”这样的操作。这样做的好处是,小鱼高度自由,活动范围十分随机。因为不是所有的鱼都是到了鱼池边再转弯的。
GODloong
2011-08-04
打赏
举报
回复
package pan.move;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.os.Handler;
import android.view.View;
public class MovingPictureView extends View implements Runnable{
int left=0,top=0;
int dx=1,dy=1;
Handler handler;
Bitmap bitmap;
Bitmap bitmap2;
Boolean isRuning=true;
public MovingPictureView(Context context) {
super(context);
bitmap=((BitmapDrawable)getResources().getDrawable(R.drawable.icon)).getBitmap();
bitmap2=new BitmapFactory().decodeResource(getResources(), R.drawable.icon);
handler=new Handler();
new Thread(this).start();
}
protected void onDraw(Canvas canvas){
canvas.drawBitmap(bitmap, left, top, null);
canvas.drawBitmap(bitmap2,left,top,null);
}
@Override
public void run() {
// TODO Auto-generated method stub
while(isRuning){
dx=left<0||(left+bitmap.getWidth())>getWidth()?-dx:dx;
dy=top<0||(top+bitmap.getHeight())>getHeight()?-dy:dy;
left+=dx;
top+=dy;
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
invalidate();
}
});
try{
Thread.sleep(10);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}}
panzhiguo1008
2011-08-04
打赏
举报
回复
package pan.move;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
import android.os.Handler;
import android.view.View;
public class MovingPictureView extends View implements Runnable{
int left=0,top=0;
int dx=1,dy=1;
Handler handler;
Bitmap bitmap;
Bitmap bitmap2;
Boolean isRuning=true;
public MovingPictureView(Context context) {
super(context);
bitmap=((BitmapDrawable)getResources().getDrawable(R.drawable.icon)).getBitmap();
bitmap2=new BitmapFactory().decodeResource(getResources(), R.drawable.icon);
handler=new Handler();
new Thread(this).start();
}
protected void onDraw(Canvas canvas){
canvas.drawBitmap(bitmap, left, top, null);
canvas.drawBitmap(bitmap2,left,top,null);
}
@Override
public void run() {
// TODO Auto-generated method stub
while(isRuning){
dx=left<0||(left+bitmap.getWidth())>getWidth()?-dx:dx;
dy=top<0||(top+bitmap.getHeight())>getHeight()?-dy:dy;
left+=dx;
top+=dy;
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
invalidate();
}
});
try{
Thread.sleep(10);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}}
chaoliu1024
2011-08-02
打赏
举报
回复
通过随机数定位鱼的位置
dina656
2011-08-02
打赏
举报
回复
上面写错了 是周围8格。。。
dina656
2011-08-02
打赏
举报
回复
可以把水箱分成许多小格,每次移动到一个小格,每次随机获得一个小格,最好是获取周围9格的任一一格,如果小格出边界了,就再随机一次,或则直接选择对角的小格移动过去,这样的规则你可以自己规定。。
大掌教
2011-08-02
打赏
举报
回复
碰到边界的话就取随机数坐标作为目的地,用个动画移动到目的地就可以了
panzhiguo1008
2011-08-02
打赏
举报
回复
就是可以在水族箱里自由穿梭的鱼的算法代码, 那位大神抽空给我写个事例呀?! 不胜感激,就是说鱼游到边界的时候自己转过头然后随机选择方向继续游
lackl
2011-08-02
打赏
举报
回复
是随机定位位置还是定位鱼的下一个方向?
声呐技术:从物理原理到现代应用的深度解析
本文系统阐述声呐的物理基础,包括水下声波传播特性、反射与散射机制、多普勒测速及声呐方程建模;重点剖析主动/被动声呐工作机制差异,并深入介绍阵列波束形成、匹配滤波、脉冲多普勒处理和合成孔径声呐(SAS)等核心信号处理
算法
;强调其在海洋探测、水下工程、资源勘探与AI融合应用中的关键技术地位。
多智能体系统在环境保护中的应用:AI人工智能生态监测
传统环境监测存在效率低、易遗漏等问题,而多智能体系统(MAS)可实现立体协同监测。本文用通俗语言介绍多智能体系统、生态监测等核心概念,阐述协同感知、分布式决策等
算法
原理,给出数学模型,并通过代码案例展示如何搭建迷你多智能体生态监测系统。
天心大师漫谈热爱生命,乡土文学视角下AI赋能传统金鱼养殖的哲思实践
你看这缸水,就算传感器测出来的数据都在安全范围内,可我总觉得这条鱼今天游得不太对劲。这时候我会相信自己的直觉,把这条鱼单独捞出来看看。果然,可能真的有一点点小问题。养鱼的精髓,不在数据,在人心。AI是工具,不是主人。我们用它来观察、来记录、来预警,但最终的判断和照顾,还得靠咱们自己。”
LU分解:游戏开发中的高效计算魔法
LU分解是将复杂矩阵分解为下三角和上三角矩阵乘积的方法。在游戏开发中,它广泛用于物理模拟、动画骨骼求解、AI路径规划等场景,通过一次分解多次复用,高效稳定地求解线性方程组,显著降低计算复杂度,避免数值不稳定问题,保障游戏流畅运行。
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例电容充放电产生方波,再经积分器转成三角波,再经微分器转成方波proteus仿真资料
stm32单片机项目资料课程设计文档C语言程序代码原理图电路PCB实例电容充放电产生方波,再经积分器转成三角波,再经微分器转成方波proteus仿真资料
Android
80,488
社区成员
91,379
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章