Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/54: Рейтинг темы: голосов - 54, средняя оценка - 4.96
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406

101 Basic Computer Games

25.05.2024, 16:17. Показов 18896. Ответов 273
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно я натолкнулся в сети на книгу, о которой никогда не слышал.
Книга называется "101 Basic Computer Games". Она была выпущена DEC в 1975 году
и содержит тексты игр с аннотациями. Игры написаны на BASIC, на компьютере PDP-11.

Очень интересная коллекция для начинающих программистов, и не только.

Коллекция игр с описаниями и переводом на другие языки программирования находится по адресу:

https://github.com/coding-horr... uter-games
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.05.2024, 16:17
Ответы с готовыми решениями:

Создайте график функций x^3 на отрезке [-101; 101]. В качестве значений используйте массив x размером в 101 элемент
Создайте график функций x^3 на отрезке . В качестве значений используйте массив x размером в 101 элемент. Для создания массива значений...

Coodo Games & Datcroft Games Java Developer (Самара)
В Самарский офис требуется талантливый разработчик. 
О нас: - Мы разрабатываем только лучшие игры. Наши запущенные продукты:...

Coodo Games & Datcroft Games AS3.0 Developer (Самара)
В Самарский офис требуется талантливый разработчик. 
О нас: - Мы разрабатываем только лучшие игры. Наши запущенные продукты: Fragoria,...

273
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 11:16
Студворк — интернет-сервис помощи студентам
Где взять полную спецификацию на qbasic? Есть ли какой-то стандарт?
0
Эксперт по электронике
7144 / 3323 / 342
Регистрация: 28.10.2011
Сообщений: 13,089
Записей в блоге: 7
01.07.2024, 11:20
Цитата Сообщение от The trick Посмотреть сообщение
почему ты именно про VS6 спросил
Ты не уточнял про какую студию пишешь.
Думаю студия не самый лучший пример. Над ней работает большая команда и вкладываются немалые деньги.
Мы же говорим про проекты поддерживаемые несколькими людьми такие как PB, FB и др.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
01.07.2024, 11:31
locm, я вообще не вижу проблемы в написании компилятора под новую платформу из существующей платформы. По сути у компилятора никаких платформозависимых вещей нет. Он на вход получает текст, а на выходе выдаёт бинарь под конкретную платформу.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 11:56
Нашел:https://ia903001.us.archive.or... Manual.pdf

Добавлено через 19 минут
Синтаксис Qbasic привлекателен тем, что нет всех этих скобочек и паскалевских begin end, которые раздражают. Это был хороший шаг вперед. Потом эту идею осуществили в LUA и многих других языках.
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
01.07.2024, 12:13
Цитата Сообщение от The trick Посмотреть сообщение
Он на вход получает текст, а на выходе выдаёт бинарь под конкретную платформу.
Не обязательно бинарник делать. Собственно, так никто и не делает. Прошли те времена когда компилятор, ассемблер и линковщик сидели в одном файле.
Сейчас компилятор на выходе выдаёт листинг ассемблерный (или любое другое промежуточное представление: LLVM, си‐файл). Этот листинг поглощает программа‐ассемблер и делает объектный файл.
Поэтому задача сводится к тому, чтобы из текстового файла получить другой текстовый файл.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 13:12
Цитата Сообщение от Замабувараев Посмотреть сообщение
В линуксе невозможно ситуация «Выложил на сайт → Пользователь скачал исполняемый файл → Запустил → Всё работает». Программа требует библиотеку XXX, которой нет, или версия не та → облом.
Раньше там не было такой привязки к ядру как сейчас. С подачи коммерсов кстати обосрали.
С браузеров пошло и перекинулось на весь остальной прикладной софт. Т.е. это не были проблемы
системы, т.к. они позиционировали себя всеми такими свободными и могли любое ядро ставить,
а теперь хрен там пел, хочешь такую-то софтину - ставь такое-то ядрышко.

Цитата Сообщение от The trick Посмотреть сообщение
locm, а в fb это проблема?
А кстати фиг знает. Но сходу FB не ставится на линукс за один APT GET, там кроме него ещё библиотеки
нужны какие-то, чтобы даже FBGfx встроенный завести, а на OpenGL отдельные с Mesa.
Надеюсь менеджер приложений с убунты не выпилили, иначе это суровый такой даунгрейд на 20 лет назад.

Добавлено через 4 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
и паскалевских begin end, которые раздражают.
В Паскале, кто писал знает, больше раздражает ; в конце каждой строки.
А Begin\End - вполне обычная понятная вещь, которая сразу оформляет видимый блок.
0
1406 / 865 / 93
Регистрация: 08.02.2017
Сообщений: 3,694
Записей в блоге: 2
01.07.2024, 13:13
Цитата Сообщение от Quiet Snow Посмотреть сообщение
больше раздражает ;
Да да, я помню в ниституте было, такая шляпа..
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 13:15
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Где взять полную спецификацию на qbasic? Есть ли какой-то стандарт?
Стандарты там говно. Не надо. Бери базу QuickBasic.

Добавлено через 2 минуты
Цитата Сообщение от The trick Посмотреть сообщение
locm, я вообще не вижу проблемы в написании компилятора под новую платформу из существующей платформы. По сути у компилятора никаких платформозависимых вещей нет.
Ну да так и должно быть.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 13:28
Цитата Сообщение от Quiet Snow Посмотреть сообщение
больше раздражает ; в конце каждой строки.
И это тоже. Причем паскалевский ; не есть символ завершения операции, как в Си, а символ разделитель операций, что часто создает путаницу. То есть вызывает ошибку если он стоит в конце блока. Бред.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
А Begin\End - вполне обычная понятная вещь, которая сразу оформляет видимый блок.
Понятная, но не приятная. Многие жаловались на засилье этих слов. Более того, Вирт совершил ошибку создав неоднозначный синтаксис в конструкции if, потом сам признал ошибку.
Преимущество basic синтаксиса в том, что для завершения блока нужно одно ключевое слово, а не два, как в алголоподобном синтаксисе. Сравните:
Code
1
2
3
if cond then
  block
endif
и:
Code
1
2
3
4
if cond then
begin
  block
end
Гораздо приятней вариант 1. Потому что здесь на одно слово меньше, и сразу видно какая конструкция завершается. Просто в компиляторе немного сложнее выделять блоки, но не принципиально.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 13:29
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Компилятор создавали много людей, и инструменты сильно привязаны к инфраструктуре GCC. Объектные модули обрабатываются именно этими инструментами. Чтобы такое создать с нуля, надо ну несколько лет. Только чтобы прочитать код, надо не менее года. То есть гораздо лучше вообще оставить этого монстра в покое, пусть догнивает в одиночестве.
Про это толдычу уже давно, что привязка к сторонним инструментам, какие бы офигенные они не были
это такая, весьма ощутимая попка. И не с точки зрения там чё-то шерстить в их исходниках, упаси лоссось
туда вообще влезать, утонешь на 20 лет и не разгребёшь.
И вот ты пишешь:
"Чтобы такое создать с нуля, надо ну несколько лет."
Да любое, что ты захочешь создать с нуля потребует годы, если нормально делать. Чем ты не доволен,
что работа есть работа, а не отдых? Ну уж извини, таков мир.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 13:30
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Бери базу QuickBasic.
А это документация как раз QuickBasic.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 13:33
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Гораздо приятней вариант. Потому что здесь на одно слово меньше, и сразу видно какая конструкция завершается.
Ты это скажи тем людям, у кого претензии к однострочному условию в бейсике.
Мнения всегда разные. Мне пофиг, я использую и то и то по надобности.
Нужен Паскаль, пишем на Паскале, он кстати приятный такой язычок. uses там uses тут
фигак, фигак и в продакшен. И с типами там понятнее что куда конвертируется, а если нельзя
сразу по башке от компилятора, пока код в стойло не поставишь.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 13:39
Цитата Сообщение от CoderHuligan Посмотреть сообщение
как раз QuickBasic
Версия 4.5

Добавлено через 3 минуты
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Мне пофиг, я использую и то и то по надобности.
Нужен Паскаль, пишем на Паскале, он кстати приятный такой язычок
Приятный потому что строгий, не допускает вольностей. И все типы в начале прописываются - наследие однопроходной природы компилятора, который генерил код в промежуточный язык, который потом на виртуальной машине исполнялся. Но сейчас то это зачем?. Там даже блочных переменных нет. А модули - да ГОРАЗДО лучше организованы, чем в си-подобных языках.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 13:54
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Версия 4.5
4.5. это как раз та калька с которой кастрат QBasic вышел, который и стал так популярен у детишек.
В целом да 4.5 и можно взять, но там фильтровать надо всё и вся.
Проще брать 4.0, но там компиль с ошибками, местами в правильно написанном коде выбивает String space corrupt.
Но это не важно если тебя интересует именно синтаксис.

Добавлено через 13 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
в частности им совместно с Туккелем
А без Туккеля он может? Видимо нет... Это ответ на "настоящий". Настоящий может.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 14:10
Цитата Сообщение от Quiet Snow Посмотреть сообщение
В целом да 4.5 и можно взять, но там фильтровать надо всё и вся.
Естественно. Пролистал: сколько много всяких вкусностей..
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Но это не важно если тебя интересует именно синтаксис.
Интересует именно спецификация на язык.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
А без Туккеля он может? Видимо нет...
Я не знаю. Но такие системы обычно в одиночку не делаются.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 14:25
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Я не знаю. Но такие системы обычно в одиночку не делаются.
И чё тогда об этом тут говорить? Пусть покажет что сам умеет не прикрываясь и не подкрепляясь
никем и потом уже с этими книгами лезет. Именно в таких условиях любые понты мгновенно заканчиваются.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
01.07.2024, 15:12
Цитата Сообщение от Замабувараев Посмотреть сообщение
Не обязательно бинарник делать. Собственно, так никто и не делает. Прошли те времена когда компилятор, ассемблер и линковщик сидели в одном файле.
Сейчас компилятор на выходе выдаёт листинг ассемблерный (или любое другое промежуточное представление: LLVM, си‐файл). Этот листинг поглощает программа‐ассемблер и делает объектный файл.
Поэтому задача сводится к тому, чтобы из текстового файла получить другой текстовый файл.
Неважно какие промежуточные шаги при этом используются, все это один процесс - компиляция (сюда же я отношу и линковку).
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
01.07.2024, 15:36
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Но сходу FB не ставится на линукс за один APT GET, там кроме него ещё библиотеки
нужны какие-то
Например, libtinfo. Ну чтобы выводить цветной текст на сонсоль.
Хотя в большинстве вариантов цветной текст не нужен, и эту библиотеку можно было бы уничтожить. Но нет, зависимость добавляется автоматически.
Раздработчики уже поднимали этот вопрос.
Я считаю, что никаких автоматических зависимостей быть не должно. Нужна библиотека — сам рукою её подключай.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
01.07.2024, 16:20
Цитата Сообщение от Замабувараев Посмотреть сообщение
Я считаю, что никаких автоматических зависимостей быть не должно. Нужна библиотека — сам рукою её подключай.
При линковке. Разумеется. Да ну их нафиг с этими зависимостями.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Интересует именно спецификация на язык.
В справке QB 4.5 всё есть. Ну разве что типы данных не указаны в операторах, но оно ведь
и так понимается если это LINE, то внутри - целочисленные либо INTEGER, либо LONG если мы говорим о QB.
Ограничения по переменным, массивам и их именам тоже в справке было, ищи.
Да в принципе какой-то специфической информации и не надо. Разве что тебе серьёзно придётся
покопаться при собственной реализации преобразования типов данных(int <-> float <-> dec), если ты
конечно не решишь тупо чью-то скоммуниздить. Мне было бы не интересно тырить вообще.
Я бы почитал теорию по вопросу и уже потом бы реализовывал, но сам.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
01.07.2024, 16:28
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Да любое, что ты захочешь создать с нуля потребует годы, если нормально делать. Чем ты не доволен,
Делать по сути повторяя уже кем-то сделанное, пускай оно будет и лучше, не интересно. А вот привнести что-то новое было бы интересно. Например есть идея вывернуть ООП наизнанку. Есть такая парадигма: ППП-Процедурно Параметрическое Программирование. Оно еще в стадии становления, но уже как бы пытается заменить ООП стиль. В нем процедуры могут обрабатывать разные типы данных посредством неявных таблиц функций. Но процедура тут реализует определенное действие, которое раскидывается на разные типы объектов. А это не всегда можно сделать (человек принимает пищу, а трактор заправляется). Я предлагаю, проверить такой вариант: каждая процедура реализует один объект. А действия принимает в качестве параметров. Например:
PureBasic
1
2
3
SUB круг(конкретный_объект, действие, дополнительный_список_параметров)
 
END SUB
При этом все возможные действия осуществляются через таблицу указателей на функции, как и в обычном ООП. Но здесь это делается более естественным образом. То есть у нас командный процедурный язык, который реализует возможности по расширению без потери скорости (по сравнению с ООП).При этом программа строится только из объектов=процедур. А реализация отдельных "методов" прописывается отдельно, и эти методы могут разделяться между различными объектами.
Это очень привлекательная вещь для проверки. При этом язык прячет детали реализации тех же таблиц как и ООП.

Ну и коорутины хочется реализовать..

Добавлено через 2 минуты
И все это поверх QB 4.5..

Добавлено через 3 минуты
Это может продлить существование процедурной парадигмы еще на энное количество времени.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.07.2024, 16:28

Coodo Games & Datcroft Games 3d Artist (Самара)
В Самарский офис требуется талантливый разработчик. 
О нас: - Мы разрабатываем только лучшие игры. Наши запущенные продукты:...

Coodo Games & Datcroft Games Lead Java Developer / Team Lead
Для решения задач, связанных с разработкой серверной части казино игр, нам в команду требуется сильный Java developer. Помимо технических...

Выполнить следующие операции в двоичной системе счисления: 10101,10101+1001,0011 101110,101-101,11 1011*111 1010101
Прямой, обратный и дополнительный коды двоичных чисел, их использование в двоичной арифметике. Выполнить с использованием кодов двоичных...

Даны действительные числа x1,…,x101, y1…,y101. Получить действительные x'1,…,x'101, y'1,…,y'101
Написать код в Free Pascal. Помогите, пожалуйста! Даны действительные числа x1,…,x101, y1…,y101. Получить действительные x'1,…,x'101,...

Bsod - *50,*3B, *101, *101
Доброго времени суток. Началось все после того как снял 2ю GTX 550 Ti(SLI) и немного разогнал оставшуюся(GPU c 900 до 1000, память с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru