В смысле, отучить от JRE? А зачем? Что это даст?
Не, может как-то и можно, но это пляски с бубном.
В смысле, отучить от JRE? А зачем? Что это даст?
Не, может как-то и можно, но это пляски с бубном.
Решил тут понастольгировать и на фоне этого получилось сделать игрушку под Бейсик МИКРОН для РК-подобных машин.
Игрушка называется "Злые пещеры" и похожа на рогалики, правда сильно примитивнее. Писал подобное ещё в школе, решил вспомнить.
Описание и всё неодходимо находится в приложенном архиве.
Если кому будет интересно, по игрушке был стрим на канале уважаемого Videogames Sematary. Посмотреть можно тут.
EvilCaves.zip
ZX-Evolution Rev C + 5.25 FDD + MultiSound + ZXNetUsbC64G + Pi1541 + Kung-FuРК-86 Северная Пальмира
Alikberov (13.03.2024), Black Cat / Era CG (13.03.2024), cy6 (13.03.2024), Fishbone (14.03.2024), Hammer (13.03.2024), jerri (13.03.2024), Kakos_nonos (21.03.2024), Oleg N. Cher (13.03.2024), parallelno (13.03.2024), Pluto (14.03.2024), Pyk (13.03.2024), Shaos (17.03.2024), tnt23 (13.03.2024)
В процессе написания различных программ столкнулся с осознанием того, что генератор псевдослучайных чисел есть насилие над мозгом и процессором. Достаточно просто подготовить последовательность. данные из которой перебирать по числам другой последовательности - и через несколько прогонов этого кода средний человек уже едва ли сможет вычислить текущую последовательность. Если же это дело еще и завязать на действия игрока, то получаем почти полноценный генератор случайных (причем почти настоящих случайных) чисел... Блин, три дня доходил до этого. пока пытался свой ГСЧ написать... А ларчик-то просто открывался. Плюс почти равная вероятность выпадения любого значения из списка, которая будет только еще больше выравниваться при каждом перемешивании списка. Собственно, настоящие случайные числа, как мне показалось, и не нужны особо. Достаточно организовать сложно предсказуемую последовательность. Сугубо имхо, но алгоритм перетасовки карт в колоде получился куда как проще моего несостоявшегося ГСЧ. А теперь писать пятнашки ))) Ко всему, процессор успевает выполнить достаточно много таких прогонов за секунду, что тоже хорошо сказывается на скорости выполнения программы... Одни плюсы, никаких минусов )))
Вообще это, может, и общеизвестная информация, а только вот нигде я раньше такого не видел. Так что для меня это новый способ организации ГСЧ, который еще и не грузит процессор почти - только работа с регистрами и памятью ну и сложение для вычисления нужного индекса в последовательности источнике...
У меня так легко и просто не получилось, особенно если нужно, чтобы при включении компьютера выпадало каждый раз разное число. Немного помогло подмешивание байтов из нестёртого ОЗУ т.к. там есть мусор после включения. И еще у меня порт D000 разведён на плате, но к нему ничего не подключено. Из него можно читать "воздух", статические наводки. Тоже немного помогло.
Ну я бы так не заморачивался... На начальном экране, пока юзер что-нибудь бы не сделал (например кнопка начала игры) - наматывал бы список по новой без остановки. Или, в самом простом варианте, inr r, что даст по настоящему случайно число - ведь наматывать его проц будет с большой скоростью, пока ждет действий игрока - результат для него будет более чем случаен. Блин, мне эта мысль с выборкой и накруткой все мышление свернула. Ну я в том плане, что такой генератор, с привязкой к действиям пользователя, в моих глазах выглядит намного более случайным, чем любой, пусть и самый навороченный ГСЧ. Именно из-за погрешности в концах диапазона генерируемых значений последнего.
Я так и сделал, счётчик наматывает! Но при запуске игры хотелось бы каждый раз выводить новую приветственную надпись. Т.е. до того, как игрок произвёл действие.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Старый, как мир, трюк.
Электроника КР-03; ZX-Spectrum "Ленинград-48"; Atari-130XE; Поиск-1...
ну для генерации одного числа может и сойдет. А теперь представим, что нужно перемещать колоду карт, или даже поле игры в пятнашки. Если случайным образом генерировать каждое новое число, то, помимо генерации, придется контролировать, чтобы номера не повторялись. И если для пятнашек еще терпимо, то вот при такой генерации колоды карт задержка будет весьма чувствительна, особенно по мере приближения к концу генерируемой последовательности и уменьшения списка свободных значений. 36 карт при таком подходе собираются иногда по минуте. Абсолютно не выгодно в плане времени. За тоже время (и даже за намного меньшее) методом выборки по индексам можно накрутить последовательность, которая по своей случайности ничуть не будет уступать генерируемой
Собственно я к чему: вопрос ведь не в том, насколько число должно быть случайным, а в том, насколько алгоритм генерации подходит под текущую задачу.
https://github.com/maxadler1979/palmira/tree/main/games
Там можно найти Trex под рк86 версии (под пальмиру тоже есть с исходниками). Выкладывал ранее, но видимо так никто и не заметил так как велось активное обсуждение непонятно чего.
Радио86 рк (Пальмира), Электроника кр04, Поиск 1
Beaver (21.03.2024), Fishbone (21.03.2024), Oleg N. Cher (21.03.2024)
Графоний шикарен.
ZX Spectrum Evolution
СЮБОР SB225-B
2:454/26.3
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)