Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.04.2011, 17:23
DooMsssDaY DooMsssDaY вне форума
Прохожий
 
Регистрация: 15.04.2011
Сообщения: 13
Репутация: 10
Радость Интересная задача на Canvas))

Доброго времени суток! У меня тут задачка есть на биологическую тематику.
Есть Хищники, Травоядные и Растения. Каждые из них живут определённое количество циклов, также по истечении определённого времени хищники поедают травоядных, травоядные растения, а растения поедают хищников+травоядных(для каждого типа своё количество циклов и количество съеденных особей). Ещё все они производят на свет себе подобных. Всё это задаётся пользователем(длительность жизни, нужное время для размножения, время поедания других существ и так далее). + Все они занимаю начальную территорию(что тоже надо первоначально задать), которую надо изобразить через Canvas(хищники - красные квадратики, травоядные - синие, и Растения - зелёные).
Т.е. зада ча состаит в том, чтобы после всех заданных параметрах пользователь нажимал на кнопру(оно нажатие - один цикл) и видел весь процесс доменирования тех или иных существ.(т.е. прошло несколько циклов- кого нибудь съели, и один квадратик убавился, и также с рождением. )
На мой взгляд довольно трудно всё это воспринять, но если кого нибудь заинтересует, прошу писать на Mail (DooM8781@mail.ru).
Ответить с цитированием
  #2  
Старый 25.04.2011, 17:30
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Где-то я видел таккую задачу.
В чем у тебя сложность?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 25.04.2011, 18:02
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

очень на это похоже: Жизнь
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 26.04.2011, 11:42
DooMsssDaY DooMsssDaY вне форума
Прохожий
 
Регистрация: 15.04.2011
Сообщения: 13
Репутация: 10
Радость

Не, на "жизнь" это точно не похоже. Здесь суть в том, что бы посмотреть что произойдёт через,примерно 10 циклов(нажатия кнопки 10 раз).
А сделать я не могу сам потому что я очень не дружу с массивами(((. Да там наверно ещё и денамический надо использовать.
Даа, то условие которое я написал, очень трудно для понимания, но я уже не знаю как более корректно объяснить. Но если что то более менее понятно, задавайте вопросы, отвечу.
Ответить с цитированием
  #5  
Старый 26.04.2011, 11:47
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

1. Сделай полное описание жизненных циклов объектов (растения, травоядные, хишники).
2. Сделай полное описание взаимодействий между объектами (растения, травоядные, хишники).
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #6  
Старый 26.04.2011, 19:50
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Там далеко все не так просто. Скажем вот примерно такой базовый класс Организм:
Код:
TOrganizm = class
   private
    fName: String; // Собственно что за тварь
    fSpeed: Integer; // Максимальная скорость ее передвижения по миру
    fOld: Integer; //Текущий возраст - задается в днях
    fStartReproduction: Integer; // Когда она это самое могет
    fFinishReproduction: Integer; // Когда она уже это самое не может и грустит
    fMaxOld: Integer; //Максимальный возраст после которого грабки отбрасывает
    fMaxChilds: Integer; //Сколько потомков может настругать когда могет это самое
   public
    property Name: String read fName write fName;
    property Speed: Integer read fSpeed write fSpeed default 0;
    property Old: Integer read fOld write fOld default 0;
    property StartReproduction: Integer read fStartReproduction write fStartReproduction;
    property FinishReproduction: Integer read fFinishReproduction write fFinishReproduction;
    property MaxOld: Integer read fMaxOld write fMaxOld;
    property MaxChilds: Integer read fMaxChilds write fMaxChilds;
  end;
и описание так будет:
Код:
 with TOrganizm.Create
 do begin
    Name := 'Трава';
    Speed := 0;
    StartReproduction := 10;
    FinishReproduction := 20;
    MaxOld := 40;
    MaxChilds := 20;
    end;
 with TOrganizm.Create
 do begin
    Name := 'Кролик';
    Speed := 3;
    StartReproduction := 90;
    FinishReproduction := 720;
    MaxOld := 900;
    MaxChilds := 6;
    end;
А вот как задать кто кого кушает и при каких обстоятельствах я что-то не соображу.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 26.04.2011 в 19:55.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025