Показать сообщение отдельно
  #8  
Старый 26.04.2011, 21:45
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Кто кого кушает - можно для каждого смотреть в N клеток вокруг, выбирать жертву (рандом) и соответственно производить нужные действия.
Например: хищник стоит на клетке (5;5), а на клетке (7,6) стоит травоядное. => хищник его видит и может съесть. Если не съел никого за M "ходов" - умер сам. Если лень считать точки, попадающие в окружность, можно "аппрокмимировать" повернутым на 45 градусов квадратом. А если совсем лень, то можно и не повернутым
Воспроизведение соответственно тоже, по заданному времени в соседней клетке появляется такой же.

потом можно добавить рандом, мол хищник не смог поймать травоядное, или травоядное подавилось растением. Еще можно например сделать чтобы если хищник съедает травоядного, то перемещается на его клетку. Или чтобы просто все периодически немного двигались, т.е. если существу из рандом(6) выпало счастливое число 0, то он на одну-две клетки куда-нибудь переезжает.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием