Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 8
Всего онлайн: 8
Зарегистрировано юзеров: 7464
Комментариев на сайте: 665
Новый юзер: Monicagrefe



Последние комментарии
c
Ginaneula прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
[img]https://kapsuly-lipocarnit.ru/files/lipocarnit_1/img/product-head1.png[/img] [url=https://kapsuly-lipocarnit.ru/][img]https://karga.info/wp-content/uploads/2019/02/orig.jpg[/img][/url] Купить Липокарнит в Могилёве (Беларусь) через интернет-аптеку Функции Производитель: ООО "КоролевФарм" Форма выпуска: капсул Упаковка: полимер Объем: 72 г Срок действия: 2 года Доставка: почтой, курьером Оплата : наличными, карта Фотографии продукции Чтобы заказать Липокарнит, оставьте свои контактные данные в форме ниже, и мы свяжемся с вами как можно скорее. [url=https://kapsuly-lipocarnit.ru/]lipocarnit отзывы реальные[/url] - Мы обещаем полную анонимность. Ваши данные не будут переданы 3 людям. Внимание: внимательно проверьте введенный номер и не забудьте включить телефон, чтобы наш оператор мог с вами связаться. Левокарнитин для похудения Городская суета стимулирует постоянный стресс. Большинство людей не справляются с ними, они начинают компенсировать отвратительное настроение избытком соленой и высококалорийной пищи, что приводит к увеличению веса. Ожирение является предпосылкой других приобретенных заболеваний, таких как диабет, гипертония, склероз сосудистого русла, болезни сердца. Чтобы сохранить здоровье на долгие годы, вы должны иметь нормальный вес. Для этого есть комплекс Липокарнит. Что это за продукт Липокарнит - фармацевтический продукт, созданный российскими и швейцарскими учеными специально для лечения ожирения у пациентов с избыточным весом. Преимуществом продукта является стопроцентная натуральная композиция растительного происхождения, которая не подвергает организм чрезмерным нагрузкам при метаболизме его компонентов. Биологически активная добавка к пище доступна в форме капсул от производителя. Обмана нет Перед выпуском лечебного средства для продажи производитель выполнил медицинские тесты. Была взята контрольная группа клиентов, которые худели с помощью ежедневных физических нагрузок, правильного питания, различных органических добавок. Исследуемая группа не изменила привычного распорядка дня и образа жизни. Он просто воспринимал продукт Липокарнит. Динамика снижения веса один раз в день регистрировалась в дневнике. Данные контрольной группы были значительно ниже, чем в исследовании. Испытания и противопоказания для введения фармацевтического продукта По крайней мере, некоторые продукты имеют свои собственные ограничения на потребление. Пищевая добавка Липокарнит характеризуется небольшим перечнем противопоказаний. Отзывы Противопоказания Любая степень ожирения беременность; лактация; отвратительная переносимость фармацевтического продукта; аллергическая реакция на активные или вспомогательные компоненты препарата; Дефицит лактазы. Медицинские исследования не выявили побочных эффектов при введении биодобавки. Влияние [url=https://kapsuly-lipocarnit.ru/]липокарнит купить в могилеве[/url]а на организм Продукт положительно влияет на работу всех органов и систем пациента. Нормализует работу печени, восстанавливает ее клетки. Помогает очистить кишечный тракт, средство удаления накопившихся токсических веществ. Оказывает разрушительное действие на атеросклеротические бляшки артерий, что увеличивает их внутренний просвет. Благодаря этому эффекту улучшается питание органов и тканей, снижается риск инфаркта миокарда и инфаркта миокарда. Липокарнит снижает уровень холестерина и уровень сахара в крови. Биокомплекс повышает активность клеток мозговой ткани, ускоряет проведение нервных импульсов, улучшает память и общее самочувствие. Биоактивная добавка ускоряет клеточный метаболизм за счет истончения подкожного жира. В дополнение к этим эффектам липокарнит способен нормализовать гормональный фон организма человека. Препарат устраняет нарушение функции щитовидной железы. Многие женщины с историей гипотиреоза заметили улучшение своего общего состояния, укрепление ногтей, волос, нормализацию менструального цикла и отсутствие ночного пота при приеме Липокарнита. Состав и характеристика фармацевтического препарата Биокомплекс содержит три активных элемента. К ним относятся: липоевая кислота; L-корнитин; пиколинат хрома Основные эффекты биологических компонентов активной добавки компоненты Воздействие на организм ускоряет обмен веществ в клетках; подавляет всасывание обычных углеводов; разрушает жировые клетки, направляет энергию, выделяемую для восстановления силы тела; оказывает омолаживающее действие на кожу. облагораживает познавательные способности человека; стимулирует физическую активность пациента; снимает синдром приобретенной усталости; Способ введения энергии от расщепления жиров в конструкцию молекул белкового соединения ускоряет рост мышц. удаляет токсичные соединения, свободные радикалы, способ их абсорбции в кишечнике; снижает уровень сахара в крови; восстанавливает клетки мышечной и костной ткани. В совокупности эти три вещества выполняют регенеративную функцию для всех тканей организма. Примечание о введении биоактивных добавок Фармацевтический препарат следует употреблять потребителям с ожирением и избыточным весом по 1-2 капсулы 2 раза в день во время еды утром и вечером, запивая большим количеством воды. Вступительный курс составляет 1 месяц. Если результат не был достигнут, потребление Lipocarnitum может быть продолжено после 2-месячного перерыва. Перед введением препарата проконсультируйтесь с врачом. Не принимайте биологический комплекс самостоятельно. Где я могу найти Липокарнит Товар эксклюзивный, аналогов не имеет. В аптеке пт нет. Липокарнит можно приобрести только на нашем официальном сайте. Сейчас идет акция: фармацевтический продукт можно получить со скидкой 50% для всех посетителей. Рекламная продукция ограничена (осталось 60 упаковок). Поставщик имеет все необходимые лицензии и сертификаты для внедрения продукта. Посетите сайт производителя, закажите отличный продукт для похудения. Чтобы не покупать поддельный фармацевтический продукт, не покупайте биокомплекс в магазинах и других местах. Каждый пакет имеет свой уникальный код безопасности. Он может быть размещен на сайте производителя для проверки подлинности лечебного средства. Сколько стоит диетический продукт Общая стоимость липокарнита - 1980 руб. Цена лечебного средства со скидкой 50% составляет 990 рублей. Количество товара ограничено. Возьми комплекс по хорошей цене, сожги лишние килограммы, наслаждайся своей безупречной фигурой. Мы стараемся сделать все, чтобы вы не спали и были красивыми.
AshleyDuh прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
[img]https://kapsuly-lipocarnit.ru/files/lipocarnit_1/img/product-head1.png[/img] [url=https://kapsuly-lipocarnit.ru/][img]https://karga.info/wp-content/uploads/2019/02/orig.jpg[/img][/url] Липокарнит в Казани Аптека 24 г. [url=https://kapsuly-lipocarnit.ru/]липокарнит для похудения[/url] - Казань, ул. Энергетиков, 3, 7 (843) 205–57–99 Таттехмедфарм г. Казань, ул. Охранники, 31/42, 7 (843) 222–00–03 Сакура, аптека № 1 г. Казань, ул. Адоратского, 1а, 7 (843) 527–61–72 Приусадебный участок г. Казань, ул. Ричард Зорге, 57, 7 (843) 204–05–60 Вита Казань, ул. Декабристы, 131, 7 (843) 239–15–20 Аккуратная аптека Казань, Сибирский тракт, 22, 7 (843) 279–50–35 Последняя покупка: просто Сейчас 99 человек смотрят этот продукт Последняя покупка: просто Сейчас 99 человек смотрят этот продукт Приготовление натуральных ингредиентов Это не лекарство и пищевая добавка Доставка : от 99 руб. укажите оператор Платеж : наличные / карта при получении Липокарнит - правильный курс для естественной потери веса до 10 кг на курс Для 90% людей с великолепными формами похудение сравнимо с изощренными пытками инквизиции. Отказ от любимых блюд, строгий контроль аппетита, ежедневные изнурительные нагрузки и постоянное нервное напряжение до следующего взвешивания. До недавнего времени через него проходили все, кто осмелился избавиться от лишнего веса в виде жира на боку, животе, бедрах и других частях тела. Но такие методы помогают только 40% людей с избыточным весом, потому что очень часто причиной его набора является не недостаточная активность или переедание, а замедление метаболических процессов. Чтобы стать победителем в борьбе за гармонию, диетологи рекомендуют покупать Липокарнит - в Казани нет других средств для похудения, которые могут деликатно и безопасно разгонять обменные процессы и сжигать жировые отложения без потери здоровья. Что такое Липокарнит, состав продукта Препарат Липокарнит - это 100% органический продукт, состоящий из активных аминокислот, способствующих расщеплению жировых клеток. Выпускается в виде желатиновых капсул, внутри которых находится белый порошок. Их удобно принимать, а активные вещества всасываются в кишечнике, отвечают за всасывание органических аминокислот. Благодаря этому активные ингредиенты полностью усваиваются. В состав препарата входит: Липоевая кислота - это органическое вещество, участвующее в переработке глюкозы и других сахаров. При ее участии утилизируются метаболиты, потенциально опасные для клеток печени, а жировые ткани превращаются в энергию и воду.Липоевая кислота показана для использования профессиональными спортсменами для улучшения метаболических процессов и поддержания физической формы. Пиколинат хрома - органическое производное триптофана, способствует образованию мышечной массы и расщеплению жира. Полезным свойством соединения при похудении является ослабление аппетита. [img]https://kapsuly-lipocarnit.ru/files/lipocarnit_1/img/review-3.jpg[/img] L-карнитин - это органическая аминокислота, которая превращает жировую ткань в энергию и воду. Дополнительным полезным свойством этого вещества является снижение уровня холестерина в крови. Аминокислота подавляет всасывание жиров в кишечнике. Средство оказывает комплексное воздействие на организм: помогает уменьшить количество жира в организме и предотвращает его повторное накопление. Как работает [url=https://kapsuly-lipocarnit.ru/]липокарнит в аптеках казани[/url] Действие препарата сильно отличается от других препаратов для похудения. Препарат не создает чувства сытости, не изменяет процесс пищеварения, но в то же время помогает избавиться от жировых отложений. Это стало возможным благодаря уникальной способности Lipocarnitum перепрограммировать обмен энергии и обмен веществ в организме. Активные вещества сами по себе не влияют на жировые клетки. Они заставляют организм активизировать свои собственные ресурсы. Результат: разрушение мембран жировых клеток; Расщепление жира - энергия и вода высвобождаются; Энергия, получаемая от сжигания жира, направляется в жизненно важные органы. Эта короткая схема содержит естественный процесс, представленный природой, но по какой-то причине нарушенный. Возвращение в состояние, естественное для здорового организма, не проходит бесследно. На фоне снижения веса нормализуются артериальное давление, уровень глюкозы в крови и холестерина. Общее состояние организма улучшается, энергия увеличивается. При использовании Липокарнита нет необходимости менять привычки питания. Тренировки в тренажерном зале также необязательны. После недели приема препарата прилив энергии будет таким, что сам организм потребует повышенной активности. С курсом приема препарат не вызывает привыкания. Тело, настроившись на режим, необходимый для похудения, продолжает бороться с лишним весом самостоятельно. Эффект длится 60 дней. Как взять Несмотря на то, что Липокарнит не продается в аптеке в Казани, применение препарата следует проводить строго по инструкции. Нарушение описанных в нем правил потенциально опасно для здоровья. Липокарнит на завтрак и ужин принимайте по 1 или 2 капсуле в зависимости от исходного веса. Курс похудения длится 30 дней. За это время наблюдается потеря веса не менее 2 кг (при небольшом лишнем весе). У тучных людей с высокой степенью ожирения потеря веса достигает до 20 кг в месяц. При необходимости дальнейшего похудения курс повторяют через 60 дней, когда предыдущий теряет силу. Побочные эффекты и противопоказания При использовании в соответствии с инструкцией побочные эффекты после приема Липокарнита не возникают. Ему также не хватает серьезных противопоказаний. Препарат подходит для похудения у диабетиков и тех, кто испытал гормональные изменения. Единственная категория людей, которым противопоказано применение препарата - это беременные и кормящие женщины. В редких случаях после применения капсул индивидуальные реакции непереносимости возникают в виде: дискомфорт в кишечнике; сыпь на коже; n; [img]https://kapsuly-lipocarnit.ru/files/lipocarnit_1/img/review-2.jpg[/img] заложенность носа. При появлении симптоматических препаратов, назначенных лечащим врачом, это поможет. Купить Липокарнит Не рекомендуется приобретать капсулы для похудения данной марки в магазинах товаров для здоровья. Производитель не поставляет препарат в розничные сети. Вы можете заказать его только у официальных представителей в интернете.Это позволило гарантировать, что цена на Липокарнит в Казани соответствует заявленной производителем, поскольку нет торговых наценок. Кроме того, при покупке у дистрибьюторов, к которым относится Аптека-5, предоставляется 100% гарантия качества и подлинности товара. В Аптеке-5 вы можете заказать Липокарнит со скидкой, пока действует акция. Постоянным клиентам предоставляются дополнительные бонусы. Вы можете совершить покупку через корзину без регистрации или заказав обратный звонок менеджера. Инструкция по применению Прием препарата Липокарнит рекомендуется в течение 30 дней. Пить по 1 или 2 капсулы в день на завтрак и ужин. При необходимости курс повторяют через 2 месяца после окончания предыдущего.

Что такое "Змейка" и как с ней бороться?

Введение
Сразу отвечу на первый вопрос. "Змейка" это игра, в которой вы управляете полоской, набирая очки. Цель у игры одна: набрать наибольшее количество очков.

Как-то увидел я на сотовом телефоне эту игру, и уж очень мне захотелось написать точно такую же. В этой статье хочу рассказать, как написать "змейку". С какими проблемами можно столкнуться при создании "змеек". И попробую рассказать, как я их решал.

Сразу хочу сказать, что я пишу свою статью не для того, чтобы написать "Змейку", а только для объяснения алгоритма работы.

Поле действии "змейки" - массив
Начнем с того, что нам надо придумать то, по чем наша змейка будет двигаться. Лично я вижу всего два способа. Один - это когда змейка движется по абсолютно пустому пространству. Второй же способ - массив. Именно этот способ я выбрал в своем примере. Мне кажется, что при использовании массива открываются некоторые довольно приятные возможности, такие как создание карт, и, вместе с тем, при создании многопользовательской змейки будет удобнее делать проверки.

Из чего состоит "змейка"?
Прежде чем приступать к внутренности "змейки" давайте посмотрим как она движется.

Движение змейки можно рассмотреть с двух сторон:

Первая - это то, что конец змейки становится началом. Плюсы: нам легче будет прорисовывать. Нам не надо постоянно перерисовывать весь массив, нам надо всего лишь затереть конец змейки и нарисовать начало. Такой метод будет очень удобен при работе в DOS.

Минусы: у нас возникают проблемы с опознаванием первого и последнего элементов, а добавление нового элемента тоже будет немало проблем, при какой-либо ошибку у нас может потерятся часть змейки, поверьте в прошлом году при написании "змейки" на Pascal'е у меня было очень много таких "глюков", причем только в многопользовательской игре.

Вторая сторона - каждый элемент змейки становится на место предыдущего. Плюсы: мы всегда знаем, где какой элемент; добавление и удаление будут делаться буквально несколькими строками в коде; у нас ни в коем случае не может потеряться элемент, т.к. мы всегда знаем все.

Минусы: нам надо больше места в ОП для сортирования всех этих элементов.

Первый вариант, конечно же, проще, но при его использовании мы столкнемся с большим количеством проблем оговоренных выше. Второй вариант можно реализовать двумя способами (может и больше, но я не вижу других).

Первый - создать большой массив для змеи и хранить в нем все координаты. Плюсы: плюс один - простота.

Минусы: а когда у нас появится две змейки нам что делать два массива? а три? а четыре? Нет это совершенно не подходит, это занимает много места в ОП, и мы ограниченны длинной змейки. Существуют конечно функции для задания массива SetLength, но при ее использовании появляется ограничение на длину массива, всего 255.

Второй - создать динамическую структуру и в ней хранить все данный о конкретном элементе змейки. Плюсы: нам не надо большого количества памяти, мы под каждый новый элемент будем выделять еще память.

Минусы: нам надо будет больше писать (конечно это не самое главное, главное чтобы пользователь был доволен)

Не знаю как вам, а мне второй вариант больше нравится, потому его и реализуем.

Что нам стоит "змею" построить?
Мы уже решили, что элементы нашей "змейки" будут представлять динамическую структуру, тогда элемент змейки будет выглядеть следующим образом:

	type
	  TElem = ^TStek;	//объект не может ссылаться сам на себя
	  TStek = record
	    X: integer;		//координата по X 
	    Y: integer;		//координата по Y
	    View: Byte;		//вид этого элемента при прорисовке
	    Nomber: Word;	//номер элемента
	    Next: TElem;	//следующий элемент змейки
	    Prev: TElem;	//предыдущий элемент змейки
	  end;
	
Сама же змейка будет выглядеть следующим образом - это объект, у которого есть свойства цвет (много змеек - много цветов), длина (в принципе этот параметр можно не вводить, можно узнать длину по номеру последнего элемента, но пусть будет), направление (очень важный параметр, мы же должны знать, куда движется "змейка").

Направлений у нас будет всего 4 соответственно
	TDir = 1..4; //образованно от Direction

	TSnake = object
	  First: TElem;		//первый элемент змейки
	  Last: TElem;		//последний элемент змейки
	  Direction: TDir;	//направление змейки
	  Length: Word;		//длина змейки
	  Color: TColor;		//цвет змейки
	  constructor Create(sDirection: TDir; sLength: Word; sX, sY: Byte; sColor: TColor);
	  //процедура создания змеи
	  destructor Destroy;
	  //процедура уничтожения змеи

	  procedure Release;
	  //процедура, выводящая всю змею на массив (чтобы знать где расположена змея, вдруг
	  //будем вставлять алгоритм поиска пути или еще что в голову придет)

	  procedure Draw(Canvas: TCanvas); 
	  //отрисовывает змею на канвасе (на канвасе, потому, что пример не показывает работу
	  //с Win32API

	  procedure DrawElement(Elem: TElem; Canvas: TCanvas); 
	  //отрисовывает определенный элемент змеи

	  procedure Move(newX, newY: word); 
	  //двигает все элементы змейки на место предыдущего, а первый на новые координаты
	  //можно с помощью этой процедуры двинуть змейку вообще в какое-нибудь случайное
	  //место, а все элементы потом "телепортируются" туда
	  procedure Add;                     
	  //добавляет к змейке элемент (последний)
	  procedure Remove;              
	  //уничтожает элемент змейки (последний)

	  function GetByNomber(Nomber: Word): TElem; 
	  //находит элемент по номеру
	  function GetByCoord(X, Y: word): TElem;         
	  //находит элемент по координатам

	  //Вдруг да понадобится найти элемент с определенным номером или расположением

	  function SetDirection(sDirection: TDir): boolean;
	  //Устанавливает направление змейки
	  //Делается функцией, чтобы змейка не поехала в противоположную сторону

	  procedure SetView(sView: byte);  
	  //Устанавливает вид всей змеи (ну захотелось все змею сделать круглой - сделай!!!)
	end;
Наконец код
Функция создания змейки

При создании мы должны установить цвет, направление, длину, стартовые координаты. Чтобы сильно не мучаться, моя змейка создается в горизонтальном положении, а в процедуре задаются координаты конца.
	constructor TSnake.Create(sDirection: TDir; sLength: Word; sX, sY: Byte; sColor: TColor);
	var
	  i: integer;
	  Beg, Tek, Tek2: TElem;
	begin
	  if sDirection = 3 then Direction := 1 else Direction := sDirection;
	  Length := sLength;
	  Color := sColor;

	  First := nil;
	  Last := nil;

	//делаем проверку на правильное введение координат
	//проверяем, что не вышли за рамки массива
	  if (sX<1) or (sX>AMaxX) or (sY<1) or (sY>AMaxY) or ((sX+sLength)>AMaxX) then
	  begin
	    ShowMessage('Ошибка создания змейки');
	    exit
	  end;

	  if sLength=0 then begin ShowMessage('Ошибка создания змейки'); exit end;
	  new(Beg); //создаем первый элемент змейки

	  Beg^.X := sX + sLength; 	//координата по X - координата конца + длинна
	  Beg^.Y := sY;		 	//по Y все координаты одинаковые
	  Beg^.View := 0;		//вид самый простой
	  Beg^.Nomber := 1;		//номер естественно первый
	  Beg^.Next := nil;		//следующего элемента пока нет
	  Beg^.Prev := nil;		//предыдущего тоже

	  first := beg;			//запомнили первый элемент змейки
					//с этого момента в змейке есть первый элемент уррра!!! 

	  Tek := beg;			//текущий элемент - первый
	  if sLength-1 < 1 then exit;	//если длина 1 тогда ВСЕ


	  for i := 1 to (sLength-1) do begin //иначе начинаем

	    new(Tek2);  			//создаем новый элемент

	    Tek2^.X := Tek^.X - 1; 		//располагаем новый элемент левее
	    Tek2^.Y := Tek^.Y;   		//по оси Y все находятся одинаково
	    Tek2^.View := 0;     		//стартовый вид у всех одинаковый
	    Tek2^.Next := nil;   		//следующий элемент должен быть тот, который мы до этого 
	//создали
	    Tek2^.Prev := Tek;   		// предыдущего пока не существует

	    Tek2^.Nomber := Tek^.Nomber + 1; //прибавляем номер

	    Tek^.Next := Tek2;		//предыдущему ставим существование следующего
	    Tek := Tek2;			//текущий - вновь созданный
	    Last := Tek2;			//последний созданный элемент - это и есть последний 
	//элемент змейки
	  end;
	end;
Вот мы и создали нашу змейку. Теперь надо написать процедуру уничтожения, чтобы в памяти не осталось следов.
	destructor TSnake.Destroy;
	var Tek, Tek2: TElem;
	begin
	  Tek := First;
	  if tek = nil then exit; 		//вдруг змеи нет

	  while tek^.Next <> nil do begin
	    Tek2 := Tek.Next;
	    dispose(tek2);			//уничтожаем
	    tek := tek2;
	  end;
	end;
Далее рассмотри, как рисовать змейку.
	procedure Tsnake.DrawElement(Elem: TElem; anvas: TCanvas);
	var Rect: TRect;
	begin
	  Rect.Left := Elem.X * 5;
	  Rect.Top := Elem.Y * 5;
	  Rect.Bottom := Rect.Top + 5;
	  Rect.Right := Rect.Left + 5;

	  Canvas.Pen.Color := clBlack;
	  Canvas.Brush.Color := Color;
	  case Elem.View of
	  0: Canvas.Rectangle(Rect); 	//тут мы можем сделать и что-нибудь другое, например
	//кружочек вместо квадрата в зависимости от вида
	  end;
	end;
А теперь самое интересное. Рассмотрим функцию движения.

В змейке движение происходит следующим образом: Первый элемент передвигается согласно текущему направлению, а второй становится на место первого, третий на место второго и т.д. Значит, каждый элемент занимает место предыдущего кроме первого. Ну, так давайте это реализуем.
	function TSnake.Move(newX, newY: word): boolean;
	var 
	  tek: TElem;
	  tek2: TElem;
	begin
	  result := false;
	  if First = nil then exit;

	  tek := last;

	  if newX > AMaxX then newX := 1;
	  if newX < 1 then newX := AMaxX;
	  if newY > AMaxY then newY := 1;
	  if newY < 1 then newY := AMaxY;

	  Release;

	  if GameA[newX, newY] > 0 then result := true;

	  while tek^.Prev <> nil do begin
	    tek2 := tek^.Prev;		//предыдущий элемент
	    tek^.X := tek2^.X;		//координаты предыдущего
	    tek^.Y := tek2^.Y;		//элемента
	    tek^.View := tek2^.View;	//вид предыдущего
	    tek :=tek2;			//заново
	  end;

	  First^.X := newX;		//перемещаем начало
	  First^.Y := newY;		//на новые координаты
	end;
Далее надо каким-то образом добавлять и удалять у змейки элементы. Все просто надо просто добавить или удалить последние элемент.
	procedure TSnake.Add; //добавление
	var tek: TElem;
	begin

	  new(tek);		//создаем новый элемент
	  tek^.X := 0;		//координаты можно ставить любые,
	  tek^.Y := 0; 		//все равно при движении все встанет на свои места
	  tek^.Next := nil;	//следующего не существует (он последний)
	  tek^.Prev := Last;	//предыдущий - тот, который был последним
	  tek^.View := Last^.View;	//вид, как у предыдущего
	  tek^.Nomber := Last^.Nomber + 1;	//номер +1
	  Last^.Next := tek;	//новый последний элемент змейки

	  inc(length);		//незабываем увеличить длину

	  Last := Tek;

	end;

	procedure TSnake.Remove; //удаление
	var Tek: TElem;
	begin
	  if Last = First then exit; 	//не можем же мы удалить единственный элемент
					//что тогда у нас останется?
	  Tek := Last;
	  Last := tek^.Prev;
	  Last^.Next := nil;
	  Dispose(tek);

	  inc(length, -1);
	end;
Остальные функции и процедуры посмотрите в исходнике, т.к. они нам не понадобятся.

Создав форму в событии OnCreate, cтавим
	//обнуляем массив
	for i := 1 to AMaxX do
	for j := 1 to AMaxY do
	GameA[i, j] := 0;

	Buffer := TBitMap.Create;
	Buffer.Width := Form1.Width;
	Buffer.Height := Form1.Height;

	//создаем змейку
	Snake.Create(1, 5, 10, 10, clYellow);
	В событии OnDestroy пишем

	Snake.Destroy;
	В событии на таймер ставим

	//очистка канваса
	PatBlt(Buffer.Canvas.Handle,
	0,
	0,
	Buffer.Width,
	Buffer.Height,
	BLACKNESS);

	//согласно направлению двигаем змейку (на самом деле
	//это можно и организовать и в функцию Move, но я решил оставить так
	case Snake.Direction of
	1: Snake.Move(Snake.First.X + 1, Snake.First.Y);
	2: Snake.Move(Snake.First.X, Snake.First.Y + 1);
	3: Snake.Move(Snake.First.X - 1, Snake.First.Y);
	4: Snake.Move(Snake.First.X, Snake.First.Y - 1);
	end;

	Snake.Draw(Buffer.Canvas);

	BitBlt(Form1.Canvas.Handle, 0, 0, Form1.Width, Form1.Height, Buffer.Canvas.Handle,
	0, 0, SRCCOPY); //выводи на форму


Вот и всё, Удачи!

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 29 Октября 2013
Просмотров:


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.