<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Всё о создании игр</title>
		<link>https://gcup.ru/</link>
		<description>Форум игроделов</description>
		<lastBuildDate>Sun, 21 Dec 2025 00:17:22 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://gcup.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>VB.Net загрузка файлов на HTTP сервер (WinForms)</title>
			<link>https://gcup.ru/forum/66-33465-1</link>
			<pubDate>Sun, 21 Dec 2025 00:17:22 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/66&quot;&gt;Программирование .NET&lt;/a&gt;&lt;br /&gt;Описание темы: Не могу реализовать загрузку файлов на HTTP сервер&lt;br /&gt;Автор темы: BlackFix&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Здравствуйте, &lt;br /&gt;&lt;br /&gt; Столкнулся с проблемой, возникла необходимость загрузки файлов на HTTP сервер (WinForms приложение). &lt;br /&gt; Пробовал связать через WebRequest с PHP но не получилось . &lt;br /&gt; Возможно ли сделать эту связку без обращения к скриптам сервера, если выставить права доступа на папку 0777? &lt;br /&gt;&lt;br /&gt; Такой вариант не прокатил (И не думаю что прокатит): &lt;br /&gt; &lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerITvPWN&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerITvPWN&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerITvPWN&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerITvPWN&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerITvPWN&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoilerITvPWN&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerITvPWN&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerITvPWN&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoilerITvPWN&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt; &lt;br /&gt; Dim client As New System.Net.WebClient() &lt;br /&gt; Dim strFile = &quot;http://127.0.0.2/engine/temp/uploads/1.jpg&quot; &lt;br /&gt; client.UploadFile(New Uri(strFile), Application.StartupPatch &amp; &quot;/screen.jpg&quot;) &lt;br /&gt; &lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt; &lt;br /&gt;&lt;br /&gt; Сервер выдал исключение 404 - файл не найден. &lt;br /&gt; Надеюсь на помощь.&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (10.07.2013, 23:01)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Проблема решена. Появилась новая проблема. Не хочет отправляться хедер в цикле...</content:encoded>
			<category>Программирование .NET</category>
			<dc:creator>BlackFix</dc:creator>
			<guid>https://gcup.ru/forum/66-33465-1</guid>
		</item>
		<item>
			<title>Адекватность написания скрипта на Python.</title>
			<link>https://gcup.ru/forum/79-104572-1</link>
			<pubDate>Thu, 24 Jul 2025 08:41:54 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Автор темы: Томахомэ&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 9</description>
			<content:encoded>Задался я, значить, задачей создать с нуля &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://disk.yandex.ru/d/jeiKy7YGazV8eQ&quot; title=&quot;https://disk.yandex.ru/d/jeiKy7YGazV8eQ&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;нейросеть-реставратор аудио&lt;/a&gt;. Поскольку сам за Питон не шарю, а &quot;змееводы&quot; и нейроинженеры на дороге не валяются, запросил помощи у Grok&apos;а, который у меня лично хорошо зарекомендовал себя своим умением довольно доходчиво объяснять смысл кода на это раз уже на старых добрых C и M68k ASM, и даже выдавать на них вполне осмысленные строки - понадеялся я на то, что с Питоном он ладит хотя бы примерно так же.&lt;br /&gt;Запрошенный мной скрипт &lt;b&gt;audio_autoencoder.py&lt;/b&gt; должен, вроде как, по логике вещей, обучать модель &lt;b&gt;AuRec&lt;/b&gt; на сравнении &quot;нормального&quot; звукового файла и его искусственно пошакаленной версии. В качестве &quot;аттестата зрелости&quot; для AuRec я выбрал &lt;b&gt;stage2.wav&lt;/b&gt; - рип одного из музыкальных треков игры &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=gaialast&quot; title=&quot;http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=gaialast&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Gaia: The Last Choice of Earth&lt;/a&gt;, где вся музыка существует только в виде угрёбищнейших ADPCM-сэмплов с частотой дискретизации 6060,(60). И если бы &lt;b&gt;AuRec&lt;/b&gt; заставила бы его звучать прилично - это однозначно свидетельствовало бы, что она как нейрореставратор состоялась.&lt;br /&gt;Однако, сколько бы материала для обучения я ей не подкидывал, при каждом применении скрипта &lt;b&gt;apply_audio_autoencoder.py&lt;/b&gt; файл &lt;b&gt;stage2_recover.wav&lt;/b&gt; всё так же один хрен мало того, что выдаёт какой-то шум, в котором исходник не узнаётся вообще, так ещё и короче последнего в несколько раз.&lt;br /&gt;&lt;br /&gt;Так вот, самая суть вопроса - хоть &lt;b&gt;audio_autoencoder.py&lt;/b&gt; с &lt;b&gt;apply_audio_autoencoder.py&lt;/b&gt; и производят впечатление конвенционально рабочих инструментов, не нуждаются ли они в обширных правках уже человеческими руками, и не генерят ли они просто-напросто мусор вместо того, чтобы обучать модель и применять её?</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>Томахомэ</dc:creator>
			<guid>https://gcup.ru/forum/79-104572-1</guid>
		</item>
		<item>
			<title>Помогите решить задачу по вычислению урона</title>
			<link>https://gcup.ru/forum/7-103892-1</link>
			<pubDate>Wed, 23 Jul 2025 05:33:45 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: Jlexa123&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 5</description>
			<content:encoded>1. Посох наносит фиксированный физический урон; &lt;br /&gt;2. К фиксированному урону добавляется бонус урона от текущего здоровья соперника (гоблина) в процентах;&lt;br /&gt;3. Также посох наносит дополнительный урон от огня;&lt;br /&gt;4. У гоблина есть сопротивление к огненному урону, которое выражено в процентах, поэтому часть урона от огня поглотится сопротивление;&lt;br /&gt;5. У гоблина есть броня, которая поглощает часть урона и уменьшает его.&lt;br /&gt;&lt;br /&gt;Сколько hp останется у гоблина после одного удара. Если число получится с десятичной частью, округли его в большую сторону (например если получилось 333,03 значит округленным значением будет 334).&lt;br /&gt;&lt;br /&gt;Известны характеристики моба:&lt;br /&gt;Здоровье 464&lt;br /&gt;Броня моба, которая дает дополнительную защиту в размере 249, а также бонус к сопротивлению огненным предметам 32%.&lt;br /&gt;&lt;br /&gt;Характеристики посоха:&lt;br /&gt;Предмет огненный&lt;br /&gt;Физический урон 203 + 11% от здоровья персонажа + при ударе накладывает эффект горения, который наносит 381 урона. &lt;br /&gt;&lt;br /&gt;Ответы 199.88, 198,199,200,201,251,252,300,301 - неправильные.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Jlexa123</dc:creator>
			<guid>https://gcup.ru/forum/7-103892-1</guid>
		</item>
		<item>
			<title>Процедурная анимация - как? Реализм в стиле Detroit: BH</title>
			<link>https://gcup.ru/forum/7-104932-1</link>
			<pubDate>Wed, 23 Jul 2025 05:29:52 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: demoscene&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Для начала самый простой пример.&lt;br /&gt;Я кликаю мышкой на тарелку. Персонаж должен подойти, нагнуться и взять тарелку.&lt;br /&gt;Но время, затраченное на приближение к тарелке, должно быть минимальным.&lt;br /&gt;При сохранении гладкости анимации. Чем дальше сейчас тарелка, тем шире персонаж будет расставлять ноги.&lt;br /&gt;При приближении к тарелке всё менее и менее широко.&lt;br /&gt;Известно, что АИ трудно заставить даже стоять ровно.&lt;br /&gt;Ручную анимацию можно залить как отдельные кадры, морфинг через glUniform.&lt;br /&gt;Но я хотел, чтобы игру было невозможно пройти дважды одинаково.&lt;br /&gt;----&lt;br /&gt;Более сложный пример. Идёт сим потихоньку, и я РАЗ - хватаю его мышкой и тащу.&lt;br /&gt;Его реакция? Хоть бы реалистично дёргался.&lt;br /&gt;----&lt;br /&gt;Сим играет в шахматы, и вдруг появляется Ктулху.&lt;br /&gt;Что делает сим? Бежит прочь с криком? Звонит 112? Или мочит Ктулху кулаками?&lt;br /&gt;На каком основании осуществляется выбор?&lt;br /&gt;----&lt;br /&gt;Сим хочет купить диван. Я не нянька. Пусть сам идёт и покупает.&lt;br /&gt;Но, он должен выбрать диван, по цвету подходящий к обстановке комнаты. Вот как?&lt;br /&gt;----&lt;br /&gt;Как симы реагируют на щекотку? Беру инструмент &quot;Пёрышко&quot;...&lt;br /&gt;----&lt;br /&gt;typedef struct{&lt;br /&gt;int x;&lt;br /&gt;int y;&lt;br /&gt;int z;&lt;br /&gt;//???!!!&lt;br /&gt;}sim;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>demoscene</dc:creator>
			<guid>https://gcup.ru/forum/7-104932-1</guid>
		</item>
		<item>
			<title>Защита процесса. Защита файла</title>
			<link>https://gcup.ru/forum/62-28210-1</link>
			<pubDate>Tue, 22 Jul 2025 21:01:00 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Описание темы: Создание защиты для неигрового проекта&lt;br /&gt;Автор темы: fireday&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 29</description>
			<content:encoded>Всем доброго времени суток! &lt;br /&gt; Программа для мониторинга компьютеров в учебные заведения. &lt;br /&gt; Программа будет ставиться официально, т.е. прятать ее процесс и т.п. не надо, хотя, как защиту можно использовать. &lt;br /&gt; Система клиент-сервер. Надо защитить клиент - процесс от закрытия, а файл от удаления. &lt;br /&gt; Защита нужна дабы школьники не потерли софтину (клиент). &lt;br /&gt; На компьютерах учеников нету прав Админа. &lt;br /&gt; пишу на visual basic 6.0 &lt;br /&gt; =========== &lt;br /&gt; Какие есть идеи? &lt;br /&gt; У меня пока такие: &lt;br /&gt; От удаления: для начала сделать файл скрытым и системным. &lt;br /&gt; От удаления защитить открытием файла на запись, но вот открыть работающий ехе-шник не получится.. Да и отцепить файл можно, тем же анлокером, да прибить. &lt;br /&gt; В то же время запущенный файл тоже не удалить. И даже если запускать при закрытии заново, все равно пряморукие смогут снести. &lt;br /&gt; Для защиты от закрытия процесса - сделать дополнительный процесс, который следит за первым. Если он обнаруживает что первого процесса нету, то, например, ребутит ПК или запускает процесс заново. &lt;br /&gt; Для защиты второго процесса первый ведет аналогичную деятельность. &lt;br /&gt; Но это может быть накладно в плане производительности (постоянно получать список процессов, искать в них нужный). &lt;br /&gt; По этому думаю внедрить библиотеку в критически важный системный процесс. И что бы эта библа следила за работой программы. &lt;br /&gt; В принципе как внедрять библу знаю, но на деле возникают накладки. Получается инжект тольк в себя. &lt;br /&gt;&lt;br /&gt; п.с. Так же по поводу чтения файлов. Я сделал так, отдельная библа длл читает из файла/реестра, что бы не палить пути в поцессе. &lt;br /&gt; Поможет ли это от пряморуких? &lt;br /&gt; п.п.с. Клиент не консольный, а оконный, по этому заинжектить клиент в виде библы в процесс не вариант.</content:encoded>
			<category>C/C++</category>
			<dc:creator>fireday</dc:creator>
			<guid>https://gcup.ru/forum/62-28210-1</guid>
		</item>
		<item>
			<title>Непонятно почему такие координаты.</title>
			<link>https://gcup.ru/forum/62-103720-1</link>
			<pubDate>Tue, 22 Jul 2025 20:48:23 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: afq&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Может кто нибудь даст идею какую нибудь?&lt;br /&gt;&lt;img src=&quot;https://i.imgur.com/9MRiPfH.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;кликаю в конец экрана по горизонтали. показывает такие координаты.&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;!!!! 1548,413940 349,770935; 3144 1334; widget: 824 600&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;сам код.&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(key-&gt;type == GDK_BUTTON_PRESS &amp;&amp; key-&gt;button == 1&amp;#41; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double x = key-&gt;x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double y = key-&gt;y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int w, h;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gtk_widget_get_size_request(GTK_WIDGET(self&amp;#41;, &amp;w, &amp;h&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&quot;!!!! %f %f; %d %d; widget: %d %d&amp;#92;n&quot;, x, y, scene_width, scene_height, w, h&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;по x координате получается меньше чем scene_width в два раза, но больше чем размер виджета в два раза. scene_width получаем при сигнале resize для получения размера для рисования opengl.</content:encoded>
			<category>C/C++</category>
			<dc:creator>afq</dc:creator>
			<guid>https://gcup.ru/forum/62-103720-1</guid>
		</item>
		<item>
			<title>Как преобразовать строку времени в тип std::filesystem::file</title>
			<link>https://gcup.ru/forum/62-104121-1</link>
			<pubDate>Tue, 22 Jul 2025 20:39:43 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: Goga_77&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Здравствуйте.&lt;br /&gt;Есть строка, в которой задано время &quot;22.08.2023 17:07&quot;&lt;br /&gt;Нужно сравнить с временем возвращенным функцией std::filesystem::last_write_time() в цикле.&lt;br /&gt;Видимо нужно преобразовать строку &quot;22.08.2023 17:07&quot; в тип std::filesystem::file_time_type&lt;br /&gt;Подскажите, можно ли это как то сделать?</content:encoded>
			<category>C/C++</category>
			<dc:creator>Goga_77</dc:creator>
			<guid>https://gcup.ru/forum/62-104121-1</guid>
		</item>
		<item>
			<title>Создание собственной узконаправленной нейронки с нуля.</title>
			<link>https://gcup.ru/forum/79-104570-1</link>
			<pubDate>Fri, 13 Jun 2025 07:40:04 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Автор темы: Томахомэ&lt;br /&gt;Автор последнего сообщения: PapeyChayu&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Функция - снятие в формате .pth стиля конкретного автора с пакета его работ и конвертация в этот стиль других изображений. Примерно как это делает &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main&quot; title=&quot;https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;RVC&lt;/a&gt; с голосами.</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>Томахомэ</dc:creator>
			<guid>https://gcup.ru/forum/79-104570-1</guid>
		</item>
		<item>
			<title>Прокси под любые задачи. Персональные, Ротационные, UDP, Sha</title>
			<link>https://gcup.ru/forum/66-104284-1</link>
			<pubDate>Sun, 23 Jun 2024 16:03:04 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/66&quot;&gt;Программирование .NET&lt;/a&gt;&lt;br /&gt;Автор темы: FMarry&lt;br /&gt;Автор последнего сообщения: FMarry&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;b&gt;&lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://ibb.co/jwLtF88&quot; title=&quot;https://ibb.co/jwLtF88&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://i.ibb.co/SmKSp66/proxy-server-900-600.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Прокси под любые задачи. Персональные, Ротационные, UDP, Shared. &lt;br /&gt;&lt;br /&gt;Если прокси вам не подойдут вернем деньги в течении 24 часов. &lt;br /&gt;&lt;br /&gt;Бесплатный тест прокси в течении 60 минут.&lt;br /&gt;&lt;br /&gt;Всегда вам рады наш сайт &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://proxyelite.biz/ru/&quot; title=&quot;https://proxyelite.biz/ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;proxyelite.biz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Наш сервис работает 24 часа в сутки 7 дней в неделю. &lt;br /&gt;&lt;br /&gt;Работаем с 2012 года без сбоев Uptime 99,8%.&lt;br /&gt;&lt;br /&gt;Наши прокси серверные и не перестанут работать на следующий день.&lt;br /&gt;&lt;br /&gt;А будут работать именно столько на сколько куплен ваш пакет прокси.&lt;br /&gt;&lt;br /&gt;Прокси - проксям - рознь&lt;/b&gt;</content:encoded>
			<category>Программирование .NET</category>
			<dc:creator>FMarry</dc:creator>
			<guid>https://gcup.ru/forum/66-104284-1</guid>
		</item>
		<item>
			<title>Выбрать встраиваемый интерпретатор для браузерной игры</title>
			<link>https://gcup.ru/forum/7-104258-1</link>
			<pubDate>Thu, 09 May 2024 10:16:27 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: al_mt&lt;br /&gt;Автор последнего сообщения: al_mt&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>У мну маленькая идея, игры &quot;для программистов&quot;&lt;br /&gt;В ней надо писать небольшые скрипты для управления ботами. Тащем-то типовая задача, но хотелось бы чтобы:&lt;br /&gt;а) Игра была браузерной&lt;br /&gt;б) Разумеется скрипт должен исполняться безопасно&lt;br /&gt;&lt;br /&gt;Я такие вещи делал для десктопных проектов, а вот для браузерных - нет.&lt;br /&gt;Пока нашел lua.js но может кто поможет советом большей рациональности?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>al_mt</dc:creator>
			<guid>https://gcup.ru/forum/7-104258-1</guid>
		</item>
		<item>
			<title>как изменить формулы?</title>
			<link>https://gcup.ru/forum/79-104235-1</link>
			<pubDate>Sat, 30 Mar 2024 19:39:18 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Описание темы: можно ли как-то из формул убрать защиту мобов?&lt;br /&gt;Автор темы: kotiklinok&lt;br /&gt;Автор последнего сообщения: kotiklinok&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>комьюнити игры Rucoy Online методом проб и ошибок вывели формулы, которым следует игра. Формулы очень точны и выполняют свои задачи. С использованием этих формул уже создано несколько ботов, сайт и еще много чего, но лично мне чего-то не хватает. дело в том, что почти везде используется защита мобов, но чтобы найти нужного моба для взятия его защиты необходимо перебрать всех мобов и сначала найти нужного. я хотел бы узнать можно ли как-то из формул убрать защиту мобов. это поможет написать мне бота для дискорда.&lt;br /&gt;&lt;br /&gt;real_stat = stat + buffs&lt;br /&gt;&lt;br /&gt;min_raw_damage = (real_stat * weapon_atk) / 20 + lvl / 4&lt;br /&gt;max_raw_damage = (real_stat * weapon_atk) / 10 + lvl / 4&lt;br /&gt;max_raw_crit_damage = max_raw_damage * 1.05&lt;br /&gt;&lt;br /&gt;min_damage = max(min_raw_damage - mob_defense, 0)&lt;br /&gt;max_damage = max(max_raw_damage - mob_defense, 0)&lt;br /&gt;max_crit_damage max_damage * 1.05&lt;br /&gt;&lt;br /&gt;accuracy = (max((max_damage / (max_raw_damage - min_raw_damage)), 0) * 0.99) + (min(1.00, (max_crit_damage / (max_raw_crit_damage - max_raw_damage))) * 0.01)&lt;br /&gt;tickrate = int(3600 * (1.0 - (1.0 - accuracy) ** 10))&lt;br /&gt;какой у игрока тикрейт можно узнать с помощью команды в самой игре &lt;br /&gt;&lt;br /&gt;average_damage = accuracy * (0.99 * ((max_damage + min_damage) / 2)) + 0.01 * ((max_crit_damage + max_damage) / 2)&lt;br /&gt;time_to_kill = mob_health / average_damage&lt;br /&gt;&lt;br /&gt;на данный момент я пишу команду для бота для поиска самого эффективного трена. если accuracy выше 0.1749, то тренировку на этом мобе можно считать эффективной, но из-за того, что в расчетах с самого начала используется защита, приходится перебирать каждую группу мобов, чтобы найти необходимого. Я не надеюсь что здесь мне помогут, но все же не спросить будет хуже, чем спросить и не получить ответа&lt;br /&gt;&lt;br /&gt;все имена переменных взяты у первого бота, что использовал формулы. Если есть идеи как их лучше всего назвать - пишите. &lt;br /&gt;если я написал не в том разделе - не пишите это. Лучше скажите где мне написать со своей проблемой.</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>kotiklinok</dc:creator>
			<guid>https://gcup.ru/forum/79-104235-1</guid>
		</item>
		<item>
			<title>FORTH</title>
			<link>https://gcup.ru/forum/67-92106-1</link>
			<pubDate>Wed, 27 Mar 2024 10:11:19 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/67&quot;&gt;Низкоуровневое программирование&lt;/a&gt;&lt;br /&gt;Автор темы: Gudleifr&lt;br /&gt;Автор последнего сообщения: hi-aga&lt;br /&gt;Количество ответов: 9</description>
			<content:encoded>По нелепой ошибке FORTH на Форуме отнесен к скриптовым языкам. Ну, да ладно...&lt;br /&gt;Просто, как хозяин практически единственного русскоязычного FORTH-ресурса - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?http://www.gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=g9.txt&quot; title=&quot;http://www.gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=g9.txt&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;FOBOS&lt;/a&gt;, предлагаю здесь задавать FORTH-вопросы, буде таковые возникнут.</content:encoded>
			<category>Низкоуровневое программирование</category>
			<dc:creator>Gudleifr</dc:creator>
			<guid>https://gcup.ru/forum/67-92106-1</guid>
		</item>
		<item>
			<title>Пару вопросов по Java</title>
			<link>https://gcup.ru/forum/65-39998-1</link>
			<pubDate>Mon, 25 Dec 2023 09:27:54 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/65&quot;&gt;Java&lt;/a&gt;&lt;br /&gt;Описание темы: Ответьте, если не трудно...&lt;br /&gt;Автор темы: Диггер&lt;br /&gt;Автор последнего сообщения: al_mt&lt;br /&gt;Количество ответов: 12</description>
			<content:encoded>Всем доброго времени суток! Хотел начать изучать C#, но, прочитав пару статей, решил, что скачивать .NetFramework для запуска приложения не всем понравится (пользователи Windows 7 могут не жаловаться). Вот по тому пару вопросов по Java: &lt;br /&gt; 1. На какие платформы можно писать Java-программы. И можно ли на нем писать веб-приложения. Например приложения ВКонтакте? &lt;br /&gt; 2. Нужно-ли скачивать что-нибудь для запуска Java-приложений в ОС Windows и Linux По аналогии с C#. &lt;br /&gt; 3. Подходит-ли Java для написания игр для Windows, Linux или Web-игр? &lt;br /&gt; Я думаю не перевелись на Руси великие программисты. Надеюсь на их помощь.</content:encoded>
			<category>Java</category>
			<dc:creator>Диггер</dc:creator>
			<guid>https://gcup.ru/forum/65-39998-1</guid>
		</item>
		<item>
			<title>Как сделать рандомный генератор мира на java?</title>
			<link>https://gcup.ru/forum/65-41011-1</link>
			<pubDate>Thu, 21 Dec 2023 08:18:33 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/65&quot;&gt;Java&lt;/a&gt;&lt;br /&gt;Автор темы: StupidNickName&lt;br /&gt;Автор последнего сообщения: al_mt&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Я хочу написать бесконечный платфомер, а для этого надо рандомный генератор мира. Кто поможет его написать?</content:encoded>
			<category>Java</category>
			<dc:creator>StupidNickName</dc:creator>
			<guid>https://gcup.ru/forum/65-41011-1</guid>
		</item>
		<item>
			<title>Как сделать ввод типу int?</title>
			<link>https://gcup.ru/forum/65-33780-1</link>
			<pubDate>Wed, 20 Dec 2023 16:27:15 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/65&quot;&gt;Java&lt;/a&gt;&lt;br /&gt;Описание темы: +5 репутация от моих основ, тому кто ответить&lt;br /&gt;Автор темы: javaGO&lt;br /&gt;Автор последнего сообщения: cyBEERkotleta&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Ввод должен быть таким: пользователь нажмет на цифру и жмет ЕНТЕР. Я новичок и по этому покажите полный код. И так включаем библиотеку классов import java.io*; &lt;br /&gt; потом какие коды надо писать? &lt;br /&gt;&lt;br /&gt; (я умею делать ввод символов типа String ) &lt;br /&gt; за ранее спасибо!</content:encoded>
			<category>Java</category>
			<dc:creator>javaGO</dc:creator>
			<guid>https://gcup.ru/forum/65-33780-1</guid>
		</item>
		<item>
			<title>Изменение размеров RelativeLayout</title>
			<link>https://gcup.ru/forum/65-42889-1</link>
			<pubDate>Wed, 20 Dec 2023 16:18:35 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/65&quot;&gt;Java&lt;/a&gt;&lt;br /&gt;Автор темы: Angry&lt;br /&gt;Автор последнего сообщения: cyBEERkotleta&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Здравствуйте! Столкнулся с небольшой проблемой при переносе приложения на Android. &lt;br /&gt;&lt;br /&gt; Есть RelativeLayout, на нем расположены элементы. При свайпе размер RelativeLayout уменьшается, при этом положение и размеры элементов, также изменяется. &lt;br /&gt; Нужно сделать, чтобы они как-бы были статичны, при изменении не меняли положение и размер. &lt;br /&gt;&lt;br /&gt; Может кто-то подсказать?</content:encoded>
			<category>Java</category>
			<dc:creator>Angry</dc:creator>
			<guid>https://gcup.ru/forum/65-42889-1</guid>
		</item>
		<item>
			<title>Как JS-скрипт запустить в нужный момент?</title>
			<link>https://gcup.ru/forum/79-104178-1</link>
			<pubDate>Wed, 29 Nov 2023 13:25:03 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Описание темы: jQuery&lt;br /&gt;Автор темы: GameDev2&lt;br /&gt;Автор последнего сообщения: GameDev2&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>Допустим, у меня есть JS-скрипт &quot;Падает снег&quot;, который подключался на постоянное воспроизведение:&lt;br /&gt;&lt;br /&gt;&lt;script src=&quot;scripts/snow.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Как сделать, чтобы он не постоянно шёл, а запускался, например, когда выходит всплывающее окно, например.&lt;br /&gt;&lt;br /&gt;Как-то нужно обрамить код с переменной? И как-то менять её - как?</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>GameDev2</dc:creator>
			<guid>https://gcup.ru/forum/79-104178-1</guid>
		</item>
		<item>
			<title>Книги о геймдеве</title>
			<link>https://gcup.ru/forum/62-33798-1</link>
			<pubDate>Wed, 15 Nov 2023 20:29:39 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: SilverOverlord&lt;br /&gt;Автор последнего сообщения: DedPooll&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Посоветуйте книги о программировании игр на языке c/c++. С учётом того, что в языке я разбираюсь. &lt;br /&gt; При этом книги, не связанные с отрисовкой графики (а таких много) и игровым ИИ. Желательно - что-нибудь из области проектирования классов в программе и повышения быстродействия.</content:encoded>
			<category>C/C++</category>
			<dc:creator>SilverOverlord</dc:creator>
			<guid>https://gcup.ru/forum/62-33798-1</guid>
		</item>
		<item>
			<title>Подскажите книги по c++</title>
			<link>https://gcup.ru/forum/62-44978-1</link>
			<pubDate>Wed, 15 Nov 2023 20:25:17 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: Nikstoun&lt;br /&gt;Автор последнего сообщения: DedPooll&lt;br /&gt;Количество ответов: 19</description>
			<content:encoded>Приветствую замечательных ситцов замечательного форума ! Решил изучать с++ . Подскажите ДЕЛЬНЫЕ книги по его изучению . &lt;br /&gt; P.S. Не просто книги . А именно ДЕЛЬНЫЕ ...</content:encoded>
			<category>C/C++</category>
			<dc:creator>Nikstoun</dc:creator>
			<guid>https://gcup.ru/forum/62-44978-1</guid>
		</item>
		<item>
			<title>Не срабатывает часть JS кода jquery</title>
			<link>https://gcup.ru/forum/79-104128-1</link>
			<pubDate>Thu, 12 Oct 2023 14:17:09 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Описание темы: Web игра &quot;Кто хочет стать миллионером&quot;&lt;br /&gt;Автор темы: GameDev2&lt;br /&gt;Автор последнего сообщения: TLT&lt;br /&gt;Количество ответов: 16</description>
			<content:encoded>Никогда не имел дело разновидностями API для программирования JS в web, поэтому для меня странно, почему не срабатывает часть кода в найденном мною &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://github.com/spatocode/millionaire/blob/master/scripts/main.js&quot; title=&quot;https://github.com/spatocode/millionaire/blob/master/scripts/main.js&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;шаблоне&lt;/a&gt; игры:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;resetGame(&amp;#41; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&quot;.modal&quot;&amp;#41;.fadeOut(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&quot;#game&quot;&amp;#41;.fadeOut(&amp;#41;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setTimeout(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(&amp;#41;{$(&quot;.welcome&quot;&amp;#41;.fadeIn(600&amp;#41;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;,1000&amp;#41;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.enableCallFriendLifeline = true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.enableAskAudienceLifeline = true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.enableFiftyFiftyLifeline = true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.stageLength = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.answeredQuestion = &amp;#91;];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.gameLength = $(&quot;.stages button&quot;&amp;#41;.length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.pLen = this.gameLength&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.amount = $(&quot;.stages button&quot;&amp;#41;.eq(this.pLen-1&amp;#41;.html(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&quot;img:hover&quot;&amp;#41;.css(&quot;background-color&quot;,&quot;rgb(250, 121, 0&amp;#41; !important&quot;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&quot;.fifty&quot;&amp;#41;.attr({&quot;src&quot;:&quot;images/fifty.png&quot;,&quot;onClick&quot;:&quot;game.fifty(&amp;#41;&quot;}&amp;#41;.css(&quot;cursor&quot;,&quot;pointer&quot;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&quot;.callFriend&quot;&amp;#41;.attr({&quot;src&quot;:&quot;images/call.png&quot;,&quot;onClick&quot;:&quot;game.call_a_friend(&amp;#41;&quot;}&amp;#41;.css(&quot;cursor&quot;,&quot;pointer&quot;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;Возможно зависит от jquery.js или vanilla.js типа написания строк, но не срабатывает ни так, ни так...&lt;br /&gt;&lt;br /&gt;Т.е. при проигрыше или победе идет вызов resetGame, но использованные подсказки и текущее положение вопроса (справа по очкам в столбике) так и остаются не сброшенными. Я в эту функции вставлял другие действия, они срабатывали, т.е. вероятно, проблема именно в написании, нужно как-то по-другому писать &quot;this.enableCallFriendLifeline = true&quot; для jquery.&lt;br /&gt;&lt;br /&gt;Конечно, можно найти решение, просто перезагружать страницу, но хотелось бы понять, в чём проблема.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://i.imgur.com/KYobMdb.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>GameDev2</dc:creator>
			<guid>https://gcup.ru/forum/79-104128-1</guid>
		</item>
		<item>
			<title>Программа для вывода речи из символов.</title>
			<link>https://gcup.ru/forum/66-104097-1</link>
			<pubDate>Thu, 03 Aug 2023 19:12:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/66&quot;&gt;Программирование .NET&lt;/a&gt;&lt;br /&gt;Автор темы: Billguy&lt;br /&gt;Автор последнего сообщения: Billguy&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Добрый вечер! ищу помощи, так как столкнулся с проблемой. Есть поле ввода, данные с поля идут в массив символов (так как в поле всего 9 слотов). Как сделать так, что бы символы проверялись, и если они равны определенному символу, то оно смотрит в словаре какой звук этот символ. Заранее спасибо!</content:encoded>
			<category>Программирование .NET</category>
			<dc:creator>Billguy</dc:creator>
			<guid>https://gcup.ru/forum/66-104097-1</guid>
		</item>
		<item>
			<title>Программирование, и как правильно это учить</title>
			<link>https://gcup.ru/forum/7-103935-1</link>
			<pubDate>Mon, 06 Feb 2023 10:03:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Ищу помощт от советчиколв сайта&lt;br /&gt;Автор темы: Billguy&lt;br /&gt;Автор последнего сообщения: GMassta&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>Добрый день. У меня сложилась проблема с обучением в программирование. Что делать если я всё учу, и по туториалам я могу сделать что либо, но когда дело доходит написать что-то самому, то я безсилен, что делать ? Объясню подробнее на примере. Я хотел подучить GDscript для движка Godot, я прошёл базовые темы, но что делать елси я эти знания не могу никак применить? Я не могу написать что-то, что хочу сам. Хотелка у меня не заоблочная, всё просто, но сам сделатьб не могу но хочу. &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/ILoveGcUp.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;lovegcup&quot; /&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Billguy</dc:creator>
			<guid>https://gcup.ru/forum/7-103935-1</guid>
		</item>
		<item>
			<title>Антибот системы</title>
			<link>https://gcup.ru/forum/7-103992-1</link>
			<pubDate>Sun, 05 Feb 2023 19:37:07 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: JanCarlo&lt;br /&gt;Автор последнего сообщения: JanCarlo&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Добрый день!&lt;br /&gt;&lt;br /&gt;Есть ли какие то готовые решения на PHP для выявления ботов в браузерной игре, или какие то анализаторы поведенческих факторов игрока и тд?&lt;br /&gt;Видел проекты где были такие автоматизированные системы в действии, но понятно что ни названий, структур и тд небыло.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>JanCarlo</dc:creator>
			<guid>https://gcup.ru/forum/7-103992-1</guid>
		</item>
		<item>
			<title>Максимально разрешение проекта при соотношении сторон 16:9</title>
			<link>https://gcup.ru/forum/7-103910-1</link>
			<pubDate>Tue, 18 Oct 2022 11:19:34 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Чтобы запускалось на всех устройствах, даже старых.&lt;br /&gt;Автор темы: AndrewVersus&lt;br /&gt;Автор последнего сообщения: TLT&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Подскажите, какое максимально разрешение проекта при соотношении сторон 16:9, чтобы запускалось на всех устройствах, даже старых (2015 годов)?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>AndrewVersus</dc:creator>
			<guid>https://gcup.ru/forum/7-103910-1</guid>
		</item>
		<item>
			<title>Ищем с++ разработчика</title>
			<link>https://gcup.ru/forum/62-103873-1</link>
			<pubDate>Thu, 25 Aug 2022 13:29:57 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Описание темы: Ищем с++ разработчика под игру Perfect World&lt;br /&gt;Автор темы: Invaderpw&lt;br /&gt;Автор последнего сообщения: Invaderpw&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Ищем &lt;b&gt;с++&lt;/b&gt; разработчика под игру &lt;b&gt;Perfect World&lt;/b&gt; для работы на &lt;b&gt;постоянной&lt;/b&gt; основе (не единоразовые заказы, такое не интересует) ищем конкретно человека в команду со стабильной оплатой, ставка или же за конкретную разработку, уже договоримся на месте.&lt;br /&gt;&lt;br /&gt;Нужен человек который желает влиться в хороший, профессиональный коллектив и вместе работать над успешностью проекта.&lt;br /&gt;Недобросовестных людей - просьба не тратить ни наше ни ваше время.&lt;br /&gt;&lt;b&gt;Писать в Телеграмм - @silva959&lt;/b&gt;</content:encoded>
			<category>C/C++</category>
			<dc:creator>Invaderpw</dc:creator>
			<guid>https://gcup.ru/forum/62-103873-1</guid>
		</item>
		<item>
			<title>Определение страны: Скрипт PHP</title>
			<link>https://gcup.ru/forum/7-103870-1</link>
			<pubDate>Wed, 24 Aug 2022 20:26:35 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Скрипт ПХП.&lt;br /&gt;Автор темы: falcoware&lt;br /&gt;Автор последнего сообщения: falcoware&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Привет,&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;if (isset($_GET&amp;#91;&apos;ip&apos;]&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_reporting(0&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ip = $_GET&amp;#91;&apos;ip&apos;];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$LongIP = ip2long($ip&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$IPFile = file_get_contents(&quot;GeoIPCountryWhois.csv&quot;&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$convert = explode(&quot;&amp;#92;n&quot;, $IPFile&amp;#41;; //create array separate by new line&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$country = &quot;&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for ($i=0; $i &lt; count($convert&amp;#41;; $i++&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$line = $convert&amp;#91;$i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$line = str_replace(&apos;&quot;&apos;, &apos;&apos;, $line&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$line = explode(&apos;,&apos;, $line&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$IPLOW = $line&amp;#91;2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$IPHIGH = $line&amp;#91;3];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$country = $line&amp;#91;4];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($LongIP &gt;= $IPLOW &amp;&amp; $LongIP &lt;= $IPHIGH&amp;#41;{ break; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo $country;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;http://falcopartners.com/countries/GeoIPCountryWhois.csv</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>falcoware</dc:creator>
			<guid>https://gcup.ru/forum/7-103870-1</guid>
		</item>
		<item>
			<title>Помогите скомпилировать библиотеку</title>
			<link>https://gcup.ru/forum/7-103789-1</link>
			<pubDate>Thu, 26 May 2022 15:07:00 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: minecrafter2&lt;br /&gt;Автор последнего сообщения: minecrafter2&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Помогите деду (уже как никак 10 лет прошло, а как будто вчера было) скомпилировать библиотеку &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://github.com/Tangent128/luasdl2&quot; title=&quot;https://github.com/Tangent128/luasdl2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Ссылка (GitHub)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Уже обошёл несколько форумов так нигде ни у кого и не получилось. Был бы очень рад гайду как это сделать от А до Я с самого начала. Потому что сколько разного советовали и ошибки были на разных этапах.&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (25 Мая 2022, 21:35)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Ну и нужны .dll под винду</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>minecrafter2</dc:creator>
			<guid>https://gcup.ru/forum/7-103789-1</guid>
		</item>
		<item>
			<title>Реклама в android играх проекта на C++</title>
			<link>https://gcup.ru/forum/62-103773-1</link>
			<pubDate>Sat, 07 May 2022 07:27:30 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Описание темы: SDL2&lt;br /&gt;Автор темы: afq&lt;br /&gt;Автор последнего сообщения: afq&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Я вроде как догадываюсь, но ни разу не делал так еще. Вот я делаю игры на C++ SDL2, получается, например я могу с yandex ad aar скачать, как то подключить, и из c++ кода дергать java методы. Получается, надо отдельный класс с рекламой и методами отрисовки. Правильно ли я всё понимаю? Кто-нибудь работал так? Были ли какие-нибудь проблемы?</content:encoded>
			<category>C/C++</category>
			<dc:creator>afq</dc:creator>
			<guid>https://gcup.ru/forum/62-103773-1</guid>
		</item>
		<item>
			<title>Нужны советы/идеи по реализации анимации и обрезанию тйлов</title>
			<link>https://gcup.ru/forum/79-103769-1</link>
			<pubDate>Sat, 30 Apr 2022 12:44:06 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Автор темы: Alkrip&lt;br /&gt;Автор последнего сообщения: Alkrip&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Здравствуйте формучане!&lt;br /&gt;Столкнулся с такой вот проблемой. Есть код для квадратичной тайловой системы. Мне же нужно подогнать его в гексогональную. Может кто-то помочь с написанием кода или хотя бы подкинуть идейку по реализации? Я использовал библиотеку &quot;pytmx&quot; для расшифровки tmx файлов.&lt;br /&gt;Основной код:&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt; import pygame&lt;br /&gt;import sys&lt;br /&gt;from pytmx.util_pygame import load_pygame&lt;br /&gt;from tiles import Tile&lt;br /&gt;from settings import *&lt;br /&gt; &lt;br /&gt;pygame.init(&amp;#41;&lt;br /&gt;screen = pygame.display.set_mode(((screen_width, screen_height&amp;#41;&amp;#41;, pygame.RESIZABLE&amp;#41;&lt;br /&gt;pygame.display.set_caption(&quot;-&quot;&amp;#41;&lt;br /&gt;clock = pygame.time.Clock(&amp;#41;&lt;br /&gt; &lt;br /&gt;tmx_data = load_pygame(&apos;./data/tmx/level_test.tmx&apos;&amp;#41;&lt;br /&gt;sprite_group = pygame.sprite.Group(&amp;#41;&lt;br /&gt; &lt;br /&gt;for layer in tmx_data.visible_layers:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if hasattr(layer,&apos;data&apos;&amp;#41;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for x,y, surf in layer.tiles(&amp;#41;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pos = (x * 64 , y * 64&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Tile(pos = pos, surf = surf, groups = sprite_group&amp;#41;&lt;br /&gt; &lt;br /&gt;while True:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for event in pygame.event.get(&amp;#41;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if event.type == pygame.QUIT:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pygame.quit(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.exit(&amp;#41;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;screen.fill(BLACK&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sprite_group.draw(screen&amp;#41;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pygame.display.update(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clock.tick(FPS&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;Тайлы:&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;class Tile(pygame.sprite.Sprite&amp;#41;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;def __init__(self,pos,surf,groups&amp;#41;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super(&amp;#41;.__init__(groups&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.image = surf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.rect = self.image.get_rect(topleft = pos&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>Alkrip</dc:creator>
			<guid>https://gcup.ru/forum/79-103769-1</guid>
		</item>
		<item>
			<title>Автоматизация учета продукции</title>
			<link>https://gcup.ru/forum/7-103748-1</link>
			<pubDate>Mon, 04 Apr 2022 10:36:37 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Написание программы для автоматизации учета продукции&lt;br /&gt;Автор темы: YeT_1&lt;br /&gt;Автор последнего сообщения: YeT_1&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Всех приветствую!&lt;br /&gt;Ищу человека, который сможет помочь в написании программы или же полностью написать программу по учету продукции. Сам в данном вопросе не очень сильно подкован, но быстро могу разобраться, если еще и немного навести на правильную мысль. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Предположительный&lt;/i&gt; стек технологий: Python + YOLO&lt;br /&gt;ТЗ кратко: есть лента, по которой двигается продукция. Это большие рулоны, у них единый форм-фактор, отличаться разве могут что по цветам, но в основном они белые. Предполагается повесить камеру (или несколько) над лентой или сбоку ленты, которая будет уже фиксировать количество рулонов за смену. Если простым языком - нужно чтобы камера делала +1, если перед ней проходит рулон. По дополнительному функционалу понадобится только если настройка &quot;начало смены/конец смены&quot;, но это уже второстепенно.&lt;br /&gt;&lt;br /&gt;Если что, я в курсе, что это проще и дешевле было бы реализовать датчиками разного вида. Однако, задача стоит именно такая и хотелось бы её реализовать именно таким образом. &lt;br /&gt;&lt;br /&gt;Рассматриваю сотрудничество как на денежной основе (пишите сразу примерный прайс за разработку), также и на энтузиазме (если кто-то учится или изучает тему) и по бартеру (профессионально занимаюсь разработкой сайтов порядка 10 лет).&lt;br /&gt;&lt;br /&gt;Если кто-то здесь на форуме обладает интересной информацией по теме (ссылки, статьи, примеры кода) - буду также благодарен.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>YeT_1</dc:creator>
			<guid>https://gcup.ru/forum/7-103748-1</guid>
		</item>
		<item>
			<title>HTML5 Canvas interactive animations of menu with bubbles</title>
			<link>https://gcup.ru/forum/7-103734-1</link>
			<pubDate>Tue, 22 Mar 2022 09:59:09 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: torsar&lt;br /&gt;Автор последнего сообщения: torsar&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Нужно сделать анимированное меню с шариками.&lt;br /&gt;Как здесь:&lt;br /&gt;http://79.110.52.43/&lt;br /&gt;&lt;br /&gt;На ванилла js. Сторонние либы и фреймворки использовать нельзя.&lt;br /&gt;Только базовый jquery.&lt;br /&gt;&lt;br /&gt;Я посмотрел, там сделано на canvas.&lt;br /&gt;&lt;br /&gt;Нужны руководства/книги/учебники/статьи по теме.&lt;br /&gt;Как делать анимашки на canvas?&lt;br /&gt;&lt;br /&gt;Как рассчитывать траекторию движения шариков сразу после&lt;br /&gt;загрузки web-странички?&lt;br /&gt;Как рассчитывать траекторию и поведение шариков при их перетаскивании мышкой?&lt;br /&gt;Как рассчитывать траекторию и поведение шариков при клике на шарике и раскрытии подменю?&lt;br /&gt;Как реализовать эффект мыльных пузырей?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>torsar</dc:creator>
			<guid>https://gcup.ru/forum/7-103734-1</guid>
		</item>
		<item>
			<title>Очень нуждаюсь в совете и помощи</title>
			<link>https://gcup.ru/forum/7-103726-1</link>
			<pubDate>Sat, 12 Mar 2022 05:15:01 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Обсуждение&lt;br /&gt;Автор темы: zedmourg&lt;br /&gt;Автор последнего сообщения: zedmourg&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Привет всем , я расскажу немного о себе для общей картины :&lt;br /&gt;мне 30 лет и у меня две вышки , одна в сфере управления вторая в сфере психологии, но с детства я всегда мечтал быть программистом и как-то не получилось , но в последнее время все больше и больше понимаю что хочу &lt;br /&gt;&lt;br /&gt;И так теперь к вопросу : &lt;br /&gt;1) С чего стоит начать изучение?&lt;br /&gt;Если можно то ссылкам буду рад &lt;br /&gt;&lt;br /&gt;2) Ваше мнение как лучше самоучка или пойти в вуз для третьего высшего &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/biggrin.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;:D&quot; /&gt; &lt;br /&gt;&lt;br /&gt;От скуки недавно от изучения перешел к практике на python , но большая часть информации из видео или бесплатных либо кусками либо с множеством вопросов&lt;br /&gt;&lt;br /&gt;Камнями не кидайтесь , на все вопросы отвечу )&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (07 Марта 2022, 06:33)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Буду рад любой помощи или советам &lt;br /&gt;У меня от сидения дома крышу рвет &lt;br /&gt;8 лет была гражданская война , теперь блядь эта операция специальная , которая пересрало все</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>zedmourg</dc:creator>
			<guid>https://gcup.ru/forum/7-103726-1</guid>
		</item>
		<item>
			<title>Opengl, Lazarus, Реализация игрового поля</title>
			<link>https://gcup.ru/forum/63-103631-1</link>
			<pubDate>Sun, 26 Dec 2021 12:09:33 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/63&quot;&gt;Delphi/Pascal/Object Pascal&lt;/a&gt;&lt;br /&gt;Описание темы: Реализация игрового поля определенного размера&lt;br /&gt;Автор темы: cann&lt;br /&gt;Автор последнего сообщения: cann&lt;br /&gt;Количество ответов: 6</description>
			<content:encoded>Окно создаваемого OpenGL приложения развернуто на весь экран, например разрешение экрана 1366х768 пикселй. Хотелось бы понять как реализовать игровое поле определенного размера, например 400х400 пикселей, при этом игровой объект &quot;Астероид&quot; должен быть виден в пределах игрового поля и не виден за пределами игрового поля. Игровой объект &quot;Астероид&quot; должен плавно появляться в игровом поле из неигрового поля. Как можно сделать это методами OpenGL?</content:encoded>
			<category>Delphi/Pascal/Object Pascal</category>
			<dc:creator>cann</dc:creator>
			<guid>https://gcup.ru/forum/63-103631-1</guid>
		</item>
		<item>
			<title>Как сделать обход препятствий в С++ Builder???</title>
			<link>https://gcup.ru/forum/62-103581-1</link>
			<pubDate>Thu, 11 Nov 2021 20:34:42 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: Razuvai&lt;br /&gt;Автор последнего сообщения: Fire_Phoenix&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Как сделать обход препятствий в С++ Builder???&lt;br /&gt;Движение игрока по клику мыши уже готово.&lt;br /&gt;Вот мой код:&lt;br /&gt;void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,&lt;br /&gt;int X, int Y)&lt;br /&gt;{&lt;br /&gt;x=X;&lt;br /&gt;y=Y;&lt;br /&gt;Timer1-&gt;Enabled=true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void __fastcall TForm1::Timer1Timer(TObject *Sender)&lt;br /&gt;{&lt;br /&gt;if (Image1-&gt;Top&gt;y) Image1-&gt;Top=Image1-&gt;Top-1;&lt;br /&gt;if (Image1-&gt;Top&lt;y) Image1-&gt;Top=Image1-&gt;Top+1;&lt;br /&gt;if (Image1-&gt;Left&gt;x) Image1-&gt;Left=Image1-&gt;Left-1;&lt;br /&gt;if (Image1-&gt;Left&lt;x) Image1-&gt;Left=Image1-&gt;Left+1;&lt;br /&gt;if (Image1-&gt;Top==y &amp;&amp; Image1-&gt;Left==x) Timer1-&gt;Enabled=false;&lt;br /&gt;}</content:encoded>
			<category>C/C++</category>
			<dc:creator>Razuvai</dc:creator>
			<guid>https://gcup.ru/forum/62-103581-1</guid>
		</item>
		<item>
			<title>Необходимость в программировании</title>
			<link>https://gcup.ru/forum/7-39-1</link>
			<pubDate>Mon, 01 Nov 2021 13:07:50 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: А нужно ли, обязательно ли уметь?&lt;br /&gt;Автор темы: mari&lt;br /&gt;Автор последнего сообщения: Burnout&lt;br /&gt;Количество ответов: 64</description>
			<content:encoded>Вот существуют программы для создания игр, разных игр на любой вкус и цвет. И появляется мысль, а нужно ли сейчас начинать учить языки программирования, когда всевозможные программы развиваются к тому, что всё можно сделать на кнопках и визуальных командах. Что думаете, как будет с этим через десят лет, например, всё будет делать в конструкторах?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>mari</dc:creator>
			<guid>https://gcup.ru/forum/7-39-1</guid>
		</item>
		<item>
			<title>Движение игрока по клику мыши в C++ builder</title>
			<link>https://gcup.ru/forum/62-103560-1</link>
			<pubDate>Wed, 27 Oct 2021 17:41:15 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: Razuvai&lt;br /&gt;Автор последнего сообщения: FlyOfFly&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Движение игрока по клику мыши в C++ builder???</content:encoded>
			<category>C/C++</category>
			<dc:creator>Razuvai</dc:creator>
			<guid>https://gcup.ru/forum/62-103560-1</guid>
		</item>
		<item>
			<title>Хранение информации о доступном ресурсе игрока</title>
			<link>https://gcup.ru/forum/7-103527-1</link>
			<pubDate>Sun, 26 Sep 2021 08:58:47 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: Lexin&lt;br /&gt;Автор последнего сообщения: Assasin&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>Всем доброго времени суток!&lt;br /&gt;&lt;br /&gt;Разрабатываю браузерную игру на vuejs + lumen. В качестве БД использую MySQL.&lt;br /&gt;&lt;br /&gt;Вопрос следующий:&lt;br /&gt;Как думаете, как хранить информацию о доступном пользователю ресурсе в бд?&lt;br /&gt;Под ресурсом можно взять например количество зерна.&lt;br /&gt;Сложность в том, что ресурс восполняется на +Nное количество единиц в секунду.&lt;br /&gt;Если например на стороне клиента я увеличиваю количество ресурсов путем js скрипта, то на сервере как это делать?&lt;br /&gt;Не будет же cron работать каждую секунду и изменять количество для всех игроков...&lt;br /&gt;А само количество ресурсов нужно видеть в режиме реального времени, так как зерно игрок может потратить в любую секунду и потратить то количество которое ему уже доступно...&lt;br /&gt;&lt;br /&gt;У кого какие мысли по этому поводу?&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (24 Сентября 2021, 19:26)&lt;br /&gt;---------------------------------------------&lt;br /&gt;В дополнение, даже если делать увеличение ресурса на +N в минуту... и игроков например 10к... крон будет создавать проблемы при увеличении количества ресурса для всех игроков каждую минуту... а если ресурсов будет несколько (камень, глина и др.) то ситуация усложняется...</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Lexin</dc:creator>
			<guid>https://gcup.ru/forum/7-103527-1</guid>
		</item>
		<item>
			<title>Уроки, документация по DarkBasic</title>
			<link>https://gcup.ru/forum/64-103355-1</link>
			<pubDate>Mon, 07 Jun 2021 17:59:10 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/64&quot;&gt;Basic&lt;/a&gt;&lt;br /&gt;Автор темы: cann&lt;br /&gt;Автор последнего сообщения: maker-rus&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Добрый день!&lt;br /&gt;&lt;br /&gt;Понимаю, что язык DarkBasic устарел, но может у кого-нибудь есть завалявшиеся уроки, документация в электронном виде для изучения? Можете поделится, а то в Интернет очень мало информации?&lt;br /&gt;&lt;br /&gt;Спасибо.</content:encoded>
			<category>Basic</category>
			<dc:creator>cann</dc:creator>
			<guid>https://gcup.ru/forum/64-103355-1</guid>
		</item>
		<item>
			<title>ошибка в LUA</title>
			<link>https://gcup.ru/forum/79-103273-1</link>
			<pubDate>Fri, 07 May 2021 16:09:50 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Автор темы: EvgenShet&lt;br /&gt;Автор последнего сообщения: maker-rus&lt;br /&gt;Количество ответов: 7</description>
			<content:encoded>первый день изучаю Lua хотел решить такую задачку:&lt;br /&gt;Лучник атакует Воина дальней атакой, находясь в неподвижной точке. Воин&lt;br /&gt;приближается к лучнику с фиксированной скоростью.&lt;br /&gt;Параметры лучника:&lt;br /&gt;● Здоровье 600&lt;br /&gt;● Атака 10 за выстрел&lt;br /&gt;● 25% вероятность x2 урона&lt;br /&gt;● 40% вероятность увернуться от атаки (полностью избежав урон)&lt;br /&gt;Параметры воина:&lt;br /&gt;● Здоровье 800&lt;br /&gt;● Атака 25 за удар&lt;br /&gt;● 50% вероятность заблокировать 7 единиц получаемого урона&lt;br /&gt;В момент начала боя воин находится на расстоянии 60 метров от лучника. Пока воин&lt;br /&gt;успевает сократить дистанцию на 10 метров, лучник делает 2 попадания по воину.&lt;br /&gt;Скорость атаки воина в 2 раза ниже, чем у лучника.&lt;br /&gt;&lt;br /&gt;Написал такой вот код ( делал по одному образцу, но там задача была в разы проще) :&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;--параметры испытаний&lt;br /&gt;iterations = 1500000; -- итерации&lt;br /&gt;timeout_limit = 1000; -- число попыток, если не убили за него, то ничья&lt;br /&gt;distance=60; --расстояние между противниками&lt;br /&gt;&lt;br /&gt;-- статы персонажей&lt;br /&gt;char = {};&lt;br /&gt;char &amp;#91;1] = {};&lt;br /&gt;char &amp;#91;2] = {};&lt;br /&gt;&lt;br /&gt;--лучник&lt;br /&gt;char&amp;#91;1]&amp;#91;&quot;health&quot;] = 600;&lt;br /&gt;char&amp;#91;1]&amp;#91;&quot;damage&quot;] = 10;&lt;br /&gt;char&amp;#91;1]&amp;#91;&quot;chancetohit&quot;] = 1;&lt;br /&gt;char&amp;#91;1]&amp;#91;&quot;chancetocrit&quot;] = 0.25;&lt;br /&gt;char&amp;#91;1]&amp;#91;&quot;chancetosave&quot;] = 0.40;&lt;br /&gt;char&amp;#91;1]&amp;#91;&quot;attackspeed&quot;] = 2;&lt;br /&gt;&lt;br /&gt;char&amp;#91;2]&amp;#91;&quot;health&quot;] = 800;&lt;br /&gt;char&amp;#91;2]&amp;#91;&quot;damage&quot;] = 25;&lt;br /&gt;char&amp;#91;2]&amp;#91;&quot;chancetohit&quot;] = 1;&lt;br /&gt;char&amp;#91;2]&amp;#91;&quot;chancetoreduceto7&quot;] = 0.50;&lt;br /&gt;char&amp;#91;2]&amp;#91;&quot;attackspeed&quot;] = 1;&lt;br /&gt;&lt;br /&gt;-- обнуляем переменные&lt;br /&gt;char_A_wins = 0;&lt;br /&gt;char_B_wins = 0;&lt;br /&gt;char_AB_wins = 0;&lt;br /&gt;timeout_count = 0;&lt;br /&gt;&lt;br /&gt;-- попал юнит или нет&lt;br /&gt;IsDamage = function(chance&amp;#41;&lt;br /&gt;local isdamage1 = false;&lt;br /&gt;local r = math.random(&amp;#41;;&lt;br /&gt;if (r&lt;chance&amp;#41; then&lt;br /&gt;isdamage1 = true;&lt;br /&gt;end&lt;br /&gt;return isdamage1;&lt;br /&gt;end&lt;br /&gt;-- спас бросок&lt;br /&gt;IsSave = function(chance1&amp;#41;&lt;br /&gt;local issave1 = false;&lt;br /&gt;local z = math.random(&amp;#41;;&lt;br /&gt;if (z&gt;chance1&amp;#41; then&lt;br /&gt;issave1 = true;&lt;br /&gt;end&lt;br /&gt;return issave1;&lt;br /&gt;end&lt;br /&gt;--крит&lt;br /&gt;IsCrit = function(chance2&amp;#41;&lt;br /&gt;local iscrit1 = false;&lt;br /&gt;local y = math.random(&amp;#41;;&lt;br /&gt;if (y&lt;chance2&amp;#41; then&lt;br /&gt;iscrit1 = true;&lt;br /&gt;end&lt;br /&gt;return iscrit1;&lt;br /&gt;end&lt;br /&gt;--уменьшение урона&lt;br /&gt;IsReduce = function(chance3&amp;#41;&lt;br /&gt;local isreduce1 = false;&lt;br /&gt;local f = math.random(&amp;#41;;&lt;br /&gt;if (f&lt;chance3&amp;#41; then&lt;br /&gt;iscrit1 = true;&lt;br /&gt;end&lt;br /&gt;return isreduce1;&lt;br /&gt;end&lt;br /&gt;-- &amp;#91;&amp;#91;лучник атакует&lt;br /&gt;&lt;br /&gt;archerAttack=function(&amp;#41;&lt;br /&gt;if(IsCrit(char&amp;#91;1].chancetocrit&amp;#41;&amp;#41; then&lt;br /&gt;if (IsReduce(char&amp;#91;2].chancetoreduceto7&amp;#41;&amp;#41; then char_B_health = char_B_health - (2 * char&amp;#91;1].damage - 7&amp;#41;;&lt;br /&gt;else char_B_health = char_B_health - 2 * char&amp;#91;1].damage; end&lt;br /&gt;else&lt;br /&gt;if (IsReduce (char&amp;#91;2].chancetoreduceto7&amp;#41;&amp;#41; then char_B_health = char_B_health - (char&amp;#91;1].damage - 7&amp;#41;;&lt;br /&gt;else char_B_health = char_B_health - char&amp;#91;1].damage; end&lt;br /&gt;end&lt;br /&gt;return archerAttack;&lt;br /&gt;end&lt;br /&gt;-- воин атакует&lt;br /&gt;WarriorAttack=function(&amp;#41;&lt;br /&gt;if (not(IsSave(char&amp;#91;1].chancetosave&amp;#41;&amp;#41;&amp;#41; then char_A_health = char_A_health - char&amp;#91;2].damage; end&lt;br /&gt;return WarriorAttack;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;-- генератор случайных чисел&lt;br /&gt;math.randomseed(os.time(&amp;#41;&amp;#41;;&lt;br /&gt;-- d = расстояние между противниками&lt;br /&gt;for d=1, distance/6 do&lt;br /&gt;local char_A_health = char&amp;#91;1].health;&lt;br /&gt;local char_B_health = char&amp;#91;2].health;&lt;br /&gt;local char_A_dead = false;&lt;br /&gt;local char_B_dead = false;&lt;br /&gt;archerAttack(&amp;#41;;&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;-- основной цикл&lt;br /&gt;for i = 1, iterations do&lt;br /&gt;local char_A_health = char&amp;#91;1].health;&lt;br /&gt;local char_B_health =char_B_health;&lt;br /&gt;local char_A_dead = false;&lt;br /&gt;local char_B_dead = false;&lt;br /&gt;&lt;br /&gt;-- i2 = число попыток, если не убили за негото ничья&lt;br /&gt;for i2 = 1, timeout_limit do&lt;br /&gt;archerAttack(&amp;#41;;&lt;br /&gt;archerAttack(&amp;#41;;&lt;br /&gt;WarriorAttack(&amp;#41;;&lt;br /&gt;if (char_A_health&lt;=0&amp;#41; then&lt;br /&gt;char_A_dead = true;&lt;br /&gt;end&lt;br /&gt;if (char_B_health&lt;=0&amp;#41; then&lt;br /&gt;char_B_dead = true;&lt;br /&gt;end&lt;br /&gt;if (char_A_dead or char_B_dead&amp;#41; then&lt;br /&gt;break;&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;if (not(char_A_dead&amp;#41;&amp;#41; and( not(char_B_dead&amp;#41;&amp;#41; then&lt;br /&gt;-- считаем ничьи по таймауту отдельно&lt;br /&gt;timeout_count = timeout_count +1;&lt;br /&gt;else&lt;br /&gt;if (char_A_dead and char_B_dead&amp;#41; then&lt;br /&gt;-- ничьи без таймаута&lt;br /&gt;char_AB_wins = char_AB_wins + 1;&lt;br /&gt;else&lt;br /&gt;if (char_A_dead&amp;#41; then&lt;br /&gt;-- победил B&lt;br /&gt;char_B_wins = char_B_wins + 1;&lt;br /&gt;end&lt;br /&gt;if (char_B_dead&amp;#41; then&lt;br /&gt;-- победил A&lt;br /&gt;char_A_wins = char_A_wins + 1;&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;print (&quot;A wins =&quot; .. char_A_wins .. &quot; (&quot; .. (100*char_A_wins/(char_A_wins+char_B_wins+char_AB_wins+timeout_count&amp;#41;&amp;#41; .. &quot;%&amp;#41;&quot;&amp;#41;;&lt;br /&gt;print (&quot;B wins =&quot; .. char_B_wins .. &quot; (&quot; .. (100*char_B_wins/(char_A_wins+char_B_wins+char_AB_wins+timeout_count&amp;#41;&amp;#41; .. &quot;%&amp;#41;&quot;&amp;#41;;&lt;br /&gt;print (&quot;AB wins =&quot; .. char_AB_wins .. &quot; (&quot; .. (100*char_AB_wins/(char_A_wins+char_B_wins+char_AB_wins+timeout_count&amp;#41;&amp;#41; .. &quot;%&amp;#41;&quot;&amp;#41;;&lt;br /&gt;print (&quot;timeout =&quot; .. timeout_count .. &quot; (&quot; .. (100*timeout_count/(char_A_wins+char_B_wins+char_AB_wins+timeout_count&amp;#41;&amp;#41; .. &quot;%&amp;#41;&quot;&amp;#41;;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;выдает ошибку&lt;br /&gt;lua: fight.lua:76: attempt to perform arithmetic on global &apos;char_B_health&apos; (a nil value)&lt;br /&gt;stack traceback:&lt;br /&gt;fight.lua:76: in function &apos;archerAttack&apos;&lt;br /&gt;fight.lua:96: in main chunk&lt;br /&gt;[C]: ?</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>EvgenShet</dc:creator>
			<guid>https://gcup.ru/forum/79-103273-1</guid>
		</item>
		<item>
			<title>Opengl, Lazarus, Пересечение игрока со стеной</title>
			<link>https://gcup.ru/forum/63-103253-1</link>
			<pubDate>Tue, 06 Apr 2021 13:32:52 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/63&quot;&gt;Delphi/Pascal/Object Pascal&lt;/a&gt;&lt;br /&gt;Автор темы: cann&lt;br /&gt;Автор последнего сообщения: cann&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Не могу понять почему при первом пересечение игрока со стеной, игрок заступает один раз за стену, а потом нормально отрабатывает проверка пересечения игрока со стеной, и дальнейшего заступа не происходит. Прошу помочь в поиске данной проблемы. Код прокомментировал для лучшего восприятия.&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;program ogl_p3;&lt;br /&gt;&lt;br /&gt;uses gl,glut,glu;&lt;br /&gt;&lt;br /&gt;const&lt;br /&gt;&amp;nbsp;&amp;nbsp;AppWidth = 640;&lt;br /&gt;&amp;nbsp;&amp;nbsp;AppHeight = 480;&lt;br /&gt;&amp;nbsp;&amp;nbsp;n = 4;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;&amp;nbsp;&amp;nbsp;rectIndexArr = array&amp;#91;1..n] of Glfloat;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;player_rect: rectIndexArr;&lt;br /&gt;&amp;nbsp;&amp;nbsp;posx1, posx2: Real;&lt;br /&gt;&amp;nbsp;&amp;nbsp;stepx: Real;&lt;br /&gt;&amp;nbsp;&amp;nbsp;keySpecialStates: array&amp;#91;0..256] of Boolean;&lt;br /&gt;&lt;br /&gt;procedure keyOperations;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (keySpecialStates&amp;#91;GLUT_KEY_LEFT]&amp;#41; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := -0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (keySpecialStates&amp;#91;GLUT_KEY_RIGHT]&amp;#41; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := 0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure ReshapeCallback(width, height: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure DisplayCallback; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := 0.0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Проверка нажата ли клавиша влево или вправо&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keyOperations;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Рисуем игровое поле&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glClearColor(1/255.0, 11/255.0, 25/255.0, 1.0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glClear(GL_COLOR_BUFFER_BIT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glBegin( GL_QUADS &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glColor3f( 3/255.0, 33/255.0, 74/255.0 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -1, 1 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 1, 1 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 1, -1 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -1, -1 &amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glColor3f(5/255.0, 55/255.0, 123/255.0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -0.95, 0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 0.95, 0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 0.95, -0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -0.95, -0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glEnd;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Смещение игрока на stepx относительно текущей позиции при перемещение влево или вправо&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1 := posx1+stepx;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2 := posx2+stepx;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Проверка пересечения игрока со стеной, если пересечение происходит, то позиционируем игрока на краю стены&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if posx1&gt;0.95 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1:=0.95;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2:=0.90;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if posx2&lt;-0.95 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1:=-0.90;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2:=-0.95;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Рисуем игрока&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glColor3f( 183/255.0, 183/255.0, 183/255.0 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glRectf(posx1, player_rect&amp;#91;2], posx2, player_rect&amp;#91;4]&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSwapBuffers(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure PressKey(key: Integer; x,y: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keySpecialStates&amp;#91;key] := true;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure ReleaseKey(key: Integer; x,y: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keySpecialStates&amp;#91;key] := false;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure IdleCallback(&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Init;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;i: Integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := 0.0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;1] := -0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;2] := -0.85;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;3] := 0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;4] := -0.9;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1 := player_rect&amp;#91;1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2 := player_rect&amp;#91;3];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i:=0 to 256 do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keySpecialStates&amp;#91;i] := false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure main(&amp;#41;;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInit(@argc, argv&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitWindowSize(AppWidth, AppHeight&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitWindowPosition(10,10&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutCreateWindow(&apos;TestApp&apos;&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Init;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutReshapeFunc(@ReshapeCallback&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutDisplayFunc(@DisplayCallback&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSpecialFunc(@PressKey&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSpecialUpFunc(@ReleaseKey&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutIdleFunc(@IdleCallback&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutMainLoop(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main(&amp;#41;;&lt;br /&gt;end.&lt;br /&gt;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (06 Апреля 2021, 16:32)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Вопрос решен.</content:encoded>
			<category>Delphi/Pascal/Object Pascal</category>
			<dc:creator>cann</dc:creator>
			<guid>https://gcup.ru/forum/63-103253-1</guid>
		</item>
		<item>
			<title>Opengl, движение прямоугольника при удержание клавиш</title>
			<link>https://gcup.ru/forum/63-103236-1</link>
			<pubDate>Tue, 06 Apr 2021 13:32:08 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/63&quot;&gt;Delphi/Pascal/Object Pascal&lt;/a&gt;&lt;br /&gt;Автор темы: cann&lt;br /&gt;Автор последнего сообщения: cann&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>В программу ввел возможность перемещение прямоугольника вправо и влево при удержании клавиш, но движение прямоугольника, иногда, начинается с одна-двух секундной задержкой при смене направления движения влево или вправо. Код очень прост и по ходу анализа кода я не вижу ни одного участка, где бы эта задержка может возникать. Помогите, пожалуйста, в устранение данной неприятности. Если есть более элегантное решение реализации перемещения прямоугольника, плавное перемещение, перемещение без рывков, то прошу рассказать о нем.&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;program ogl_p2;&lt;br /&gt;&lt;br /&gt;uses gl,glut,glu;&lt;br /&gt;&lt;br /&gt;const&lt;br /&gt;&amp;nbsp;&amp;nbsp;AppWidth = 640;&lt;br /&gt;&amp;nbsp;&amp;nbsp;AppHeight = 480;&lt;br /&gt;&amp;nbsp;&amp;nbsp;n = 4;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;&amp;nbsp;&amp;nbsp;rectIndexArr = array&amp;#91;1..n] of Glfloat;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;player_rect: rectIndexArr;&lt;br /&gt;&amp;nbsp;&amp;nbsp;posx1, posx2: Real;&lt;br /&gt;&amp;nbsp;&amp;nbsp;stepx: Real;&lt;br /&gt;&lt;br /&gt;procedure ReshapeCallback(width, height: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure DisplayCallback; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glClearColor(1/255.0, 11/255.0, 25/255.0, 1.0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glClear(GL_COLOR_BUFFER_BIT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glBegin( GL_QUADS &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glColor3f( 3/255.0, 33/255.0, 74/255.0 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -1, 1 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 1, 1 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 1, -1 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -1, -1 &amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glColor3f(5/255.0, 55/255.0, 123/255.0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -0.95, 0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 0.95, 0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( 0.95, -0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glVertex2f( -0.95, -0.95 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glEnd;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1 := posx1+stepx;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2 := posx2+stepx;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if posx1&gt;0.95 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1:=0.95;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2:=0.90;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if posx2&lt;-0.95 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1:=-0.90;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2:=-0.95;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glColor3f( 183/255.0, 183/255.0, 183/255.0 &amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glRectf(posx1, player_rect&amp;#91;2], posx2, player_rect&amp;#91;4]&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSwapBuffers(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure SpecialKeyboardCallback(key: Integer; x,y: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case key of&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_F1: Halt(0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_LEFT:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := -0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_RIGHT:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := 0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure SpecialKeyboardUpCallback(key: Integer; x,y: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := 0.0;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure IdleCallback(&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Init;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stepx := 0.0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;1] := -0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;2] := -0.85;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;3] := 0.025;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_rect&amp;#91;4] := -0.9;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx1 := player_rect&amp;#91;1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;posx2 := player_rect&amp;#91;3];&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure main(&amp;#41;;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInit(@argc, argv&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitWindowSize(AppWidth, AppHeight&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitWindowPosition(10,10&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutCreateWindow(&apos;TestApp&apos;&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Init;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutReshapeFunc(@ReshapeCallback&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutDisplayFunc(@DisplayCallback&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSpecialFunc(@SpecialKeyboardCallback&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSpecialUpFunc(@SpecialKeyboardUpCallback&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutIdleFunc(@IdleCallback&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutMainLoop(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main(&amp;#41;;&lt;br /&gt;end.&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Delphi/Pascal/Object Pascal</category>
			<dc:creator>cann</dc:creator>
			<guid>https://gcup.ru/forum/63-103236-1</guid>
		</item>
		<item>
			<title>Opengl, glutGetModifiers не срабатывает на сочетания клавиш</title>
			<link>https://gcup.ru/forum/63-103176-1</link>
			<pubDate>Tue, 06 Apr 2021 13:31:36 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/63&quot;&gt;Delphi/Pascal/Object Pascal&lt;/a&gt;&lt;br /&gt;Автор темы: cann&lt;br /&gt;Автор последнего сообщения: cann&lt;br /&gt;Количество ответов: 10</description>
			<content:encoded>Написал пример с OpenGL, но есть непонимание того, почему не отрабатываются сочетания нажатия клавиш. В частности не срабатывает сочетания клавиш Shift+r и Ctrl+r. Сочетании клавиш Alt+r отрабатывает нормально. Подскажите, пожалуйста, из-за чего так может быть?&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;program ogl_p1;&lt;br /&gt;&lt;br /&gt;{$mode objfpc}{$H+}&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;&amp;nbsp;&amp;nbsp;{$IFDEF UNIX}{$IFDEF UseCThreads}&lt;br /&gt;&amp;nbsp;&amp;nbsp;cthreads,&lt;br /&gt;&amp;nbsp;&amp;nbsp;{$ENDIF}{$ENDIF}&lt;br /&gt;&amp;nbsp;&amp;nbsp;Classes, gl, glut;&lt;br /&gt;&lt;br /&gt;var ScreenWidth, ScreenHeight: Integer;&lt;br /&gt;const&lt;br /&gt;&amp;nbsp;&amp;nbsp;AppWidth = 640;&lt;br /&gt;&amp;nbsp;&amp;nbsp;AppHeight = 480;&lt;br /&gt;&lt;br /&gt;procedure resize(width, height: LongInt&amp;#41;; cdecl;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;ar: Real;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ar := width div height;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glViewport(0, 0, width, height&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glMatrixMode(GL_PROJECTION&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glLoadIdentity;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glFrustum(-ar,ar,-1.0,1.0,2.0,100.0&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glMatrixMode(GL_MODELVIEW&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glLoadIdentity;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure display; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSwapBuffers(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure key(key: Byte; x,y: Integer&amp;#41;; cdecl;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;mode: Integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLn(&apos;Key = &apos;, key&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case key of&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ord(&apos;q&apos;&amp;#41;, 27:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Halt(0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ord(&apos;r&apos;&amp;#41;:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mode:=glutGetModifiers(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (mode &lt;&gt; 0&amp;#41; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case mode of&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLn(&apos;SHIFT key &apos;, mode&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLn(&apos;CTRL key &apos;, mode&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLn(&apos;ALT key &apos;, mode&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mode:=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure skey(key: Integer; x,y: Integer&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case key of&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_F1: Halt(0&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_LEFT: WriteLn(&apos;GLUT_KEY_LEFT &apos;, key&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_RIGHT: WriteLn(&apos;GLUT_KEY_RIGHT &apos;, key&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_UP: WriteLn(&apos;GLUT_KEY_UP &apos;, key&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GLUT_KEY_DOWN: WriteLn(&apos;GLUT_KEY_DOWN &apos;, key&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure idle(&amp;#41;; cdecl;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutPostRedisplay(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure main(&amp;#41;;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInit(@argc, argv&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitWindowSize(AppWidth, AppHeight&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitWindowPosition(10,10&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutCreateWindow(&apos;TestApp&apos;&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutReshapeFunc(@resize&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutDisplayFunc(@display&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutKeyboardFunc(@key&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutSpecialFunc(@skey&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;glutMainLoop(&amp;#41;;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;main(&amp;#41;;&lt;br /&gt;end.&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Delphi/Pascal/Object Pascal</category>
			<dc:creator>cann</dc:creator>
			<guid>https://gcup.ru/forum/63-103176-1</guid>
		</item>
		<item>
			<title>Десериализация</title>
			<link>https://gcup.ru/forum/7-103246-1</link>
			<pubDate>Thu, 01 Apr 2021 17:47:23 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Десериализация из бинарного файла&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>я читал что можно дописывать данные в файл путем FileMode.Append.&lt;br /&gt;Дописать в файл удалось, файл открыл блокнотом и Vector4 там значился, значит данные все таки в файле.&lt;br /&gt;Но вот при возврате возникает ошибка. &lt;br /&gt;При загрузке этого сохранения Unity показывает ошибку в строчке &lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt; objectsT = (List&lt;myVector4&gt;&amp;#41;formatter.Deserialize(streamT&amp;#41;;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;InvalidCastException: Specified cast is not valid. SaveGameToM.LoadT () (at Assets / Script / SaveGameToM.cs: 111)&lt;br /&gt;&lt;br /&gt;Что не верно?&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&amp;#91;System.Serializable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public struct myVector3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public float x, y, z;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;System.Serializable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public struct myVector4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public float j, k, l;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;SerializeField] public List&lt;myVector3&gt; ObjectsPositions = new List&lt;myVector3&gt;(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;SerializeField] public List&lt;myVector4&gt; ObjectsPositionsT = new List&lt;myVector4&gt;(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void Start(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (File.Exists(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BackMyCubes(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BackMyTriangles(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void BackMyCubes(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositions = Load(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var pos in ObjectsPositions&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GameObject i = Instantiate(Cube1Pref, new Vector3(pos.x, pos.y, pos.z&amp;#41;, Quaternion.identity&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositions.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void BackMyTriangles(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositionsT = LoadT(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var posT in ObjectsPositionsT&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GameObject t = Instantiate(Triangle1Pref, new Vector4(posT.j, posT.k, posT.l&amp;#41;, Quaternion.identity&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositionsT.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void ManualSaving(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var obj in GameObject.FindGameObjectsWithTag(&quot;Cube1&quot;&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myVector3 i = new myVector3(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i.x = obj.transform.position.x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i.y = obj.transform.position.y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i.z = obj.transform.position.z;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositions.Add(i&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveCu(ObjectsPositions&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void ManualSavingT(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var objT in GameObject.FindGameObjectsWithTag(&quot;Triangle1&quot;&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myVector4 t = new myVector4(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.j = objT.transform.position.x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.k = objT.transform.position.y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.l = objT.transform.position.z;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositionsT.Add(t&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveT(ObjectsPositionsT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public List&lt;myVector3&gt; Load(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;myVector3&gt; objects;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Open&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objects = (List&lt;myVector3&gt;&amp;#41;formatter.Deserialize(stream&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return objects;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public List&lt;myVector4&gt; LoadT(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;myVector4&gt; objectsT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Open&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objectsT = (List&lt;myVector4&gt;&amp;#41;formatter.Deserialize(streamT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return objectsT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void SaveCu(List&lt;myVector3&gt; positions&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Create&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;formatter.Serialize(stream, positions&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stream.Close(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;positions.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void SaveT(List&lt;myVector4&gt; positionsT&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Append&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;formatter.Serialize(streamT, positionsT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;streamT.Close(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;positionsT.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103246-1</guid>
		</item>
		<item>
			<title>Сохранение rotatte position совместно с transform position</title>
			<link>https://gcup.ru/forum/7-103186-1</link>
			<pubDate>Thu, 01 Apr 2021 12:31:05 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Сохранение&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 10</description>
			<content:encoded>Вопрос собственно в чем:&lt;br /&gt;1.Сохранил я треугольник к примеру, по Vector3. Но поворот то треугольника не сохранился в массив, при восстановлении всех треугольников они восстановятся в положении префаба.&lt;br /&gt;А как rotate position сохранить ихние? В Vector 3 только 3 переменные. Если в отдельный массив, то как тогда при восстановлении они выберут координаты?&lt;br /&gt;2. Неужели все так делают и нет способа упростить сохранение, ну это же мракобесие для каждого объекта дописывать код и поиск по тегу.&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;System.Collections;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using UnityEngine;&lt;br /&gt;using System.Runtime.Serialization.Formatters.Binary;&lt;br /&gt;using System.IO;&lt;br /&gt;using UnityEngine.UI;&lt;br /&gt;&lt;br /&gt;public class SaveGameToM : MonoBehaviour&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;public GameObject Cube1Pref;&lt;br /&gt;public GameObject Triangle1Pref;&lt;br /&gt;&lt;br /&gt;&amp;#91;System.Serializable]&lt;br /&gt;public struct myVector3&lt;br /&gt;{&lt;br /&gt;public float x, y, z;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;#91;System.Serializable]&lt;br /&gt;public struct myVector4&lt;br /&gt;{&lt;br /&gt;public float j, k, l;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;#91;SerializeField] public List&lt;myVector3&gt; ObjectsPositions = new List&lt;myVector3&gt;(&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;#91;SerializeField] public List&lt;myVector4&gt; ObjectsPositionsT = new List&lt;myVector4&gt;(&amp;#41;;&lt;br /&gt;&lt;br /&gt;public void Awake(&amp;#41;&lt;br /&gt;{&lt;br /&gt;if (!File.Exists(Application.persistentDataPath + &quot;saves&quot;&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;Directory.CreateDirectory(Application.persistentDataPath + &quot;/saves&quot;&amp;#41;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void Start(&amp;#41;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (File.Exists(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;&amp; File.Exists(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;BackMyCubes(&amp;#41;;&lt;br /&gt;BackMyTriangles(&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void BackMyCubes(&amp;#41;&lt;br /&gt;{&lt;br /&gt;ObjectsPositions = Load(&amp;#41;;&lt;br /&gt;&lt;br /&gt;foreach (var pos in ObjectsPositions&amp;#41;&lt;br /&gt;{&lt;br /&gt;Instantiate(Cube1Pref, new Vector3(pos.x, pos.y, pos.z&amp;#41;, Quaternion.identity&amp;#41;;&lt;br /&gt;}&lt;br /&gt;ObjectsPositions.Clear(&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void BackMyTriangles(&amp;#41;&lt;br /&gt;{//n&lt;br /&gt;ObjectsPositionsT = LoadT(&amp;#41;;&lt;br /&gt;&lt;br /&gt;foreach (var posT in ObjectsPositionsT&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;Instantiate(Triangle1Pref, new Vector3(posT.j, posT.k, posT.l&amp;#41;, Quaternion.Euler(-90f,0.0f,0.0f&amp;#41;&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;ObjectsPositionsT.Clear(&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;public void ManualSaving(&amp;#41;&lt;br /&gt;{&lt;br /&gt;if (File.Exists(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;File.Delete(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach (var obj in GameObject.FindGameObjectsWithTag(&quot;Cube1&quot;&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;myVector3 i = new myVector3(&amp;#41;;&lt;br /&gt;i.x = obj.transform.position.x;&lt;br /&gt;i.y = obj.transform.position.y;&lt;br /&gt;i.z = obj.transform.position.z;&lt;br /&gt;&lt;br /&gt;ObjectsPositions.Add(i&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Save(ObjectsPositions&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void ManualSavingT(&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;if (File.Exists(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;&amp;#41;&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;File.Delete(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;foreach (var objT in GameObject.FindGameObjectsWithTag(&quot;Triangle1&quot;&amp;#41;&amp;#41;//n&lt;br /&gt;&lt;br /&gt;{//n&lt;br /&gt;myVector4 t = new myVector4(&amp;#41;;//n&lt;br /&gt;t.j = objT.transform.position.x;//n&lt;br /&gt;t.k = objT.transform.position.y;//n&lt;br /&gt;t.l = objT.transform.position.z;//n&lt;br /&gt;ObjectsPositionsT.Add(t&amp;#41;;//n&lt;br /&gt;//сюда дописать ротат поз с другими буквами&lt;br /&gt;&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;Save(ObjectsPositionsT&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;public List&lt;myVector3&gt; Load(&amp;#41;&lt;br /&gt;{&lt;br /&gt;List&lt;myVector3&gt; objects;&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&lt;br /&gt;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Open&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;objects = (List&lt;myVector3&gt;&amp;#41;formatter.Deserialize(stream&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return objects;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List&lt;myVector4&gt; LoadT(&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;List&lt;myVector4&gt; objectsT;//n&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;//n&lt;br /&gt;&lt;br /&gt;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;, FileMode.Open&amp;#41;&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;objectsT = (List&lt;myVector4&gt;&amp;#41;formatter.Deserialize(streamT&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;return objectsT;//n&lt;br /&gt;&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;void Save(List&lt;myVector3&gt; positions&amp;#41;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Create&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;formatter.Serialize(stream, positions&amp;#41;;&lt;br /&gt;stream.Close(&amp;#41;;&lt;br /&gt;}&lt;br /&gt;positions.Clear(&amp;#41;;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void Save(List&lt;myVector4&gt; positionsT&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;//n&lt;br /&gt;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;, FileMode.Create&amp;#41;&amp;#41;//n&lt;br /&gt;{&lt;br /&gt;formatter.Serialize(streamT, positionsT&amp;#41;;//n&lt;br /&gt;streamT.Close(&amp;#41;;//n&lt;br /&gt;}&lt;br /&gt;positionsT.Clear(&amp;#41;;//n&lt;br /&gt;&lt;br /&gt;}//&lt;br /&gt;&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103186-1</guid>
		</item>
		<item>
			<title>Программирование на Java с нуля до гуру</title>
			<link>https://gcup.ru/forum/65-102901-1</link>
			<pubDate>Mon, 29 Mar 2021 11:28:02 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/65&quot;&gt;Java&lt;/a&gt;&lt;br /&gt;Автор темы: wetrow1980&lt;br /&gt;Автор последнего сообщения: Vadim_U&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Делюсь отличным видеокурсом для начинающих программировать на JAVA - &quot;Программирование на Java с нуля до гуру (2019)&quot;&lt;br /&gt;от широко известного программиста - &quot;Михаила Русакова&quot; - который, является высококвалифицированным специалистом &lt;br /&gt;в данной отрасли программирования. &lt;br /&gt;Подробнее о курсе &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://srs.myrusakov.ru/java&quot; title=&quot;https://srs.myrusakov.ru/java&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;Скачать данный курс можно полностью бесплатно:&lt;br /&gt;1 часть - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://turb.cc/7eqm55zyj1at.html&quot; title=&quot;https://turb.cc/7eqm55zyj1at.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;2 часть - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://turb.cc/oqan2zhjkm5o.html&quot; title=&quot;https://turb.cc/oqan2zhjkm5o.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;3 часть - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://turb.cc/vjuznqol5n3q.html&quot; title=&quot;https://turb.cc/vjuznqol5n3q.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;4 часть - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://turb.cc/yns6olox1a92.html&quot; title=&quot;https://turb.cc/yns6olox1a92.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;5 часть - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://turb.cc/uboq3v6sdpac.html&quot; title=&quot;https://turb.cc/uboq3v6sdpac.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&lt;br /&gt;Этот и другие, отличные видеокурсы всегда доступны в моем телеграмм канале https://t.me/kurslutsie</content:encoded>
			<category>Java</category>
			<dc:creator>wetrow1980</dc:creator>
			<guid>https://gcup.ru/forum/65-102901-1</guid>
		</item>
		<item>
			<title>Как подписать приложение сертификатом гугла</title>
			<link>https://gcup.ru/forum/7-103223-1</link>
			<pubDate>Sat, 20 Mar 2021 18:17:27 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Надо как то добавить сертификат в кейстор&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Народ помогите кто знает как это делать. Я по незнанию согласился в плейконсоли на подпись сертификатом гугл. Как и что с этим делать я теперь вообще понять не могу.&lt;br /&gt;-Приложение создано на Unity и в нем создан обычный ключ keystore.&lt;br /&gt;- При публикации мне предложили подписывать ключом от гугла, я согласился.&lt;br /&gt;- мне выдали два сертификата которые я могу скачивать &lt;br /&gt; сертификат ключа подписи&lt;br /&gt; сертификат ключа загрузки&lt;br /&gt;-приложение сейчас на проверке, я так понимаю удалить и отказаться от ключа гугл я уже не могу.&lt;br /&gt;Но что мне делать с этими сертификатами и какой ключ сделать теперь и как сделать и куда его загружать я вообще не понимаю. Или это какой то ключ гугла, но откуда его скачать тогда?&lt;br /&gt;Читал инструкции гугла, там вообще ничего не понятно.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103223-1</guid>
		</item>
		<item>
			<title>Как сделать систему пред просмотра до установки обекта?</title>
			<link>https://gcup.ru/forum/7-103185-1</link>
			<pubDate>Fri, 05 Mar 2021 17:32:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Создание игры&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Народ, меня интересует по какому принципу делается пред просмотр устанавливаемого элемента. Вот к примеру вы в игре устанавливаете какую то модель в определенную точку. Но с момента как вы ее выбрали и до момента как вы ее создали эта модель висит у игрока типа в руках и вы можете менять ее расположение или вращать по оси или же вообще ходить с ней в руках. &lt;br /&gt;Какие есть методы реализации такой вот штуки? Как это вообще делается?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103185-1</guid>
		</item>
		<item>
			<title>тайловый редактор gtiled [в разработке]</title>
			<link>https://gcup.ru/forum/62-103046-1</link>
			<pubDate>Fri, 12 Feb 2021 12:53:39 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/62&quot;&gt;C/C++&lt;/a&gt;&lt;br /&gt;Автор темы: afq&lt;br /&gt;Автор последнего сообщения: DmitriyFomin&lt;br /&gt;Количество ответов: 16</description>
			<content:encoded>&lt;img src=&quot;https://i.imgur.com/D6Ts5pA.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;&lt;br /&gt;GTILED - тайловый редактор. Захотелось сделать такой редактор для своей игры. Tiled не устроил. В этой версии можно делать бесконечный мир и сохранять в обычный массив. Вот видео с демонстрацией.&lt;br /&gt;&lt;br /&gt;&lt;!--BBvideo--&gt;&lt;span id=&quot;scr15eZ1KR700&quot;&gt;&lt;/span&gt;&lt;script type=&quot;text/javascript&quot;&gt;_uVideoPlayer({&apos;url&apos;:&apos;https://www.youtube.com/watch?v=nGXUePOdc4A&amp;feature=youtu.be&apos;,&apos;width&apos;:&apos;640&apos;,&apos;height&apos;:&apos;360&apos;},&apos;scr15eZ1KR700&apos;);&lt;/script&gt;&lt;!--/BBvideo--&gt;&lt;br /&gt;&lt;br /&gt;вот ссылка на &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://github.com/xverizex/gtiles&quot; title=&quot;https://github.com/xverizex/gtiles&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;github&lt;/a&gt;</content:encoded>
			<category>C/C++</category>
			<dc:creator>afq</dc:creator>
			<guid>https://gcup.ru/forum/62-103046-1</guid>
		</item>
		<item>
			<title>Реализация ввода действий игрока в консоли на Python</title>
			<link>https://gcup.ru/forum/79-103135-1</link>
			<pubDate>Wed, 10 Feb 2021 10:03:55 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/79&quot;&gt;Скриптовые языки программирования&lt;/a&gt;&lt;br /&gt;Автор темы: cakeliekcrap&lt;br /&gt;Автор последнего сообщения: maker-rus&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Всем доброго времени суток. Пишу для универа текстовую игру на python, среда разработки PyCharm. Проект - текстовая игра, в которой игроку нужно самому писать действия в консоль. У меня есть несколько классов, Player - класс, в котором происходит инициализация игрока, Trader - инициализация торговцев и Town - здесь описана реализация игровых городов. Хотелось бы узнать совета, как лучше реализовать сам набор действий игрока в консоль. Сейчас у меня эта система реализована крайне топорно: у меня есть списки на каждое действие, в которых я описываю максимально возможные варианты действий, затем в основной программе я просто на условных операторах проверяю совпадение введеного текста со словами в списках. Например:&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;While True:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_action = input(&quot;Что Вы хотите сделать?&quot;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if player_action in goToButcher:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;butcher.talk(&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;Таких действий и ветвлений может быть много, а бесконечные if-elif выглядят очень нечитаемо и неудобно. К тому же есть случаи, когда вместо input(&quot;Что Вы хотите сделать?&quot;) нужно вывести например input(&quot;Введите номер товара&quot;). Вообщем хотелось бы услышать советы по поводу того, как бы лучше все это реализовать, какие-нибудь алгоритмы или что-то в этом роде. Использую в проекте ООП</content:encoded>
			<category>Скриптовые языки программирования</category>
			<dc:creator>cakeliekcrap</dc:creator>
			<guid>https://gcup.ru/forum/79-103135-1</guid>
		</item>
		<item>
			<title>машинные коды ассемблера</title>
			<link>https://gcup.ru/forum/67-102142-1</link>
			<pubDate>Mon, 01 Feb 2021 21:30:02 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/67&quot;&gt;Низкоуровневое программирование&lt;/a&gt;&lt;br /&gt;Описание темы: C/C++&lt;br /&gt;Автор темы: afq&lt;br /&gt;Автор последнего сообщения: graveman&lt;br /&gt;Количество ответов: 25</description>
			<content:encoded>Решил реализовать дизассемблер. Пока толком не могу понять структуру команд. Ну логику не знаю. Поэтому приходится писать прям вот так.&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerHdNPRw&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerHdNPRw&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerHdNPRw&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerHdNPRw&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerHdNPRw&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoilerHdNPRw&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerHdNPRw&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerHdNPRw&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoilerHdNPRw&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;&lt;img src=&quot;http://s1.uploadpics.ru/images/-14vOKjsES.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;&lt;br /&gt;Но в этом коде уже какая то логика рассматривается.&lt;br /&gt;Дайте совет, может знаете чего, что не знаю я.</content:encoded>
			<category>Низкоуровневое программирование</category>
			<dc:creator>afq</dc:creator>
			<guid>https://gcup.ru/forum/67-102142-1</guid>
		</item>
	</channel>
</rss>