ZX Spectrum
Game

Procedures

Your Computer (Великобритания),

Автор:

Жанр: Программирование: BASIC


Доступные версии

 Неофициальное издание
Играть!

Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один
  • Описание
  • Описание (авт.пер.)
  • Информация

прор

Процедуры

        Ричард Тейлор с программой, чтобы ваши

       Спектр имитировать команды Proc Би-би.

Моя программа дает спектр все преимущества проце-

дур и локальные переменные – BBC Основные тонкости. Для того, чтобы пять новых команд, предлагаемые программы просты в использовании, вам просто положить их в неприметных заявлений РЗМ, без необходимости возиться со стычкой машинного кода звонков. Как можно было бы ожидать, программа написана в машинный код, о 1.5K него. […] Вы можете перезагрузить и в любое время с помощью:         CLEAR, 63764: LOAD “” CODE   Как я сказал ранее, новые команды ставятся в фундаментальных REM заявления, с лимитом одной команды на РЗМ. Для Программа для использования новых команд, его первая строка должна быть RANDOMIZE USR 63765.

 Команды Процедура

На данный момент я сосредоточусь на команды напрямую

связано с процедурами: DEFPROC, PROC и ENDPROC.

процедура блок Basic закодированный предшествует DEFPROC и прекращается с ENDPROC. Чтобы сохранить безличный Подход вызова блоков кода, используя номера строк, Процедуры использовать более гибкий и дружественный систему называя блоки кода по имени. Обычно имя Процедура будет коротким и дают некоторое представление Функция процедуры.

  Вы можете вставлять пробелы в, но компьютер их игнорирует. Вы также можете поместить имена в верхнем или нижнем регистре, или даже смеси из двух, но это не имеет никакого разница. То же самое можно сказать и о командах сами, хотя это имеет смысл поместить их в верхнем регистре, чтобы сделать Программа более читабельным. Иногда это хорошая идея, чтобы высоко- осветить начало и конец процедуры в обратной видео или в разные цвета, чтобы сделать его менее трудно найти при отладке. Общий формат процедуры будет следующим образом:         8000 REM DEFPROC вещь         8010         8020 Basic код         8030                  8200 REM ENDPROC   Это все очень хорошо, но вы должны каким-то образом на самом деле называя процедуры, так идет вдоль PROC, то “хай-тек” эквивалент GO SUB так же, как ENDPROC является эквивалентом ВОЗВРАЩЕНИЕ. Опять же, PROC можно положить в REM заявлении any- где в программе. За ней следуют имя Процедура вы хотите позвонить, так “PROC вещь” называет про- дура на линии 8000. пространства между PROC и имя не является обязательным. Вы можете удивиться, как программа знает, что существует процедура называется “вещь”, если компьютер имеет никогда ранее не выполняется линию 8000. Когда RANDOMIZE USR используется, машинный код просматривает каждую строку в Программа.

  Если какой-либо линии имеет DEFPROC в нем, то он ищет Название процедуры и то, что линия это на и магазины, Информация, содержащаяся в специальной области памяти. На самом деле, это специальная область памяти является в начале переменных Площадь. Машинный код устанавливает переменную строку под названием @ $ И ставит каких-либо данных о процедурах и другую информацию в что строка. Поскольку вы не можете изменить @ $ переменную из Основные Вы не сможете разрушить его – если вы не используете некоторые порочный Тычет! Тем не менее, вы можете использовать четкие и скраб из всех переменные. Программа не будет что-нибудь решительное, как аварии делать но просто дает отчет об ошибке. Как с GO СУБ вы можете Процедуры гнездо, но с ограниченной глубиной 255 уровней.   Существует еще один поворот в истории процедур: Понятие параметров. Когда вы пишете обычный Basic подпрограмма, это, как правило, приходится полагаться на переменные определены где-то в другом месте в программе, чтобы выполнять свои функции. Хотя прохождение числа к подпрограмме, таким образом, является вполне работоспособным, это, конечно, не самый изящный из методы.

  К счастью, есть изящный способ передачи значений в Процедура, которая работает в подобного рода мода на DEF FN и FN команды нормального Sinclair Basic. Скажем, у вас хочу процедуры, называемой «печать», которая ставит крестик на определенный строк и столбцов на экране. Вы должны написать как это:         8000 REM DEFPROC печати (х, у)         8010 PRINT AT Y, X; “X”         8020 REM ENDPROC   Содержание скобках в конце DEFPROC Заявление определить, какие переменные используются в соответствии с процедурой. Связано PROC может выглядеть примерно так:         20 REM PROC печати (10,12)   Когда процедура называется печати, число 10 является помещены в х, и в 12 г. Х и у на линии 8000 являются называется формальные параметры, переменные, которые будет проводить значения задается PROC. Процедура может иметь столько формальные параметры, как вам нравится, не включая их вовсе – в этом случае нет необходимости в скобках. Переменные сами по себе могут быть любого типа, как правило, найденного в Sinclair Основной, для переменных поля любого рода, за исключением, но это Маловероятно, что вы хотели бы использовать их для прохождения значения в любом случае. Поэтому, AB, $ и долго назвал переменная состоянии все действительны, но (1, г) и $ (3) не являются.

  В PROC заявлении вы можете использовать числа, строки – Заключены в обычных кавычек – или переменные – не смешивать это с формальными переменными – но должно быть столько же из них, как и в соответствующем DEFPROC и они должны быть правильными типов. Если первый DEFPROC формальная переменная строку, то первое выражение PROC Также должна быть строка. Вам не позволено делать какие-либо мате машины для отходов в PROC заявлении, так -1, 0,1 и “” действительны но 1 * 2, SIN (0,1) и SR $ (1) не являются. Следующие действия, Дюре рисует прямоугольник заданного размера и положения.         8000 REM DEFPROC прямоугольник (х, у, а, б)         8010 УЧАСТОК х, у         8020 нарисовать, 0: DRAW 0, б         8030 НИЧЬЯ -a, 0: вничью 0, -b         8040 REM ENDPROC

 Четыре числовые параметры

Процедура имеет четыре цифровых параметров. Первые два

дать позицию нижнего левого угла прямоугольника, предпоследний дает ширину и последний в Высота. PROC прямоугольник (88,68,80,40) рисует прямоугольник высота 40 и длина 80 удар удара в середине Экран.

  Последние две команды, предлагаемые программой, МЕСТНЫЙ и Напомним, обеспокоены локальных переменных. Концепция локальные переменные могут быть трудно и запутанной для одного к понять, но, в основном, это позволяет иметь две переменные с тем же именем, но с разными значениями в соединении пьютер одновременно.

  Много ошибок программирования вызваны использованием тех же Переменная дважды за противоречивых целей. Это своего рода ошибок часто особенно трудно отследить. Такой про- Блем не должны действительно иметь место, потому что есть 26 строка переменные на выбор, 26 контрольных переменных цикла и бесконечное число числовых переменных. Тем не менее, некоторые переменная ременных, как правило, привыкают намного больше, чем другие. Например а, б, в, г для числовых значений, в $, B $, C $ для строк, и я и п для управления контуром. Программисты, кажется, есть необъяснимое отвращение к помощи K, W, и тому подобное.

  Что команда LOCAL делает делает вторую копию некоторые переменные и хранить их в своей безопасной отверстии уютного местечка на Начало области переменных. Тогда с другой командой второй экземпляр может быть чудесным напомнил. Точка все упражнение является то, что если вы используете новую переменную в Процедура, то вы можете локализовать ее, прежде чем вы на самом деле получаете до его использования, так что, когда вы unlocalise когда ты Закончив, вы можете быть уверены, что он получил свое первоначальное значение обратно. Другая часть программы не будет даже знать, что вы тайно фальсификации некоторых его переменные.

  LOCAL командой следует одной или несколькими переменными Имена, разделенных запятыми. Эти имена Переменные, которые вы хотите локализовать. Команда, которая делает все unlocalising бизнес в процедуре наша предыду- менно представил друг, ENDPROC. А также возвращение Контроль на линии после вызывающего PROC, ENDPROC также unlocalises все переменные, которые были локализованы в том, что частности процедура. Например:         8000 REM DEFPROC бесполезно         8010 REM МЕСТНОЕ, $         8020 LET = 1         8030 ПУСТЬ $ = “Эта процедура ничего не делает”         8040 REM ENDPROC ничего не делает, поскольку эти две переменные и $ изменен Процедура локализованы, так что, когда процедура прекращается они меняются обратно к исходным значениям. Следите за вами, это верно только если и $ были определены при процедура называлась. Если они не были тогда МЕСТНОЕ Команда будет иметь большие трудности в локализации их – это не мешало бы с ошибкой, хотя – и ENDPROC бы есть столько трудности делокализующей их; с результатом что ENDPROC позволяет переменные сохраняют свои значения, как определены в процедуре.

  Существует одна лазейка на все это: вы можете о локально Calise формальные параметры процедуры. Проблема является то, что вы не можете, потому что к тому времени, компьютерные достигает первая линия вашей процедуры формальные переменные имеют Уже было изменено. Для сохранения подобных неприятностей, перед Значения формальных переменных изменяются компьютера авто- чески локализует их. Поэтому, не пытайтесь и возврат Значения в одном из формальных параметров процедуры – это закончится только в катастрофе.

  Последняя команда будет обсуждаться это помню. Напомним, это одинокий команда; он не имеет каких-либо аргументов после него. Напомним, это очень похоже на ENDPROC, за исключением того, не делает «Вернуться из процедуры” немного. Что это сделать, это unlocalise все ранее локализованные переменные в процедуре. Если вас есть большое желание сделать так, по какой-то неясной причине, вы может локализовать переменные вне процедуры с использованием Сочетание МЕСТНЫХ и вспомнить команд.

  Программа добавляет ряд новых отчетов об ошибках в Синклер Basic. Их получают в основном так же, как нормальные ошибки, с тем исключением, что они не являются prece- Дед буквенно-цифровым кодом. Линия, на которой компьютер останавливается из-за ошибки не всегда, где ошибка на самом деле является. Например, если компьютер перестает с “Синтаксическая ошибка” на PROC линии, то ошибка может лежать связано DEFPROC. Ниже приведен полный список всех новых Отчеты и их возможные причины производится.

“Неверное имя процедуры” – Ты пытался дать проце-

                            Дюре имя, которое не состоит                             из всего письма.

“Область данных очищается» – Вы использовали четкое заявление                             и стирается программа в безопасности                             отверстие уютного местечка в начале                             Переменные область.

“DEFPROC не найден” – Вы использовали PROC с именем                             из процедуры, которая не                             существует.

«Вернуться стек полный” – вы можете ‘только’ процедуры гнездо                             до предела в 255 уровней.

                            Это ошибка, которую вы получите, если                             Вы превышать этот предел. Это                             будет только нормально произойдет, если                             Вам удается написать процедуру                             которая называет себя, либо                             прямо или косвенно.

“ENDPROC без DEFPROC ‘- Компьютер наткнулась                             ENDPROC и не выполнял                             Процедура в то время. [Заметка:                             это также произойдет, если вы бродячих                             в порядке, используя нормальный                             Основные команды, например, если                             Вы помещаете все свои процедуры на                             запуск программы и                             забыть, чтобы перепрыгнуть через них.] “PROC Ошибка параметра” – Там либо другой                             Количество параметров между                             связано PROC и DEFPROC                             или некоторые из них не компании                             Правильный тип.

“ВЫЗОВ без местного” – Вы уже пробовали использовать ВЫЗОВ                             за пределами процедуры без                             ранее с использованием местных. “Синтаксическая ошибка” – Это может быть вызвано из-за                             множество причин, таких, как                             пропавших без вести запятую или кронштейн.

Программа также может производить нормальные Основные ошибки, наиболее

в частности ошибка C – “Ерунда в BASIC” и 2 – “Variable не найдено “.

  Листинг 2 дает простой демонстрацией процедур как применяется к реальным, если очень простой, приложения. Применений катионов Я говорю о это программа, которая позволяет

рисовать линии по экрану с помощью клавиш управления курсором.

Для игры в Procedures не нужны эмуляторы. Приложения для разработки программ на бейсике, изданное в Великобритании в 1985 году компанией Your Computer, которое разработал Richard Taylor.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

avatar
  Subscribe  
Уведомлять об
 

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Помощь

Размер

  • x1 [256x192]
  • x2 [512x384]
  • x3 [768x576]
  • Полный

Диск

Кликни в окно эмулятора, чтобы управлять!
<<<<
Close