Если вовремя с этого бейсика уйти. А не изобретать способы почесать левое ухо правой пяткой.
А для написания игр, имхо, стоит поискать специализированные программные пакеты.
Вид для печати
недавно наткнулся на ещё один - называется White Lightning.
http://www.worldofspectrum.org/infos...cgi?id=0008967
Бейсик для начинающих имхо лучший вариант чтобы почувствовать, что такое программирование вообще. А вреден недостаточными средствами структурирования программ и данных, что провоцирует спагетти-стиль программирования.
Удобно на смеси асма и ц. Жаль кроме hi-soft'овского 198.. г никто так и не прикололся на норм, редактор/компилер C под спек, а ведь была бы классная софтина. Если религия позволяет, можно заюзать pc-кросскомпилеры z88dk/sdcc.
если ты забыл "сохранить текст программы перед запуском"
то не сможешь даже загрузить снапшот в эмулятор для трассировки :D
Лолшто? С эмулятором отлаживать машинный код ПРОЩЕ бейсика!
На бейсике та же хрень, быстро ловятся только синтаксические ошибки и опечатки
Чушь - все давно придумано до нас, просто бери готовенькое
Даже лучше где-нибудь стырить процедуры, бо калькулятор глючный
Только нафиг начинающему игроделу вещественная арифметика?
Сразу прям Элиту чтоль переплюнуть?
Что такого запредельно сложного в каком-то rst10? :rolleyes:
А не нравится - опять же, возьми готовое (или даже лучше начать с написания своих)
Да машинный код даже без делений уделает тормознутый бейсик
Не говоря уж о том, что в простых игрушках оно не нада
Вот именно тем и вреден, что потом приходится отучать от "простых вещей" :p
Интересно, найдётся кто-нибудь, кто начинал программировать сразу на асме :)
Или хотя бы не на бейсике (калькулятор не в счёт).
SJASM: редактируем на PC, делаем простенькую автосборку - по запуску bat-файла всё само компилируется и запускается в эмуляторе. При сбросе ничего не теряется.
Опять-таки поможет эмулятор. В Unreal более чем достаточный debugger - нажал escape и ковыряйся в программе в своё удовольствие :)
Не соглашусь! Это касается любой сложной программы - чем сложнее структура, тем больше таких ошибок. Просто ассемблер позволяет писать более сложные программы, поэтому в них более сложные баги.
Со всем остальным соглашусь.
Советую определить цель:
1. Если цель - научиться программировать, то лучше начать с бейсика.
2. Если цель - написать игру, то лучше на бейсик время не тратить, т.к всё равно в итоге придется осваивать весь асм со всеми сложностями - так зачем делать двойную работу?
Это, естественно, имхо.
---------- Post added at 00:29 ---------- Previous post was at 00:23 ----------
Я точно помню, что начал асм изучать до того, как освоил смысл бейсиковских команд for, if и прочей базы. Максимум, что умел - цвет экрана поменять и файлы с диска подгрузить.
Учился по книге "Как написать игру" с робокопом - там хреново всё объяснялось, но мне хватило, чтобы хоть что-то зашевелилось на экране.
Не припомню, чтобы это что-то изменило - высокоуровневые управляющие структуры всё равно пришлось учить, но это уже были C, паскаль итд. На бейсике до сих пор их синтаксиса не знаю. Короче, мысль такая, что без бейсика не легче и не сложнее, если цель - освоить основы assembler'а.
---------- Post added at 00:33 ---------- Previous post was at 00:29 ----------
В общем, что я опять остро почувствовал - новичкам требуется Wiki по программированию - от статей по сборке и отладке до готовых примеров и мини-библиотек.
Мне, причем, самому - в первую очередь :D
Из частично бейсиковских можно вспомнись игрушки-стратегии от CCS: Blitzkrieg, Overlord.
Ассемблер ничем не лучше бейсика с этой точки зрения. А даже и хуже. В бейсике есть хотя бы именованные переменные, массивы, строки, циклы наконец. Они придают программе и данным хоть какую-то структуру.
Я не против ассемблера, просто возражаю против того, что на нем легче программировать, чем на бейсике.
---------- Post added at 03:14 ---------- Previous post was at 02:42 ----------
Я вообще-то имел в виду не кросс-компиляцию, а работу с ассемблером в эмулируемой системе (или на реале). Но даже если писать программу с прицелом на эмулятор: видишь, ты сам описал, сколько всего нужно. Какие-то bat-файлы создавать, стыковать ассемблер с эмулятором. С бейсиком проще. Там всё сразу есть. Не надо изучать доки к куче других программ. И программа на бейсике (если только она не делает какие-нибудь POKE или USR) не может привести к сбою компьютера.
И опять-таки: допустим, произошел сбой при пробном выполнении программы на ассемблере. Как в этом случае можно проследить его причину, если память перепахана? Бейсик же обычно останавливается с ошибкой, потому что там проверки постоянные на выход за пределы диапазона, NEXT без FOR и так далее.
Это все ничто по сравнению с преимуществами, которые предоставляют интерпретируемые языки типа бейсика. При останове программы в них можно распечатать любые данные, можно выполнять сложные команды этого языка или куски отлаживаемой программы, вычислять выражения. Изменить текст программы и продолжить ее работу. Всего этого в отладчиках компилируемых языков нет, даже отладчик Visual C++ сильно ограничен в своих возможностях к копанию в программе, что уж говорить об отладчике Unreal.
Видишь ли, я имел в виду такие ошибки, которые не сами по себе приводят к сбою, а портят где-нибудь содержимое памяти, так что программа сбивается спустя долгое время в другом месте. При программировании на бейсике вероятность подобных ошибок уменьшается, так как во-первых, имеются именованные переменные, и при присвоении переменной A нельзя испортить переменную B. Во-вторых в бейсике постоянно происходят проверки на предмет выхода за пределы диапазона и другие ошибки времени выполнения. Просто посчитай, сколько всего разных ошибок диагностируется бейсиком (сообщения 1-9, A-R). По сравнению с этим, сколько ошибок диагностируется ассемблером? Только две! Программа либо правильно работает, либо слегка глючит, либо компьютер полностью сбивается. А на бейсике больше вероятность останова программы с диагностикой на ранних стадиях ее выхода из-под контроля.
Это смотря какую игру. Начинающий программист, думаю, не потянет работу класса Sea Dragon, например. Такой программист должен понимать ограниченность своих возможностей и начать с чего-нибудь попроще, вроде тех примеров, что ранее приводились в этой ветке. Простую же игру не только можно, но и нужно писать на бейсике. Это быстрее приводит к успеху.
Маленькие успехи способствуют поддержке энтузиазма и стремлению к большим успехам. Рано или поздно человек сам осознает ограниченность бейсика и потянется к чему-нибудь более серьезному. Ведь почти все из нас этот путь прошли, так зачем от него отваживать новичков?