Herramientas de usuario

Herramientas del sitio


es:odiosum

¡Esta es una revisión vieja del documento!


ODIOSUM

Ficha

Autor Richard Hopkins
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1987
Género Arcade
Controles Teclado
Lenguajes Inglés
Estado Preservado

Capturas

Descripción

Listado

  • Listado - ODIOSUM.BAS
5 '********** ODIOSUM.BAS ***************
10 REM
20 REM Programma van Richard Hopkins uit 8000 PLUS
30 REM Juni 1988, pags. 62 + 63
40 REM Bewerking voor JOYCE Nieuws: Rolf van de Kamer
50 GOSUB 720
60 e$=CHR$(27):rv$=e$+"p":nv$=e$+"q":cl$=e$+"E"+e$+"H":on$=e$+"e":of$=e$+"f"
70 me$="*** O D I O S U M *** [q]=Left [e]=Right [p]=Jump [SPACE]=START [z]=END"
80 DEF FNat$(x,y)=CHR$(27)+"Y"+CHR$(31+x)+CHR$(31+y):PRINT of$:GOTO 670
90 x%=20:y%=24:a$=CHR$(160)+CHR$(161):b$=CHR$(162)+CHR$(163):e%=37:ed%=1:e1%=49:ed1%=-1
100 e2%=41:ed2%=1:k%=0
110 PRINT FNat$(x%,y%);"  ";FNat$(x%+1,y%);"  ":in$=INKEY$:IF in$="" THEN GOTO 170
120 IF IN$="q" THEN a$=CHR$(166)+CHR$(167):y%=y%+(y%>31)
130 IF y%/2=INT(y%/2) THEN b$=CHR$(170)+CHR$(171) ELSE b$=CHR$(168)+CHR$(169)
140 IF in$="e" THEN a$=CHR$(160)+CHR$(161):y%=y%-(y%<57)
150 IF y%/2=INT(y%/2) THEN b$=CHR$(164)+CHR$(165) ELSE b$=CHR$(162)+CHR$(163)
151 IF in$="z" THEN GOTO 700
160 IF in$="p" THEN GOTO 210
170 PRINT FNat$(x%,y%);a$;FNat$(x%+1,y%);b$:GOSUB 330
180 IF (y%=56 AND x%=20) OR (y%=56 AND x%=14 AND k%=1) THEN GOSUB 440
190 IF y%>42 AND y%<46 AND x%<15 THEN GOTO 290
200 IF x%=8 AND y%=31 THEN GOTO 650 ELSE GOTO 110
210 IF a$=CHR$(160)+CHR$(161) THEN j%=1 ELSE j%=-1
220 FOR z=-1 TO 1 STEP 0.5:PRINT FNat$(x%,y%);"  ";FNat$(x%+1,y%);"  "
230 x%=x%+(z*2):IF y%>31 AND y%<57 THEN y%=y%+j%
240 IF j%=-1 THEN b$=CHR$(168)+CHR$(169):IF y%/2=INT(y%/2) THEN b$=CHR$(170)+CHR$(171)
250 IF j%=1 THEN b$=CHR$(162)+CHR$(163):IF y%/2=INT(y%/2) THEN b$=CHR$(164)+CHR$(165)
260 PRINT FNat$(x%,y%);a$;FNat$(x%+1,y%);b$
270 IF l%=0 AND x%=11 AND (y%>33 AND y%<37) THEN GOSUB 310
280 GOSUB 330:NEXT:GOTO 170
290 PRINT FNat$(x%,y%);"  ";FNat$(x%+1,y%);"  "
300 x%=x%+1:PRINT FNat$(x%,y%);a$;FNat$(x%+1,y%);b$:GOSUB 330:GOTO 290
310 PRINT FNat$(11,35);"  ";FNat$(x%,y%);a$;CHR$(7):k%=1:FOR n=0 TO 255:OUT 246,n:NEXT
320 RETURN
330 GOSUB 490:PRINT FNat$(15,e%);"  ":e%=e%+ed%:PRINT FNat$(15,e%);CHR$(176);CHR$(177)
340 PRINT FNat$(9,e1%);"  ":e1%=e1%+ed1%:PRINT FNat$(9,e1%);CHR$(176);CHR$(177)
350 IF e%=31 OR e%=40 THEN ed%=-ed%
360 IF e1%=48 OR e1%=53 THEN ed1%=-ed1%
370 PRINT FNat$(5,e2%);"    ":e2%=e2%+ed2%
380 IF ed2%=1 AND e2%/2=INT(e2%/2) THEN PRINT FNat$(5,e2%);CHR$(184);CHR$(185);CHR$(186);CHR$(187)
390 IF ed2%=1 AND e2%/2<>INT(e2%/2) THEN PRINT FNat$(5,e2%);CHR$(184);CHR$(190);CHR$(191);CHR$(187)
400 IF ed2%=-1 AND e2%/2=INT(e2%/2) THEN PRINT FNat$(5,e2%);CHR$(180);CHR$(181);CHR$(182);CHR$(183)
410 IF ed2%=-1 AND e2%/2<>INT(e2%/2) THEN PRINT FNat$(5,e2%);CHR$(180);CHR$(188);CHR$(189);CHR$(183)
420 IF e2%=41 OR e2%=47 THEN ed2%=-ed2%
430 GOSUB 490:RETURN
440 PRINT FNat$(x%,y%);"  ";FNat$(x%+1,y%);"  ";FNat$(x%+2,y%-1);" ";STRING$(2,178);" "
450 x%=x%-1:PRINT FNat$(x%,y%);a$;FNat$(x%+1,y%);b$;FNat$(x%+2,y%-1);STRING$(4,179)
460 GOSUB 330:IF x%=14 OR x%=8 THEN RETURN ELSE GOTO 440
470 FOR n=0 TO 91:OUT 245,n:NEXT n
480 me$="Dead ! More luck next time! +++ ":GOTO 670
490 IF (x%=14 AND ABS(e%-y%)<2) OR (x%=8 AND ABS(e1%-y%)<2) THEN GOTO 470
500 IF (x%=5 AND y%-e2%>-2 AND y%-e2%<4) OR (x%=20 AND y%>42 AND y%<46) THEN GOTO 470
510 RETURN
520 PRINT cl$:OUT 248,8
530 FOR n=1 TO 25:PRINT FNat$(n,29);CHR$(173);CHR$(173);FNat$(n,59);CHR$(173);CHR$(173)
540 NEXT
550 PRINT FNat$(22,20);STRING$(11,179);rv$;STRING$(24,179);nv$;STRING$(4,179)
560 FOR n=23 TO 25:PRINT FNat$(n,31);rv$;STRING$(28,179);nv$:NEXT
570 PRINT FNat$(27,29);rv$;"   o   d   i   o   s   u   m    ";nv$
580 FOR n=17 TO 21:PRINT FNat$(n,29);"  ":NEXT
590 PRINT FNat$(8,29);CHR$(178);"  ";FNat$(9,29);CHR$(178);" "
600 PRINT FNat$(16,31);STRING$(24,172);FNat$(10,31);STRING$(24,172)
610 PRINT FNat$(16,43);SPACE$(4);FNat$(10,43);SPACE$(4);FNat$(10,20);STRING$(11,179)
620 PRINT FNat$(11,35);CHR$(174);CHR$(175);FNat$(21,44);CHR$(176);CHR$(177)
630 OUT 248,7:RETURN
640 FOR n%=0 TO 91:OUT 245,n%:NEXT
650 FOR N=-255 TO 255:OUT 246,ABS(n):OUT 245,ABS(n):NEXT:OUT 245,91:PRINT CHR$(7)
660 me$="+++ Congratulations - you finished Odiosum "
670 GOSUB 520
680 PRINT FNat$(28,29);rv$;LEFT$(me$,32);nv$:me$=RIGHT$(me$,LEN(me$)-1)+LEFT$(me$,1)
690 IF INKEY$<>" " THEN GOTO 680 ELSE GOTO 90
700 PRINT CHR$(27)+"E"+CHR$(27)+"H":CLEAR:END
710 REM ***** Grafische Loaders *****
720 MEMORY &HBFFE:FOR hex=&HC070 TO &HC098:READ pk:POKE hex,pk:NEXT hex
730 DATA 243,62,129,211,241,62,130,211,242,175,95,103,22,184,58,153,192,111,41,41
740 DATA 41,25,17,154,192,235,1,8,0,237,176,62,133,211,241,62,134,211,242,251,201
750 FOR char=160 TO 191:POKE &HC099,char
760 FOR row=1 TO 8:READ binary(row):POKE &HC099+row,(binary(row)):NEXT row
770 cl=&HC070:CALL cl:NEXT char
780 DATA 0,63,63,60,63,63,15,15,0,192,240,192,240,192,0,192
790 DATA 63,255,255,15,63,255,252,255,240,240,60,204,240,60,252,63
800 DATA 63,255,255,63,63,63,63,63,240,240,240,240,192,0,0,192
810 DATA 0,3,15,3,15,3,0,3,0,252,252,60,252,252,240,240
820 DATA 15,15,60,51,15,60,63,252,252,255,255,240,252,255,63,255
830 DATA 15,15,15,15,3,0,0,3,252,255,255,252,252,252,252,252
840 DATA 255,85,170,85,255,0,0,0,85,170,85,170,85,170,85,170
850 DATA 0,0,0,51,204,51,12,0,12,51,192,48,0,0,0,0
860 DATA 15,60,240,240,240,255,63,15,240,252,255,255,63,255,252,240
870 DATA 20,28,20,28,20,28,20,28,186,202,202,189,123,119,205,74
880 DATA 0,0,0,0,63,207,63,0,3,12,51,15,60,243,63,15,48,192,0,63,207,63,255,252,0,0,48,192,240,192,0,0
890 DATA 0,0,12,3,15,3,0,0,12,3,0,252,243,252,255,63,192,48,204,240,60,207,252,240,0,0,0,0,252,243,252,0
900 DATA 0,0,0,15,60,243,63,15,0,0,0,255,207,63,255,252
910 DATA 0,0,0,255,243,252,255,63,0,0,0,240,60,207,252,240
920 RETURN
930 REM Einde van de listing

Controles

      Q = IZQUIERDA
      E = DERECHA
      P = SALTO
  SPACE = COMENZAR JUEGO

Carga del programa

1.- Introducir el disco CP/M por la cara 2
2.- Escribir BASIC y esperar a que cargue
3.- Retirar el disco CP/M e introducir el disco que contiene el juego Odiosums
4.- Teclear run "Odiosum" y pulsar la tecla "ENTER"

Extras

  • Listado del programa en revistas de gran tirada de la época

odiosum_programa_01.jpg odiosum_programa_02.jpg

Descarga

  • Odiosum (juego en formato dsk, comprimido con zip)

Enlaces

es/odiosum.1483959829.txt.gz · Última modificación: 2017/01/09 14:03 por jevicac