март 16, 2022

Don't Stand So Close To Me by Cout

Добавить в
Мои игры
Торрент
Скачать
################################# # Не стой так близко ко мне # # БАЗОВЫЙ 10-строчный конкурс 2022 # # электронная почта: [email protected] # #################################

Задача

====

Чтобы выжить, стоя в комнате 10x10, когда зараженный человек перемещается по комнате.

Инструкции по игре

=================

Когда игра начнется, вы увидите пустую комнату 10x10, и вам будет предложено ввести координаты X и Y, где вы хотите стоять.

После ввода двух цифр от 0 до 9 вы будете отображаться на экране в виде буквы "I".

Однако в зараженной комнате находится еще кто-то, кто будет случайным образом стоять где-то в комнате, что будет отображаться как зеленая буква "О".

Инфекция распространится на одну ячейку сетки, окружающую зараженного человека, и также станет зеленой.

Если вы стоите там, где находится человек, или в одной из зеленых ячеек сетки, вы заразитесь, и игра окончена.

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

Управление

=======

С помощью клавиатуры введите цифры от 0 до 9.

Требования к игре

===================

– Commodore 64 с использованием BASIC 2.0

или

– Эмулятор VICE или CCS64

БАЗОВЫЙ код

==========

0 B=53280:pokeB,0:pokeB+1,0:print"{clear}{white}НЕ СТОЙ КО МНЕ БЛИЗКО -- COUT 2022":S=0 1 C$="{sh asterisk*5}":B$="{space*5}":print"{cm a}"C$C$"{cm s}":forI=1to10:print"{sh -}"B$B$"{sh -}":next:K=40 2 print"{cm z}"C$C$"{cm x}":D=0:print"GUESS (X,Y) SCORE:"S:gosub8:X=A:gosub8:Y=A:gosub9 3 print"I":gosub9:X=W:gosub9:Y=W:gosub9:E=1105+Y+X*K:IFPEEK(E)=32THENPRINT"O" 4 R=48:N=32:forB=-1to1:forC=-1to1:G=E+B+C*K:F=заглянуть(G):еслиF=9тогD=1 5 U=54273:Q=23:M=33:X=-1:Y=-1:ifF<33THENpokeG+54272,5:ifF=32THENpokeG,102 6 следующийC,B:ifD=1THENX=11:Y=-1:GOSUB9:print"{red}{reverse on}ВЫ ЗАРАЗИЛИСЬ! ОЦЕНКА:"S"{white}":END 7 S=S+1:тыкатьU+Q,21:тыкатьU+4,9:тыкатьU+5,0:тыкатьU,R:тыкатьU+3,N:тыкатьU+3,M:GOSUB9:GOTO1 8 Z=rnd(-TI):A$="":getA$:ifA$=""илиA$<"0"илиA$>"9"то8 9 A=val(A$):W=int(rnd(1)*9):poke781,X+2:poke782,Y+1:poke783,0:sys65520:возврат

Код с комментариями (с исправлениями для нескольких операторов IF в одной строке)

==============

000B = 53280: ПЕРЕМЕННАЯ REM ИСПОЛЬЗУЕТСЯ ДЛЯ ЦВЕТА ГРАНИЦЫ/ФОНА 001pokeB,0:REM УСТАНОВИТЬ ЧЕРНУЮ РАМКУ 002pokeB+1,0:REM УСТАНОВИТЬ ФОН НА ЧЕРНЫЙ 003print"{clear}{white}НЕ СТОЙ КО МНЕ БЛИЗКО -- COUT 2022": REM DISPLAY TITLE 004S=0:REM ПЕРЕМЕННАЯ ДЛЯ СЧЕТА 100C$="{sh asterisk*5}":REM STRING ДЛЯ ОТОБРАЖЕНИЯ ВЕРХНЕЙ И НИЖНЕЙ СЕТКИ * 2 101B$="{space*5}":REM STRING ДЛЯ ОТОБРАЖЕНИЯ И ОЧИСТКИ СЕТКИ * 2 102print"{cm a}"C$C$"{cm s}":REM DISPLAY ВЕРХ РЕШЕТКИ С УГЛАМИ 103forI=1to10:REM ЦИКЛ ЧЕРЕЗ 10 РЯДОВ 104print"{sh -}"B$B$"{sh -}":REM ОТОБРАЖЕНИЕ КРАЯ И ПРОСТРАНСТВА ДЛЯ СЕТКИ 105next:REM КОНЕЦ ПЕТЛИ ЧЕРЕЗ 10 РЯДОВ 106K=40:REM ПЕРЕМЕННАЯ ДЛЯ ПОЛОЖЕНИЯ БУКВ НА ЭКРАНЕ 200print"{cm z}"C$C$"{cm x}":REM DISPLAY BOТОМ РЕШЕТКИ С УГЛАМИ 201D=0:REM ПЕРЕМЕННАЯ ДЛЯ СМЕРТИ 202print"УГАДАЙТЕ (X,Y) ОЦЕНКА:"S:REM ОТОБРАЖЕНИЕ ПОДСКАЗКИ И ОЦЕНКИ 203gosub800:REM ПОЛУЧАЕТ ЗНАЧЕНИЕ ОТ ПОЛЬЗОВАТЕЛЯ (И В ГЕНЕРАТОР СЛУЧАЙНЫХ ИСПРАВЛЕНИЙ) 204X=A:REM СОХРАНЯЕТ ЗНАЧЕНИЕ ОТ ПОЛЬЗОВАТЕЛЯ В ИГРОКЕ X (КООРДИНАТ X) 205gosub800:REM ПОЛУЧАЕТ ЗНАЧЕНИЕ ОТ ПОЛЬЗОВАТЕЛЯ (И ПЕРЕДАЕТ СЛУЧАЙНЫЙ ГЕНЕРАТОР SEED) 206Y=A:REM СОХРАНЯЕТ ЗНАЧЕНИЕ ОТ ПОЛЬЗОВАТЕЛЯ В ИГРОКЕ Y (КООРДИНАТ Y) 207gosub900:REM POSITION CURSOR BY CALL SYS STATE 300print"I":REM DISPLAY USER TO SCREIN 301gosub900:REM ПОЛУЧИТЬ СЛУЧАЙНОЕ ЧИСЛО ДЛЯ ЗАРАЖЕННЫХ X (КООРДИНАТ X) 302X=W:REM СОХРАНЯЕТ ЗНАЧЕНИЕ СЛУЧАЙНОГО ЧИСЛА В ПЕРЕМЕННОЙ X (КООРДИНАТА X) 303gosub900:REM ПОЛУЧИТЬ СЛУЧАЙНОЕ ЧИСЛО ДЛЯ ЗАРАЖЕННЫХ Y (КООРДИНАТ Y) 304Y=W:REM СОХРАНЯЕТ ЗНАЧЕНИЕ СЛУЧАЙНОГО ЧИСЛА В ПЕРЕМЕННОЙ Y (КООРДИНАТА X) 305gosub900:REM POSITION CURSOR BY CALLING SYS STATE 306E=1105+Y+X*K:REM ВЫЧИСЛЯЕТ ПОЛОЖЕНИЕ ЗАРАЖЕННОГО ЧЕЛОВЕКА 307IFPEEK(E)=32THENPRINT"O":REM ОТОБРАЖАЕТ ЗАРАЖЕННОГО ЧЕЛОВЕКА O, ЕСЛИ ПУСТО 400R=48:REM ПЕРЕМЕННАЯ, ИСПОЛЬЗУЕМАЯ ДЛЯ ЗВУКА BING В ЛИНИИ 700 401N=32:REM ПЕРЕМЕННАЯ ИСПОЛЬЗУЕТСЯ ДЛЯ ЗВУКА BING В ЛИНИИ 700 402forB=-1to1:REM ПРОХОД ЧЕРЕЗ КОЛОННЫ ДЛЯ ЗАРАЖЕННОЙ ЗОНЫ 403forC=-1to1:REM ПЕТЛЯ СКВОЗЬ РЯДЫ ДЛЯ ЗАРАЖЕННОЙ ЗОНЫ 404G=E+B+C*K:REM ОПРЕДЕЛИТЬ ПОЛОЖЕНИЕ ЭКРАНА 405F=peek(G):REM ПОЛУЧИТЬ КОД СИМВОЛА С ЭКРАНА 406ifF=9thenD=1:REM ЕСЛИ БУКВА I, ТО ПОЛУЧИТЬ ПЕРЕМЕННУЮ СМЕРТИ ДО 1 500U=54273:REM ПЕРЕМЕННАЯ ИСПОЛЬЗУЕТСЯ ДЛЯ ЗВУКА BING В ЛИНИИ 700 501Q=23:REM ПЕРЕМЕННАЯ ИСПОЛЬЗУЕТСЯ ДЛЯ ЗВУКА BING В ЛИНИИ 700 502M=33:REM ПЕРЕМЕННАЯ ИСПОЛЬЗУЕТСЯ ДЛЯ ЗВУКА BING В ЛИНИИ 700 503X=-1:REM СБРОСИТЬ ПОЛОЖЕНИЕ X ДЛЯ КУРСОРА ПУТЕМ ВЫЗОВА SYS ПРЕДЛОЖЕНИЕ 504Y=-1:REM СБРОС Y-ПОЗИЦИИ КУРСОРА С ПОМОЩЬЮ ВЫЗОВА SYS-ЗАЯВЛЕНИЯ 505ifF<33THENpokeG+54272,5:GOTO507:REM ЕСЛИ СИМВОЛ НЕ ГРАНИЦЫ, СТАНЕТ ЗЕЛЕНЫМ 506GOTO600:REM #ДОБАВЛЕНО ИСПРАВЛЕНИЕ ДЛЯ НЕСКОЛЬКИХ УСЛОВИЙ IF В ОДНОЙ ЛИНИИ# 507ifF=32THENpokeG,102:REM, ЕСЛИ СИМВОЛ ПУСТОЙ (НЕ I), СДЕЛАТЬ ЕГО ХЭШ-СИМВОЛОМ 600nextC,B:REM КОНЕЦ ПЕТЛИ ЧЕРЕЗ РЯДЫ КОЛОННЫ ДЛЯ ЗАРАЖЕННОЙ ЗОНЫ 601ifD=1THENX=11:Y=-1:GOTO603:REM ЕСЛИ НЕТ, УСТАНОВИТЕ ПОЛОЖЕНИЕ КУРСОРА НА НИЖЕ СЕТКИ 602GOTO700:REM #ДОБАВЛЕНО ИСПРАВЛЕНИЕ ДЛЯ НЕСКОЛЬКИХ УТВЕРЖДЕНИЙ IF В ОДНОЙ ЛИНИИ# 603GOSUB900:REM POSITION CURSOR BY CALLING SYS STATE 604print"{red}{reverse on}ВЫ ЗАРАЗИЛИСЬ! ОЦЕНКА:"S"{white}":REM DISPAY END 605КОНЕЦ:РЕМ ОСТАНАВЛИВАЕТ ИГРУ 700S=S+1:REM ДОБАВЛЯЕТ ЕДИНИЦУ К СЧЕТУ 701pokeU+Q,21:REM НАСТРОЙКА SID ЧИПА ДЛЯ ИЗГОТОВЛЕНИЯ ЗВУКА 702pokeU+4,9:REM НАСТРОЙКА SID ЧИПА ДЛЯ ИЗГОТОВЛЕНИЯ ЗВУКА 703pokeU+5,0:REM НАСТРОЙКА SID ЧИПА ДЛЯ ИЗГОТОВЛЕНИЯ ЗВУКА 704pokeU,R:REM НАСТРОЙКА SID ЧИПА ДЛЯ ИЗГОТОВЛЕНИЯ ЗВУКА 705pokeU+3,N:REM НАСТРОЙКА SID ЧИПА ДЛЯ ПРОИЗВОДСТВА ЗВУКА 706pokeU+3,M:REM НАСТРОЙКА SID ЧИПА ДЛЯ ИЗГОТОВЛЕНИЯ ЗВУКА 707GOSUB900:REM POSITION CURSOR BY CALLING SYS STATE 708GOTO100:REM ВЕРНУТЬСЯ НАЗАД И ПОКАЗАТЬ НОВУЮ СЕТКУ 800Z=rnd(-TI):REM ИСПОЛЬЗУЕТСЯ ДЛЯ ЗАСЕЧЕНИЯ СЛУЧАЙНОГО ЗАРАЖЕННОГО ЧЕЛОВЕКА 801A$="":REM ОЧИЩАЕТ ПЕРЕМЕННУЮ, ИСПОЛЬЗУЕМУЮ ДЛЯ ПОЛЬЗОВАТЕЛЬСКОГО ВВОДА 802getA$:REM ПОЛУЧАЕТ ПЕРЕМЕННУЮ ДЛЯ ВВОДА 803ifA$=""orA$<"0"orA$>"9"then800:REM ЕСЛИ КЛАВИША НЕ НАЖАТА ИЛИ НЕ НАЖИМАЕТСЯ 0-9 ТОГДА ПОДОЖДИТЕ 900A=val(A$):REM ПРЕОБРАЗУЕТ СТРОКОВЫЙ ВВОД ОТ ПОЛЬЗОВАТЕЛЯ В ПЕРЕМЕННУЮ 901W=int(rnd(1)*9):REM ПОЛУЧАЕТ СЛУЧАЙНОЕ NUMBER ДЛЯ ЗАРАЖЕННЫХ ОТ 0-9 902poke781,X+2:REM ВЫБИРАЕТ ПОЛОЖЕНИЕ КУРСОРА ДЛЯ X 903poke782,Y+1:REM ТАКЕТ ПОЛОЖЕНИЕ КУРСОРА ДЛЯ Y 904poke783,0:REM ТАКЕТ ПОЛОЖЕНИЕ КУРСОРА 905sys65520: REM ВЫЗЫВАЕТ SYS ROUTINE ДЛЯ ПОЛОЖЕНИЯ КУРСОР 906return:REM ВОЗВРАЩАЕТСЯ К ПРОГРАММЕ ВЫЗОВА

Как скачать Don't Stand So Close To Me by Cout через торрент

Всего несколько простых шагов:

  • Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
  • Выбираем и скачиваем подходящий торрент-файл репака Don't Stand So Close To Me by Cout
  • Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
  • После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!