Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Погрузитесь в логическую головоломку: откручивайте болты из планок на самых сложных уровнях! Вы не только расслабитесь в конце сложного дня, но еще и натренируете свой мозг, решая увлекательные задачки. Справитесь с ролью опытного мастера? Попробуйте свои силы в режиме онлайн бесплатно и без регистрации!

Головоломка. Болты и Гайки

Казуальные, Гиперказуальные, Головоломки

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Delphi

С этим тегом используют

Программирование Игры Помощь Разработка Инди игра Android Gamedev Все
144 поста сначала свежее
3
BoxAtBox
8 лет назад

Делаем залипалочку на FPC + Lazarus.⁠⁠

Хей. А давайте ка я вам напишу залипалочку, и расскажу по шагам как это сделать.

Будем мы писать это дело в Lazarus IDE и собирать компилятором FreePascal. На всякий случай, качается эта штука тут: http://www.lazarus-ide.org/index.php?page=downloads , но я рассчитываю на то, что вы уже знакомы хотя бы отдаленно с Delphi.

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

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

https://paste.ee/p/CmQHc

Пока мы закрасили форму черным, и наша задача писать в b такие значения, чтобы вышла залипалочка. Все, конец.


Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

Да не, шучу. Итак сделаем сначала шахматную доску 100*100 ячеек. Пишем:

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

https://paste.ee/p/uDMeW

На выходе шахматная доска:

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

Пока ничего примечательного. Что ж, давайте погоним волну по одному из ребер.

Для этого нам надо просто "двигать" координату перед передачей в делитель (j div 100) mod 2

Ну и поскольку это волна - то будем само собой двигать по синусу:

y := j;

y := y + 20*sin(i*0.1);

https://paste.ee/p/zKmqA

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

Но пока что волна статична, а мы собирались гнать её. Для этого нам нужно делать анимацию. Бросаем на форму таймер, ставим ему минимальный интервал, и на таймере просто зовем Invalidate;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Invalidate;

end;


Возвращаемся в OnPaint. Теперь нам тут нужно время. И желательно нормализованное (это такое, которое изменяется от 0 до 1 за N миллисекунд). Пусть интервал будет 2000 миллисекунд (это 2 секунды)

t := GetTickCount64;

tn := (t mod 2000) / 2000;

но это еще не все, дело в том, что это время имеет рывок, и оно будет резко скакать с 0 до 1. А нам нужно время, которое плавно перетекает из нуля в единицу и так же плавно обратно. Поэтому делаем "мякгое" время:

tnsoft := abs(tn - 0.5) * 2;

тут сначала мы смещаем tn, и он становится от -0.5 до 0.5. Далее с помощью abs мы замыкаем его. Теперь интервал будет плавно менятся 0.5 -> 0.0 -> 0.5. Ну и множим на 2, чтобы интервал стал 1.0 -> 0.0 -> 1.0

Теперь, когда мы имеем "плавное" время, можем поправить нашу функцию, сдвигающую y координату:

y := y + (tnsoft-0.5)*20*sin(i*0.1);

Да да, мы просто умножили амплитуду на это наше значение, переведя его в диапазон [-0.5;0.5)

https://paste.ee/p/U0BaA

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

Так, амплитуда меняется. Теперь давайте ка эти волны двинем вправо. Это легко, просто добавим сдвиг фаз от времени под синус (для идеальной зацикленности в gif-ках пришлось помножить на пи):

y := y + (tnsoft-0.5)*20*sin((i-t*0.1)*Pi*0.02);

https://paste.ee/p/bRK1p

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

Но пока еще недостаточно залипаловно. Давайте ка согнем горизонтальные волны типа как по параболе. Просто пишем:

y := y*i/200; перед тем как отправить в нашу функцию с синусом (еще я чуть увеличил амплитуду на синусе до 30)

https://paste.ee/p/b6b3R

Делаем залипалочку на FPC + Lazarus. Delphi, Залипалка, Математика, Гифка, Длиннопост

Ну вот. На первый раз хватит. Вот такими простенькими манипуляциями простенькая залипалочка готова.

Полный говнокод юнита с формой: https://paste.ee/p/Gbq2y

Специально для Пикабу, сугубо от нефиг делать. Спасибо за внимание.

Показать полностью 8
[моё] Delphi Залипалка Математика Гифка Длиннопост
3
Rattlhead
Rattlhead
9 лет назад

Программисты пикабу помогите⁠⁠

Изучаю delphi и сейчас столкнулся с проблемой, что надо изучить post запросы но ничего дельного найти не смог в интернете, все уроки уже устарели и не работают на новых сайтах. По этому прощу помощи в изучение данного материала, был бы очень благодарен если кто нибудь дал ссылку на статью (очень желательно на русском) или сам бы объяснил подробнее про post запросы.

Для минусов внутри, прощу не топить сильно.

Delphi Программирование Помощь Текст Post-запрос
43
STALERUM
9 лет назад

Обход лицензии программы через эмуляцию железа⁠⁠

Ввожу в курс дела.

Есть программа, которая покупается и устанавливается, при этом на каждом компьютере генерируется свой ключ (вероятно от железа компа). к этому ключу дается серийник, и получается, что программу можно запускать только на этом компе.


Как можно скопировать данные о системе, на которой устанавливался софт и перенести их на другой комп, чтобы программа там тоже запустилась? Иными словами, нужно съэмулировать на другом компе данные другого железа для этой программы.


Но как?

Эмуляция Железо Софт Лицензия Взлом Программа Delphi Текст
35
KickZot
9 лет назад

Посоветуйте книги по Delphi 7⁠⁠

Посоветуйте книги по Delphi 7
[моё] Delphi Программирование Обучающие материалы Книги
33
16
AdrenoGPU
AdrenoGPU
9 лет назад

Моя первая игра в Delphi⁠⁠

Моя первая игра в Delphi Игры, Программирование, Разработка, Проект, Delphi, Самоделки, Новичок

Цель игры - заполнить игровое поле одним цветом. Заполнение происходит с помощью изменения цвета квадратов. Изначально можно изменять цвет только первого квадрата, а потом можно менять цвет фракции соседних квадратов одного цвета.

Всего допускается делать 17, 20, или 22 хода, в зависимости от уровня сложности.

Ссылка на игру в комментариях.


З.Ы. Идея не нова. Уверен, многие из вас сталкивались с подобной игрой

Показать полностью 1
[моё] Игры Программирование Разработка Проект Delphi Самоделки Новичок
24
serega225
serega225
9 лет назад

Учусь программировать⁠⁠

Учусь программировать, вот пытался сделать текстовую игру, вопрос к опытным программистам, как упростить код?  А то я в этом дуб дубом. Ссылки оставлю, можете посмотреть.

Учусь программировать Delphi, Программирование, Программирование на delphi, Игры

Писал на Delphi.

Ссылки:

Игра: https://cloud.mail.ru/public/5C5H/ctpZ9NZen

Исходник: https://cloud.mail.ru/public/9u7n/xrJ4zDJYP


Не судите, что сюжет короткий и не очень. я только учусь.

Показать полностью 1
Delphi Программирование Программирование на delphi Игры
43
42
DELETED
9 лет назад

Нашел свою старую игру Суть игры пройти лабиринт при ограниченом радиусе зрения⁠⁠

Если вам понравиться то скину саму игру в коменты
Нашел свою старую игру  Суть игры пройти лабиринт при ограниченом радиусе зрения Если вам понравиться то скину саму игру в коменты
[моё] Игры Delphi Лабиринт Программирование
34
zrgp
zrgp
9 лет назад

Благодарность.⁠⁠

Введение книги: "Программирование в Delphi глазами хакера". Кстати говоря очень хорошая книжка. (Если уже было то простите)
Благодарность. Введение книги: "Программирование в Delphi глазами хакера". Кстати говоря очень хорошая книжка. (Если уже было то простите)
Delphi Благодарность Введение Автор Компьютер Программа
1
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии