'18.07.03
'Topic: [old message] Robottus Fisannis
/*******************************/
/* C. Fisanne, 24 january 2003 */
/*******************************/
/******************/
/* REPRODUCTION */
/******************/
cond
*.nrg
5000
>
start
50
.repro
store
stop
/******************************/
/* NO TARGET => CIRCLE SHAPE */
/******************************/
cond
*.eye1
0
=
*.eye2
0
=
*.eye3
0
=
*.eye4
0
=
*.eye5
0
=
*.eye6
0
=
*.eye7
0
=
*.eye8
0
=
*.eye9
0
=
start
4
.aimsx
store
2
.up
store
stop
/*************************************/
/* TARGET = different robot and far */
/* => firing & coming nearer */
/*************************************/
cond
*.eye5
0
>
*.eye5
41
<
*.refeye
60
<
*.refeye
0
!=
start
-1
.shoot
store
10
.up
store
stop
/*********************************************/
/* TARGET = different firing robot and near */
/* => to kill asap */
/*********************************************/
cond
*.eye5
0
>
*.eye5
40
>
*.refeye
60
<
*.refeye
0
!=
start
.dn
.shoot
store
10000
.shootval
store
stop
/**************************************/
/* TARGET = far VEG with enough nrg */
/* => firing & coming nearer */
/**************************************/
cond
*.eye5
0
>
*.eye5
41
<
*.refeye
0
=
*.refnrg
200
>
start
-1
.shoot
store
7
.up
store
stop
/**************************************/
/* TARGET = near VEG with enough nrg */
/* => only firing */
/**************************************/
cond
*.eye5
0
>
*.eye5
40
>
*.refeye
0
=
*.refnrg
200
>
start
-1
.shoot
store
stop
/****************************************/
/* TARGET = VEG with poor nrg and robot */
/* enough nrg to reproduct => go away ! */
/****************************************/
cond
*.eye5
0
>
*.refeye
0
=
*.refnrg
201
<
*.nrg
5500
>
start
100
.aimdx
store
stop
/*******************************/
/* TARGET = wall => go away ! */
/*******************************/
cond
*.eye5
0
>
*.refeye
0
=
*.refnrg
10000
=
start
600
.aimdx
store
stop
/************************/
/* TARGET = same robot */
/* => go away ! */
/************************/
cond
*.eye5
0
>
*.refeye
59
>
start
300
.aimsx
store
stop
/**********************************/
/* research of the best heading */
/**********************************/
/******* eye6 *********/
cond
*.eye6
0
>
*.eye5
0
=
start
22
.aimdx
store
stop
/******* eye4 *********/
cond
*.eye5
0
=
*.eye4
*.eye6
>
start
22
.aimsx
store
stop
/******* eye7 *********/
cond
*.eye5
0
=
*.eye7
*.eye6
>
*.eye7
*.eye4
>
start
45
.aimdx
store
stop
/******* eye3 *********/
cond
*.eye5
0
=
*.eye3
*.eye6
>
*.eye3
*.eye7
>
*.eye3
*.eye4
>
start
45
.aimsx
store
stop
/******* eye8 *********/
cond
*.eye5
0
=
*.eye8
*.eye6
>
*.eye8
*.eye4
>
*.eye8
*.eye7
>
*.eye8
*.eye3
>
start
75
.aimdx
store
stop
/******* eye2 *********/
cond
*.eye5
0
=
*.eye2
*.eye1
>
*.eye2
*.eye6
>
*.eye2
*.eye4
>
*.eye2
*.eye7
>
*.eye2
*.eye3
>
*.eye2
*.eye8
>
start
75
.aimsx
store
stop
/******* eye9 *********/
cond
*.eye5
0
=
*.eye9
*.eye6
>
*.eye9
*.eye4
>
*.eye9
*.eye7
>
*.eye9
*.eye3
>
*.eye9
*.eye8
>
*.eye9
*.eye2
>
start
95
.aimdx
store
stop
/******* eye1 *********/
cond
*.eye5
0
=
*.eye1
*.eye6
>
*.eye1
*.eye4
>
*.eye1
*.eye7
>
*.eye1
*.eye3
>
*.eye1
*.eye8
>
*.eye1
*.eye2
>
*.eye1
*.eye9
>
start
95
.aimsx
store
stop
/**********************************************/
/* IF the robot is shot and no robotic target */
/* => to aim the shooting robot */
/**********************************************/
cond
*.shdn
0
!=
start
630
.aimdx
store
stop
cond
*.shdx
0
!=
start
315
.aimdx
store
stop
cond
*.shsx
0
!=
start
315
.aimsx
store
stop
end