Advertisement
lovejoy777

Agon-Demo-01

Dec 21st, 2023 (edited)
1,182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ZXBasic 5.29 KB | Source Code | 0 0
  1.    10 REM ******************************
  2.    20 REM *        AGON LIGHT 2        *
  3.    30 REM *                            *
  4.    40 REM *       BBC BASIC DEMO       *
  5.    50 REM *     WRITTEN FOR MODE 8     *
  6.    60 REM *      BY STEVE LOVEJOY      *
  7.    70 REM ******************************
  8.    80 :
  9.    90 REM MAIN SETUP.
  10.    95 CLEAR
  11.   100 PROC_LOAD_VARS : REM CALL LOAD_VARS.
  12.   110 PROC_LOAD_CHARS : REM CALL LOAD_CHARS.
  13.   120 PROC_INIT_SCREEN : REM CALL INITSCREEN.
  14.   130 PROC_MAINLOOP : REM CALL MAIN LOOP.
  15.   140 VDU 30 : REM MOVES CURSOR HOME (TOP LEFT) | 0,0).
  16.   250 END : REM END MAIN SETUP.
  17.   260 :
  18.  1000 DEF PROC_MAINLOOP : REM ****** MAIN LOOP ******
  19.  1010 CLS : REM CLEAR THE SCREEN.
  20.  1020 NX = 16 : REM SET X.
  21.  1030 NY = 0 : REM SET Y AT THE TOP OF THE SCREEN.
  22.  1040 :
  23.  1050 FOR J=1 TO 64 : REM LOOP FOR COLOUR CHANGE.
  24.  1055 CLS : REM CLEAR THE SCREEN BETWEEN EACH COLOUR CHANGE.
  25.  1060 COLOUR J : REM ASSIGN COLOUR OF J.
  26.  1065 PROC_DRAW_HUD : REM DRAW THE HUD (BORDER).
  27.  1070 IF NY <=29 THEN NY = NY+1 : REM INCREMENT THE Y POSITION EACH COLOUR LOOP.
  28.  1075 IF NY >29 THEN NY = 0 : REM RESET Y AFTER IT MOVES OFF THE SCREEN.
  29.  1080 PROC_DRAW_AGON(NX,NY) : REM THIS ALLOWS YOU TO MOVE THE TEXT WITH CODE.
  30.  1085 ANYKEY%=INKEY(4) : REM DELAY
  31.  1090 NEXT J : REM LOOP J.
  32.  1100 :
  33.  2000 ENDPROC : REM END MAIN_LOOP.
  34.  2010 :
  35.  5500 DEF PROC_INIT_SCREEN : REM ***** INIT_SCREEN ****
  36.  5510 :
  37.  5520 MODE mode% : REM SETS SCREEN MODE FROM VARS.
  38.  5530 CLS : REM CLEAR TEXT SCREEN.
  39.  5540 CLG : REM CLEAR GRAPHICS SCREEN.
  40.  5550 PROC_HIDE_CURSOR : REM CALL HIDE_CURSOR.
  41.  5560 ENDPROC : REM END INIT_SCREEN
  42.  5570 :
  43.  5580 DEF PROC_HIDE_CURSOR : REM ******* HIDE_CURSOR *******
  44.  5590 VDU 23,1,0;0;0;0;
  45.  5600 ENDPROC
  46.  5610 :
  47.  5620 DEF PROC_SHOW_CURSOR : REM ****** SHOW_CURSOR *******
  48.  5630 VDU 23,1,1;0;0;0;
  49.  5640 ENDPROC
  50.  5650 :
  51.  7710 DEF PROC_LOAD_CHARS : REM ****** LOAD_CHARS TO MEMORY ******
  52.  7720 REM ASSIGN A to CHRS.
  53.  7730 VDU 23,201,0,0,0,0,1,1,7,7
  54.  7740 VDU 23,202,30,30,126,126,254,254,254,254
  55.  7750 VDU 23,203,31,31,126,126,120,120,0,0
  56.  7760 VDU 23,204,158,158,30,30,30,30,6,6
  57.  7770 REM ASSIGN G to CHARS.
  58.  7780 VDU 23,205,127,127,127,112,112,112,112,112
  59.  7790 VDU 23,206,254,254,254,0,0,6,6,30
  60.  7800 VDU 23,207,112,112,112,127,127,127,0,0
  61.  7810 VDU 23,208,30,30,30,254,254,254,30,24
  62.  7820 REM ASSIGN O to CHARS.
  63.  7830 VDU 23,209,127,127,127,112,112,112,112,112
  64.  7840 VDU 23,210,254,254,254,14,14,14,14,14
  65.  7850 VDU 23,211,112,112,112,127,127,127,0,0
  66.  7860 VDU 23,212,14,14,14,254,254,254,0,0
  67.  7870 REM ASSIGN N to CHARS.
  68.  7880 VDU 23,213,96,120,120,126,126,127,127,127
  69.  7890 VDU 23,214,14,14,14,14,14,142,142,254
  70.  7900 VDU 23,215,127,113,113,112,112,112,0,0
  71.  7910 VDU 23,216,254,254,254,126,126,30,30,6
  72.  8170 :
  73.  8190 REM HUD CHARS.
  74.  8200 VDU 23,237,255,255,192,192,192,192,192,192 : REM TOP LEFT CORNER.
  75.  8210 VDU 23,238,255,255,3,3,3,3,3,3 : REM TOP RIGHT CORNER.
  76.  8220 VDU 23,239,192,192,192,192,192,192,255,255 : REM BOT LEFT CORNER.
  77.  8230 VDU 23,240,3,3,3,3,3,3,255,255 : REM BOT RIGHT CORNER.
  78.  8240 VDU 23,241,255,255,0,0,0,0,0,0 : REM TOP STRAIGHT.
  79.  8250 VDU 23,242,0,0,0,0,0,0,255,255 : REM BOT STRAIGHT.
  80.  8260 VDU 23,243,192,192,192,192,192,192,192,192 : REM LEFT STRAIGHT.
  81.  8270 VDU 23,244,3,3,3,3,3,3,3,3 : REM RIGHT STRAIGHT.
  82.  8280 :
  83.  8290 ENDPROC : REM END LOAD_CHARS.
  84.  8300 :
  85.  8400 DEF PROC_LOAD_VARS : REM **** LOAD_VARS *****
  86.  8410 REM GIVE COLOURS A NAME.
  87.  8411 COLBLACK% = 0
  88.  8412 COLRED% = 1
  89.  8413 COLGREEN% = 2
  90.  8414 COLYELLOW% = 3
  91.  8415 COLBLUE% = 4
  92.  8416 COLMAGENTA% = 5
  93.  8417 COLCYAN% = 6
  94.  8418 COLWHITE% = 7
  95.  8419 COLINTRED% = 9
  96.  8420 COLINTGREEN% = 10
  97.  8421 COLINTYELLOW% = 11
  98.  8422 COLINTBLUE% = 12
  99.  8423 COLINTMAGENTA% = 13
  100.  8424 COLINTCYAN% = 14
  101.  8425 COLINTWHITE% = 15
  102.  8450 mode% = 8 : REM SET MODE HERE.
  103.  8460 RT% = 31 : REM SET RIGHT TEXT.
  104.  8470 LT% = 2 : REM SET LEFT TEXT.
  105.  8480 T1X = 0 : REM TITLE TEXT AGON X.
  106.  8490 T1Y = 0 : REM TITLE TEXT AGON Y.
  107.  8500 :
  108.  8700 ENDPROC : REM END LOAD_VARS.
  109.  8800 :
  110.  9000 DEF PROC_DRAW_AGON(T1X,T1Y) : REM ****** DRAW_AGON ******
  111.  9010 :
  112.  9020 REM FROM CUSTOM CHARS DEFINED PREVIOUSLY.
  113.  9030 REM AGON.
  114.  9040 REM DISPLAY A (2x2) CHARS.
  115.  9060 PRINT TAB(T1X,T1Y);CHR$(201);CHR$(202)
  116.  9070 PRINT TAB(T1X,T1Y+1);CHR$(203);CHR$(204)
  117.  9080 REM DISPLAY G (2x2) CHARS.
  118.  9090 PRINT TAB(T1X+2,T1Y);CHR$(205);CHR$(206)
  119.  9100 PRINT TAB(T1X+2,T1Y+1);CHR$(207);CHR$(208)
  120.  9110 REM DISPLAY O (2x2) CHARS.
  121.  9120 PRINT TAB(T1X+4,T1Y);CHR$(209);CHR$(210)
  122.  9130 PRINT TAB(T1X+4,T1Y+1);CHR$(211);CHR$(212)
  123.  9140 REM DISPLAY N (2x2) CHARS.
  124.  9150 PRINT TAB(T1X+6,T1Y);CHR$(213);CHR$(214)
  125.  9160 PRINT TAB(T1X+6,T1Y+1);CHR$(215);CHR$(216)
  126.  9260 ENDPROC : REM END DRAW_AGON.
  127.  9270 :
  128.  9600 DEF PROC_DRAW_HUD : REM ***** DRAW_HUD *******
  129.  9610 :
  130.  9620 PRINT TAB(0,0);CHR$(237) : REM TL CORNER.
  131.  9630 FOR TB = 1 TO 38 : REM TOP BORDER.
  132.  9640  PRINT TAB(TB,0)CHR$(241)
  133.  9650 NEXT TB
  134.  9660 PRINT TAB(39,0)CHR$(238) : REM TR CORNER.
  135.  9670 FOR LB = 1 TO 27 : REM LEFT BORDER.
  136.  9680  PRINT TAB(0,LB)CHR$(243)
  137.  9690 NEXT LB
  138.  9700 FOR RB = 1 TO 27 : REM RIGHT BORDER.
  139.  9710  PRINT TAB(39,RB)CHR$(244)
  140.  9720 NEXT RB
  141.  9730 PRINT TAB(0,27);CHR$(239) : REM BL CORNER.
  142.  9740 FOR BB = 1 TO 38 : REM BOTTOM BORDER.
  143.  9750  PRINT TAB(BB,27)CHR$(242)
  144.  9760 NEXT BB
  145.  9770 PRINT TAB(39,27);CHR$(240) : REM BR CORNER.
  146. 10000 ENDPROC : REM END DRAW_HUD.
  147.  
Tags: Agon Light 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement