Значок ресурса

Navarone Ablaze!

Нет прав на скачивание
🎮 Запустить в эмуляторе

Автор: Ken North
Год: 1982
Издатели: ZX Computing
Языки: 🇬🇧 Английский
Формат: 📼 TAP лента
Требования: 🖥️ ZX Spectrum 48K

Ссылки:
Страница на ZXArt
Страница на World Of Spectrum
Страница на Spectrum Computing

Скриншоты:
NavaroneAblaze.gif


Описание:
Navarone Ablaze!— это шутер, разработанный Кеном Нортом в 1982 году и опубликованный в ZX Computing. Игра предназначена для платформ ZX Spectrum 48K и ZX81 16K. Она представляет собой боковой скроллер, где игрок управляет самолетом, летящим справа налево над зенитной батареей.

Основная цель — сбрасывать бомбы на зенитные орудия, чтобы уничтожить их. Игроки могут сбрасывать бомбы, нажав клавишу 'M'. Игра ставит перед игроками задачу действовать быстро, так как стрелки точны и знают точную высоту самолета игрока. Чтобы выжить в раунде, нужно быстро уничтожить орудия.

Механика игры включает пользовательские графики, где определенные символы представляют самолет, бомбы и орудия. Экран настроен с белым небом, зелёной землёй и чёрной границей. Игровой цикл включает полет самолета, сброс бомб и уклонение от выстрелов зенитных орудий.

Игра позволяет некоторую настройку, например, изменение сложности путем изменения частоты огня зенитных орудий. Очки увеличиваются по мере успешного уничтожения всех орудий, а игра заканчивается, когда все самолеты потеряны. Программа включает в себя процедуры для настройки графики, управления движением самолета и бомб, и проверки попаданий по орудиям.

NAVARONE ABLAZE!


----------------


by Ken North


from ZX Computing, October/November 1982





A few user-defined graphics here, a blob of colour there, a BEEP or two tc


keep the neighbours bemused, and Ken North Of Ashford, creates this program


to keep trigger fingers twitching.








This program shows an aircraft flying from right to left above an


anti-aircraft battery. The A.A. guns are firing at the aircraft, and the


aircraft can drop bombs to destroy the guns. You drop a bomb by pressing the


'M' key.





The A.A. fire reduces when you knock out a gun, but beware, the gunners are


very accurate and have found your exact height, so you must knock a gun out


very quickly to survive a round.





The main program runs from line 10 to 299, and the REMs explain what the


other routines do.





The first section, lines 10 to 100, sets up the screen. Line 10 calls the


routine to set up the user-defined graphics. The DATA for these were


converted to decimal numbers, and then stored in lines 1100 to 1120. These


are then read and POKEd into the appropriate character. The aircraft uses the


graphic characters "A", "B" and "C". The bomb is "D" and the gun is "E".





Lines 20 and 30 set the screen colours to a white sky, green ground and a


black border.





The CLS command, after changing PAPER colour is, as you probably know,


important. If you don't CLS, the old paper colour remains, and only changes


when you print something, which can give you some strange and colourful


(although unwanted) effects.





Lines 40 and 60 set up the variables.





Lines 70 to 90 find the gun positions, line 85 checks for three different


positions, and line 100 prints the guns. The "E" is a graphics "E" which will


change to the gun after the first call to subroutine 1000.





Lines 110 to 200 are the loop for the aircraft printed in line 120. The "A",


"B" and "C" are the graphics and, in line 100, the trailing space is to clear


the last character as the aircraft moves across the screen. Line 140 checks


for key "M" and sets a flag F1. If set, the program jumps to the "bomb drop


routine". If clear, a PAUSE is put in so that the program runs at the same


speed as it does when a bomb is dropped.





The A.A. fire is controlled by line 170. The values can be changed to make


the game easier or harder, but the 1.8 seemed a good compromise. Line 180


again puts in a PAUSE to keep the routine the same, whether the guns fire or


not.





The variable HITS in line 190 checks to see if all three guns have been


destroyed, and if it finds that they have, increments the score, and then


branches to clear the ground and print a new battery. The rest of the main


program prints your score after you have lost all your aircraft.





The BOMB DROP routine prints the bomb if F1 is set. If the bomb hits the


ground, F1 is reset for the next key-push.





The check, to see if you have hit a gun, uses the ATTR function in line 340.


The ATTRibute call returns a value � in binary � which depends on certain


conditions. The MSB (bit 7) is for FLASH, bit 6 is for BRIGHT, bits 5 to 3


for PAPER colour and bits 2 to 0 for INK colour. In case of the gun, it is


not flashing, and is normal brightness, so bits 7 and 6 are at zero. The


PAPER is white, so bits 5 to 3 are all ones and the INK is red, so bit 1 is 1


and bits 2 and 0 are zero. This gives a BIN 00111010 which, when converted to


decimal, gives 58. If the program returns 58 at line 340, it branches to 400,


the SCORE and BANG routine. This causes the guns to explode ... and


increments the score.





The A.A. routine called by line 170 puts a flash on the screen, and checks if


it coincides with the nose of the aircraft. If it does, it calls the


SHOOTDOWN routine at line 600. SHOOTDOWN makes the aircraft crash, flashing


as it does so. The flash is confined to the plane, as it is locally defined


in the PRINT statement, and therefore ends with the statement. A PAUSE


follows, to allow you to get your breath back, before the action starts


again. You get six aircraft to try and destroy as many guns as you can.





If you want to make changes in colour, or to the A.A. fire, the only line you


have to be careful of is 340 with the ATTR function call. If you change the


sky colour (PAPER), or the gun colour (INK), you will have to work out the


corresponding ATTRibute, referring to page 116 of the manual.





Another thing to watch is whether the keyboard is in the C or L mode for the


bomb-drop. I've made the program run for the C mode, but line 140 could be


changed to read both by changing it to:





140 IF INKEY$="M" OR INKEY$="m" THEN LET F1=1
Автор
Verter_bot
Загрузки
0
Просмотры
14
Расширение
zip
Размер
1.5 КБ
Хэш
f95a08c6574b21ff9221bc8168656f26
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх