From d1e8794ecc6f837ee84e3a2a50bcca1ab3eaa565 Mon Sep 17 00:00:00 2001 From: Jérôme Jutteau Date: Fri, 3 Jun 2011 15:25:58 +0200 Subject: digital/io-hub: i like green (and tests) --- digital/io-hub/src/robospierre/element.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'digital/io-hub/src/robospierre/element.c') diff --git a/digital/io-hub/src/robospierre/element.c b/digital/io-hub/src/robospierre/element.c index ae84bd20..18a3e4bd 100644 --- a/digital/io-hub/src/robospierre/element.c +++ b/digital/io-hub/src/robospierre/element.c @@ -164,8 +164,11 @@ element_init () if (!((team_color == TEAM_COLOR_LEFT && (e.attr & ELEMENT_LEFT)) || (team_color == TEAM_COLOR_RIGHT && (e.attr & ELEMENT_RIGHT)))) { - e.bonus_load *= -1; - element_set (i, e); + if (e.bonus_load > 0) + { + e.bonus_load *= -1; + element_set (i, e); + } } } } @@ -771,3 +774,22 @@ element_blocking_path (vect_t a, vect_t b, int16_t ab) } return 0; } + +void +element_i_like_green () +{ + /* Negative bonus for the other green zone at start. */ + /* Do not touch last green emplacement. */ + int i; + for (i = ELEMENT_GREEN_START; i <= ELEMENT_GREEN_END - 2; i++) + { + element_t e = element_get (i); + if (!((team_color == TEAM_COLOR_LEFT && (e.attr & ELEMENT_LEFT)) || + (team_color == TEAM_COLOR_RIGHT && (e.attr & ELEMENT_RIGHT))) + && e.bonus_load < 0) + { + e.bonus_load = 10; + element_set (i, e); + } + } +} -- cgit v1.2.3