![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте, господа программисты! Нужна ваша помощь... Очень интересует один вопрос. Имеется массив, он отображается на форме и представляет собой сетку, каждый объект которой является "квадратом", закрашиваемым в тот или иной цвет... Т.е. программа представляет собой что-то аналогичное модели паникующей толпы, хотя далекой от нее, в плане реалистичности, но все же... Имеется массив 50*50 - сетка, в верху один выход (красный квадрат), а также квадратики зеленого цвета (как бы люди), которые расположены случайным образом и двигаются к выходу... Так вот, хочу сделать такую вещь, когда человек (зеленый квадратик) задерживается в одной позиции (допустим, если прошло 3 шага и более), то он как бы погибает - закрашивается в другой цвет (допустим, в синий) и остается этот квадрат на том самом месте (будучи уже синим) и не двигается.... И это как бы ко всем применимо чтобы было, чтобы в конце завершения шагов, можно было увидеть сколько клеток синих осталось, т.е. сколько людей погибло... Ну думаю суть идеи понятна... Просто, что-то никак не могу догнать, как это реализовать, счетчик как замудрить
... Помогите пожалуйста... Ниже исходник прилагается. |
|
#2
|
|||
|
|||
|
Ваш код не смотрел, но сделал бы так:
Пусть человек будет представлен классом. Он может иметь состояния: жив или помер. У него методы для перемещения по карте и некий внутренний счетчик. Если за ход он не переместился, то счетчик увеличивается, если счетчик достиг некоторого значения, то он умирает. Человек имеет свой метод для рисования, так что он будет сам себя рисовать нужным цветом |
|
#3
|
|||
|
|||
|
Цитата:
Ваша идея интересная, можно сказать, что я в принципе так и думал, что-то подобное... смысл так-то понял, но я не совсем понимаю как это реализовать, даже не знаю.... Может поможите как-то, глянете код, хоть чуток... Плиз(((( ![]() |