апрель 7, 2021

Outbreak by 0xC0DE

Добавить в
Мои игры
Торрент
Скачать

# BASIC 10 LINER CONTEST 2021: OUTBREAK

## Запись

Название: Вспышка

Автор: [0xC0DE](https://twitter.com/0xC0DE6502)

Категория: ПУР-80

Платформа: Acorn Electron, BBC Micro

Язык: BBC BASIC 2

## Инструкции

Разбейте стену из 112 цветных кирпичей битой и мячом. Перемещайте летучую мышь влево и вправо с помощью клавиш со стрелками влево и вправо соответственно. У вас есть 3 жизни, чтобы набрать как можно больше очков. Существует бесконечное количество кирпичных стен, так что вам лучше начать!

## Запуск игры

Конечно, в Outbreak можно играть на настоящем Acorn Electron или BBC Micro. Для вашего удобства он также будет работать в эмуляторе, таком как [Electrem] (http://electrem.emuunlim.com/Downloads.html), [Beebem] (https://github.com/stardot/beebem-windows) или [jsbeeb] (https://bbc.godbolt.org/).

Загрузите [образ диска](https://github.com/0xC0DE6502/bbc-basic-experiments/blob/master/outbreak/outbreak.ssd) и откройте его с помощью одного из эмуляторов. В эмуляторе удерживайте SHIFT и нажмите BREAK (обычно клавиша F12), чтобы автоматически загрузить образ диска и начать играть в Outbreak.

## Список игр (с подтверждением PUR-80)

```

REM01234567890123456789012345678901234567890123456789012345678901234567890123456789 РЭМ0 1 2 3 4 5 6 7 0MO.2:A=-1:V.23;8202;0;0;0;23,A,A;A;A;A;:X=7:Y=28:R=3:Q=0: F=31:S=32:T=64:@%=&505 1V.4,12:MOV.0,Y:F.K=1TOS:V.4-(K=S),A:P.SP.18;:V.A:N.:V.4,F,11,30:P.Q;" ";R:M=79 2F.K=4TO11:V.F,3,K:F.L=1TO14:C.RND(7):V.A:N.,:C.7:V.F,2,30:P."OUTBREAK":G=112 3B=X+2:C=5:V=.2*RND(4)-.5:W=1:GC.3,7:MOV.B*T,C*S:V.5,M:IFR <3А.Г<112СО.0,-10,6,5 4X=X+(INKEY-26A.X>0)-(INKEY-122A.X<15):V.4,F,X,Y,-S*(X>0),X<1,A,A: О=В:ИФГ=0G.1 5V.A,-S*(X<15),5:P=C:B=B+V:C=C+W:IFB<1B=1:V=-V:EL.IFB>18:B= 18:V=-V:ME$="0xC0DE" 6I=O*T+S:J=P*S-16:IFC=5A.B>=X+.3A.B<=X+3.7W=-W:V=(B-X-2)*.4:SO .1,-10,80,1 7Z=PO.I,J):IFC>S:C=S-W:W=-W:EL.IFC<-1R=R-1:V.4,F,17,30:P.;R:G. -3*(R>0):ГОД=2021 8D=C>5A.Z:IFD:SO.1,-10,150,1:MOV.T*(I DIVT),S*(J DIVS)+28:GC.3,Z:V.A:Q=Q+Z :C=PW 9GC.3,7:MOV.O*T,P*S:V.M:MOV.B*T,C*S:V.M:IFD:W=-W:G=G-1:V.4,F,11 ,30:P.Q:G.4EL.G.4 REM01234567890123456789012345678901234567890123456789012345678901234567890123456789 РЭМ0 1 2 3 4 5 6 7

```

## Объяснение в строке

```

0MO.2:A=-1:V.23;8202;0;0;0;23,A,A;A;A;A;:X=7:Y=28:R=3:Q =0:F=31:S=32:T=64:@%=&505

```

Инициализация. Переключитесь на графический РЕЖИМ 2 (160x256x8), отключите курсор (из косметических соображений) и создайте пользовательский графический символ 255 (UDG). Это твердый блок, используемый для стен слева и справа, для самой кирпичной стены и для летучей мыши. Инициализируйте жизни (R) и очки (Q). Определите начальную позицию летучей мыши игрока (X и Y). Определите несколько констант (F, S, T), чтобы сохранить программу в неизменном виде.рт насколько это возможно. Наконец, убедитесь, что мы печатаем числа в правильном формате (@%).

```

1V.4,12:MOV.0,Y:F.K=1TOS:V.4-(K=S),A:P.SP.18;:V.A:N.:V.4,F,11 ,30:PQ;" ";R:M=79

```

Начальный уровень. Переключитесь в текстовый режим, очистите экран и нарисуйте стену слева и справа. Это 32 (S) строки текста. Покажите начальный счет (Q) и жизни (R) в текстовой позиции (11,30) внизу экрана. Определите константу M как 79, которая является кодом буквы "O", также известной как мяч.

```

2F.K=4TO11:V.F,3,K:F.L=1TO14:C.RND(7):V.A:N.,:C.7:V.F,2,30:P."OUTBREAK":G= 112

```

Нарисуйте кирпичную стену. Стена сложена из цветного кирпича 14x8 (=112) (UDG 255). Каждому кирпичу случайным образом назначается один из 7 цветов: красный, зеленый, желтый, синий, пурпурный, голубой и белый. Название игры (Outbreak) отображается в текстовой позиции (2,30), а счетчик кирпичей (G) инициализирован до 112 (= 14x8 кирпичей). Это нужно нам, чтобы определить, все ли кирпичи разбиты или нет.

```

3B=X+2:C=5:V=.2*RND(4)-.5:W=1:GC.3,7:MOV.B*T,C*S:V.5, М:ИФР<3А.Г<112СО.0,-10,6,5

```

Стартовый мяч. Установите исходное положение (B, C) мяча ('O') посередине и чуть выше летучей мыши. Установите начальную (случайную) горизонтальную скорость (V) и (фиксированную) вертикальную скорость (W) мяча. Нарисуйте шар белого цвета. Если мы только что потеряли жизнь, воспроизведите звук крушения.

```

4X=X+(INKEY-26A.X>0)-(INKEY-122A.X<15):V.4,F,X,Y,-S*(X>0),X<1,A ,А:О=В:IFG=0G.1

```

Переместите и нарисуйте летучую мышь. Обновите горизонтальное положение (X) летучей мыши, проверив клавиши со стрелками влево и вправо. Нарисуйте левую часть летучей мыши. Запомните текущее горизонтальное положение шара (O), чтобы мы знали, где его стереть позже. Если мы разбили все 112 кирпичей, мы начинаем «следующий» уровень с первой строки.

```

5V.A,-S*(X<15),5:P=C:B=B+V:C=C+W:IFB<1B=1:V=-V:EL.IFB>18 :B=18:V=-V:ME$="0xC0DE"

```

Переместить мяч. Нарисуйте правую часть летучей мыши. Запомните текущее вертикальное положение шара (P), чтобы мы знали, где его стереть позже. Обновите положение мяча, используя горизонтальную и вертикальную скорость (V,W). Если мяч ударяется о левую или правую стену, нам нужно инвертировать его горизонтальную скорость, чтобы создать эффект отскока. Пасхалка: мой псевдоним 0xC0DE.

```

6I=O*T+S:J=P*S-16:IFC=5A.B>=X+.3A.B<=X+3.7W=-W:V=(B-X-2)*. 4:SO.1,-10,80,1

```

Отбить мяч. Рассчитайте графическое положение центра шара. Это используется в следующих строках для обнаружения столкновений. Если мяч находится прямо над битой, инвертируйте его вертикальную скорость для эффекта отскока. Кроме того, отрегулируйте его горизонтальную скорость в зависимости от того, где именно мяч попал в биту. Это обеспечивает разные углы отскока от биты. Воспроизведите звук, чтобы показать, что бита снова ударила по мячу вверх.

```

7Z=PO.I,J):IFC>S:C=S-W:W=-W:EL.IFC<-1R=R-1:V.4,F,17,30:P.;R :G.-3*(R>0):ГОД=2021

```

Вертикальные границы. Во-первых, получите цвет (Z) пикселя вцентр шара. Это грубое обнаружение столкновения между мячом и кирпичом, используемое в следующей строке. Если мяч достиг верхней части экрана, инвертируйте его вертикальную скорость для эффекта отскока. Если мяч достиг нижней части экрана, вы теряете жизнь. Обновите количество жизней (R), показанное на экране. Если у вас еще остались жизни, продолжайте играть с линии 3. Если жизни достигли нуля, игра окончена и игра начинается снова с линии 0. Пасхальное яйцо: год создания этой игры.

```

8D=C>5A.Z:IFD:SO.1,-10,150,1:MOV.T*(I DIVT),S*(J DIVS)+28:GC.3,Z:V.A:Q= Q+Z:C=P-W

```

Ударь кирпич. Если мяч находится где-нибудь на экране над летучей мышью, а цвет (Z) в центре мяча отличается от черного, мы попали в кирпич! Воспроизведите звук, чтобы показать это и сотрите этот кирпич. Увеличивайте количество очков в зависимости от цвета кирпича: красный +1, зеленый +2, желтый +3, синий +4, пурпурный 5, голубой +6 и белый +7.

```

9GC.3,7:MOV.O*T,P*S:V.M:MOV.B*T,C*S:V.M:IFD:W=-W:G=G-1:V.4, F,11,30:P.Q:G.4EL.G.4

```

Перерисовать мяч. Сотрите мяч в его старой позиции (O,P) и нарисуйте его в новой позиции (B,C). Если мы попали в кирпич (как проверено в предыдущей строке), уменьшите общий счетчик кирпичей (G) и обновите свой счет (Q), как показано на экране. Наконец, продолжайте играть с строки 4.

Вспышка – Copyright (C) 2021 [0xC0DE](https://twitter.com/0xC0DE6502)

Как скачать Outbreak by 0xC0DE через торрент

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

  • Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
  • Выбираем и скачиваем подходящий торрент-файл репака Outbreak by 0xC0DE
  • Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
  • После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!