Skip to content

tyh94/university-ios-assignment-1-2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

iOS. Лабораторные работы 1,2

#Задание Грубая симуляция пищевой цепочки леса. Лесная флора и фауна: хищники, травоядные, трава. Нужно реализовать их иерархию и взаимоотношения с помощью классов и протоколов. Переопределить метод description для вывода в лог информации о созданных объектах.

Этап 1: Построение иерархии

  • Травоядное может слопать только траву. Хищники траву не едят.
  • Травоядное может прятаться (от хищников). Хищник может защищаться (от других хищников). "прячется" и "защищается" возвращает рандомное YES или NO.
  • Хищник может слопать травоядное если оно не прячется.
  • Один хищник может слопать другого хищника, если его вес не превышает вес первого и он не защищается.
  • Хищник в начале жизни получает 100 единиц собственных калорий, травоядное - 50, трава - 10.
  • От съеденной еды хищник получает к своим калориям половину калорий еды-жертвы.
  • От съеденной еды травоядное получает к своим калориям все калории еды-жертвы.

Этап 2: симуляция жизни

  • Общий лес (синглтон) в начале работы программы заполняется травами с произвольными названиями, хищниками с произвольными названиями и весом, травоядными с произвольным названием, все объекты помещаются в "жители леса". Должен быть как минимум один хищник.
  • "симулироватьДень" симулирует обычный день в обычном лесу - произвольное животное пытается съесть другой произвольный объект в лесу. В случае успеха объект пропадает из леса, помещается в желудок животному и хранится до конца работы программы.
  • Взаимоотношения объектов (кто кого может съесть) определяются в сущности “ПравилаЖизни”
  • Симуляция жизни леса происходит до тех пор пока не останется единственный хищник.

Бонус: Вывести в консоль содержимое его желудка рекурсивно.

About

university ios assignment 1-2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Objective-C 100.0%