| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Старый конь борозды не портит |
| Автор: superkaban 1.4.2011, 14:26 |
| В году, эдак в 1984-1985, играл на равне с Тетрисом в замечательную игру Xonix на компьютере с 64Кб памяти и текстовым монитором. Пытался найти эту игру сейчас. Нашёл только всевозможные клоны работающие в графическом режиме. А так хочется вспомнить молодость - поиграть в text mode. В общем пришлось написать игрушку самому с нуля. Предлагаю желающим принять участие в бета-тестировании (игра в приложении. Правила просты - надо отъесть у шариков 80% поля, избегая столкновений с ними. Управление - 4 стрелки, пробел - пауза, escape - выход из игры. Если найдёте баги - пишите сюда. Игра прекрасно работает из под DOS/Windows 98/2000/XP. Возможно запустится в окне (не на полный экран) в 32-разрядной Висте/Виндуз 7. На 64-х разрядных виндах не запустится - микрасофт отказался от поддержки dos приложений... Надеюсь, игра понравится. |
| Автор: volatile 2.4.2011, 00:06 |
Ну так нужно было писать не дос программу, а 32-разрядное консольное приложение. Вот например, как эта змейка. (как-то убил вечер для написания сего "шедевра" играет на любом размере окна от 25х80 и выше. (можно задать в свойствах) Заодно и ее протестируйте. |
| Автор: superkaban 2.4.2011, 05:22 |
| Нашёл несколько багов. 1. Удалил ссылочный файл XONIX.PIF (он нужен только для задания свойства "Во весь экран"). С этим файлом игрок проваливался вниз за пределы поля и ряд других гадостей. Удивительно, как ссылка может менять программу. Для переключения в полноэкранный режим жмём Alt+Enter. 2. Доработал функцию производную от rand(), которая управляет начальным положением шариков. Теперь шарики разбрасываются действительно случайно. Плюс устранил баг, когда при начальном разбросе шарик мог оказаться внутри стены и проесть в ней дырку. 3. Устранён баг, когда игрок, набрав 32768 и более очков, получал на последнем экране хаос. Игра перезалита. Просьба скачавшим скачать заново. P.S. В змею поиграю как появится время... Писал на борландовском турбо C 3.0 (он официально бесплатный). Поддержки виндуза в нём нет. |
| Автор: superkaban 3.4.2011, 21:39 |
| Устранён баг: при определённых условиях (см. выше) игрок мог выйти вниз за границу экрана. + Между уровнями чистится буфер клавиатуры - дабы избежать выскакивания игрока на поле в начале уровня. + Пара мелких изменений. Версия повышена до 0.23.2011. Просьба к скачавшим - скачать заново. |
| Автор: superkaban 5.4.2011, 07:39 | ||
Я всё это знаю. Только я задался целью сделать полноценную дос/98/Me программу. Так как полагаю, что молодёжь с навороченными компами в эту игру играть не будут, а старички, вроде меня, не всегда имеют современные компы с виндуз 7. Я скорей под линуксом бы написал (gcc), но пользователей линукса (да ещё пожилых) значительно меньше чем виндуза. |
| Автор: ksili 5.4.2011, 09:10 |
| У меня на 2-ядерном компе игра жрёт 100% одного ядра. И тормозит (слайд-шоу). |
| Автор: 2qwe 5.4.2011, 15:48 |
| Я играл в Xonix, но версию годов 90-х, пожалуй. Спасибо за интересную програмку) |
| Автор: superkaban 6.4.2011, 11:09 | ||
У меня на 2-х ядерном жрёт 80% у второго ядра и 20-25% у первого. Не тормозит. Виндуз ХР. На старом ноуте 98 года выпуска с Пнём 2 266МГц жрёт под 100%, не тормозит. Виндуз 98. Вся беда в борландовской функции void delay(unsigned miliseconds) которая у меня вставлена в цикл. Она и забивает любой проц на 100% т.к. основана на пустых циклах. Есть возможность сделать таймер на biostime(). Но оказалось, что частота смены времени в компе ~18Hz или раз в ~55 милисекунд (это частота кварца в компе). Такая задержка соответствует примерно 5 скорости текущей версии. Если вставить мой таймер, то загрузка проца будет 0%, но игра будет ползать по черепашьи. Досовская функция gettime(&t) с разрешением в сотую секунды - фикция, время в ней меняется только с тиками из биоса (см. выше). Функция Sleep(unsigned miliseconds) из windows.h, вроде бы имеет разрешение 16 миллисекунд и не грузит проц. Но она в моей версии компилятора не доступна, как не доступна для доса/виндуза 98/Ме. В обчем я над этим работаю. P.S. У вас, возможно, стоит 32-х битная Виста или Виндуз 7. Сотрите файл XONUX.PIF. Он для вас бесполезен, т.к. полноэкранного режима всё равно нет. Проц будет загружен на 100%, но слайд-шоу, возможно, прекратится. Вот такая она, виртуальная дос-машина. |
| Автор: superkaban 10.4.2011, 10:47 |
| Залил новую версию - 0.24.2011 1) Теперь уровень по умолчанию - 5. Не грузит проц. 32-х битная виста и виндуз 7, играть в окне на этом уровне! Dos/Windows 98/Me/2000/XP - лучше играть в полноэкранном режиме (уровень любой, от 1 до 5) 2) Убран курсор (дабы глаз не раздражал) 3) В начальное меню добавлены подсказки по кнопкам. Всем скачавшим, рекомендую скачать заново. |
| Автор: superkaban 18.4.2011, 17:29 |
| Выпустил новую версию 0.25.2011. Изменений, практически, ни каких, только маленькая косметическая правка на финальной заставке и количество уровней/шариков увеличено до 12. Специально для пользователей Висты и Виндуза 7 (64/32), линукса и прочих, создан загрузочный CD с dos 6.22. Запишите образ XONUX.ISO на CD-R/CD-RW при помощи ImgBurn и загрузите с него ваш компьютер. Игра начнётся автоматически. Заодно прекрасный шанс многим узнать как выглядит натуральный DOS. Так как объём дистрибутива вырос почти до 4Мб, выложил на внешний ресурс: http://repetitorov.net/xonux.zip |