⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 efloy.java

📁 一个swarm的小程序
💻 JAVA
字号:
//
//	This code was written by Ariel Dolan
//	Site	http://www.aridolan.com
//	Email	aridolan@netvision.net.il
//
//	You are welcome to do whatever you wish with this code, as long as you
//	add appropriate credits.
//

import java.awt.*;

public class Efloy {

	EfloyParam params[];//参数的编码数组
	EfloyParam fixpars[];//固定参数的编码数组
	EfloyParam envpars[];//环境参数的编码数组

	String chrom;//染色体字符串
	String fixed;//固定值编码形成的字符串
	String environ;//环境变量编码形成的字符串

	int	width;//世界的宽度
	int	height;//世界的高度
	int	margin;//世界的边界
	int	v0;//初速度
	int	sleep;//CPU休息的时间

	int id;//当前的ID
	int	father;//父亲的ID
	int	mother;//母亲的ID
	int	type;//类型0为一般性,1为异己
	Color color;
	int	NumberOfNeighbors;//邻居数
	float MutationFactor;//变异参数
	float CrossoverFactor;//交叉参数


	float MaxSpeed;//最大速度
	float BounceSpeed;//反弹速度
	float ApproachAcceleration;//互相靠近时候的加速度
	float RetreatAcceleration;//互相远离时候的加速度
	float CenterAcceleration;//对中心的加速度

	float DistBrotherFactor;//朝向同类时候的加速率
	float DistStrangerFactor;//朝向异类时候的加速率
	float DistLocalFactor;//异类的加速率

	int	CollisionDistance;//碰撞的最小距离

	float CollisionBrotherFactor;//碰到同类时候的加速率
	float CollisionStrangerFactor;//碰到异类时候的加速率
	float CollisionLocalFactor;//碰撞异类的时候的加速率

	float MaxEnergyDose;//最大的能量增加值
	float MaxSafetyDose;//最大的安全度增加值
	float MaxCooperationDose;//最大的合作增加值

	int	fitness;//适应度
	int energy;//能量值
	int safety;//安全度
	int cooperation;//合作度
	float EnergyFactor;//能量的权重(计算适应度时候应用)
	float SafetyFactor;//安全度的权重(计算适应度时候应用)
	float CooperationFactor;//合作度的权重
	float SurviversFactor;//进行遗传操作的时候的幸存比率

	int PopulationSize;//一代的大小数值
	float FreeWillFactor;//重新获得随机邻居的概率
	int LifeSpan;//异己的最大能量值
	//float SafetyNormalizer;
	Efloy neighbors[];//邻居数组

	float x;//当前的坐标
	float y;
	float xtail;//尾巴的坐标
	float ytail;
	float vx;//速度向量
	float vy;
	float xc;//中心点坐标
	float yc;


	public Efloy(EfloyParam pr[], String cr, EfloyParam fp[], String fx,
		EfloyParam ep[], String ev) {

		//构建一个Efloy,其中传入的参数pr数组为一个数据结构记录了每

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -