A downloadable game

*** PETWALK for BASIC 10 Liner Constest 20211 ***
*** WILD CATEGORY ***
*** A game by Antonio Silva - AvlixA ***
**(English) ******************************************************
PETWALK is a ZX Spectrum 48k game.   Go through the park as a maze.  Find the bone and take it to your master to go to the next park.
**Instructions:
You are Jarly the dog,  and today you went for a walk in the park.  You must find the bone  and bring it to your owner who will be somewhere in the park.
When you find the bone and give it to your owner you can go to another park. The game includes 5 different parks.
In the park there are children  who will chase you to play with you and bother you, which will make you lose strength.  Watch out that your strength does not reach zero.
To avoid the children you can leave droppings  scattered around the park, which will stop them for a moment.  But be careful not to step in one of your own droppings, which will also cause you to lose time.
**Keyboard: 
    - Left: O
    - Right: P
    - Up: Q
    - Down: A
    - Excrement: M,N,B or SPACE
**On the right you can see a marker with:
    • Strength: you start with 20 and if it reaches 0 you will be too tired to continue your walk and your master will take you back home.
    • Points: get points for the bone, take the bone to your master and when a child steps on one of your droppings.
    • Bones: when you get the bone the score will be set to 1 and you can take it to your master.
**Load the game:
Use a ZX Spectrum 48k emulator for example Fuse ( https://sourceforge.net/projects/fuse-emulator/ ).  In the bottom left corner of Fuse you will see the Spectrum model you are using.  If you see a model other than Spectrum 48K you must change the model in the Machine - Select (or F9) option and select the Spectrum 48K option.
To load the game open the file petwalk.tap in the File - Open option.
To run the game press R (for RUN) and ENTER.   The first time the game is loaded, and as long as the emulator is not closed or  reseted, it should generate the graphics.  Once the game is finished it can be restarted with RUN and ENTER and does not need to regenerate the graphics.
**(Spanish) ********************
PETWALK es un juego para ZX Spectrum 48k.   Recorre el parque a modo de laberinto.  Encuentra el hueso y llevalo a tu amo para avanzar al siguiente parque.
**Instrucciones:
Eres el perro Jarly  y hoy has salido a dar una vuelta por el parque.  Debes encontrar el hueso  y llevarlo a tu amo que estarán en algún lugar del parque.
Cuando encuentres entregues el hueso a tu amo podréis ir a otro parque. El juego incluye 5 parques diferentes.
En el parque hay niños que te perseguirán para jugar contigo y te molestarán, lo que te hará perder fuerza.  Vigila que la fuerza no llegue a cero.
Para evitar a los niños puedes dejar excrementos  repartidos por el parque, que les detendrá por un momento.  Pero vigila no pisar uno de tus propios excrementos que también te harán perder tiempo.
**Teclado: 
    • Izquierda: O
    • Derecha: P
    • Arriba: Q
    • Abajo: A
    • Excremento: M,N,B o ESPACIO
**A la derecha tienes un marcador con:
    • Fuerza: comienzas con 20 y si llega a 0 estarás muy cansado para seguir tu paseo y tu amo te llevará de vuelta a casa
    • Puntos: consigue puntos por el hueso, llevar el hueso a tu amo y cuando un niño pisa uno de tus excrementos
    • Huesos: cuando consigas el hueso el marcador se pondrá a 1 y podrás llevarlo a tu amo
**Cargar el juego:
Utiliza un emulador de ZX Spectrum 48k por ejemplo Fuse ( https://sourceforge.net/projects/fuse-emulator/ ).  En la esquina inferior izquierda de Fuse aparece el modelo de Spectrum utilizado.  Si aparece uno diferente a Spectrum 48K debes cambiar el modelo en la opción Machine – Select (o F9) seleccionar la opción Spectrum 48K.
Para cargar el juego abre el fichero  petwalk.tap en la opción File – Open.
Para ejecutar el juego pulsa R (para RUN) y ENTER.   La primera vez que se carga el juego, y mientras no se cierre el emulador o no se resetee debe generar los gráficos.  Una vez terminada la partida se puede reiniciar con RUN y ENTER y no necesita regenerar los gráficos.
**Listing of the game *************************************
1 RESTORE : READ x,y,a,v,w,z,m,n,d,o,p,q,s,e,f,a$,b$,u$,d$,c$,k: DIM m$(30,5): DIM s$(5): LET t$="BE A GOOD DOG! BRING THE BONE!": BORDER 5: PAPER 6: CLS : PRINT AT 20,2;"Generating graphics. .": FOR i=0 TO 4-5*(PEEK 65368=164): READ e$: FOR j=1 TO LEN e$ STEP 2: PRINT AT 20,21; OVER 1;"....": POKE 65367+(j/2)+(i*32),(16*( CODE (e$(j))-48))+ CODE (e$(j+1))-48: NEXT j: NEXT i: GO TO 10: DATA 0,-2,0,0,0,1,5,5,0,5,5,1,8,20,0,"\c\d\f\g\d\d\e\e\e\e\e","\h\h\i\j\k\h\i\j\k","\b\a\a\a\b","\n\o\p\q","009011210016053016018300511029263002037031821",1
2 LET x=x+((IN 57342=190)-(IN 57342=189))*(a=0): LET y=y+((IN 65022=190)-(IN 64510=190))*(a=0): LET z=(x<>v)+(y<>w): LET t=(z>0)*(ATTR (y,x)>=32): LET x=(x*t)+(v*(t=0)): LET y=(y*t)+(w*(t=0)): LET z=(x=v)*(y=w)+2*(x<v)+7*(x>v)+3*(y<w)+4*(y>w): LET b=(IN 32766<>191)*(z>1)
3 LET m=m+SGN (x-m)*((PEEK PEEK 23672)>l)*(d=0): LET n=n+SGN (y-n)*((PEEK PEEK 23672)>l)*(d=0): LET q=(m<>o)+(n<>p): LET t=(q>0)*(ATTR (n,m)>=32): LET m=(m*t)+(o*(t=0)): LET n=(n*t)+(p*(t=0)): LET q=(m=o)*(n=p)+2*(m<o)+3*(m>o)+4*(n<p)+5*(n>p)
4 LET g=ATTR (y,x): LET c=8*(g=48)+10*(g=33)*(h=1): LET c=c*(c>0)+5*(x=m)*(y=n)*(c=0): LET c=c*(c>0)+7*(c=0): LET a=5*(g=34)-(a>0): LET d=5*(ATTR (n,m)=34)-(d>0): LET h=h+(g=39): LET f=f+5*(g=39)+(d=5)+10*(g=33)*(h=1): LET k=k+(c=10): LET c=c-4*(k=6): PRINT PAPER 6;AT 5,24;f;AT 6,23;h: GO TO c
5 LET e=e-1: PRINT PAPER 6;AT 4,25;e,: BEEP .03,30: GO TO 6+1*(e>0): DATA ":45842995:815228>7814521044113>70002030<5<3:227:0040<23<3>424181","0002433<7<4282811018103818181<08081<1818381018101818087>18282424","181810385<1:28241818187>181824241818001<3:5:24440006070?18?0>060","385438003?78286<80808080808080800101010101010101??00000000000000","00000000000000??0018141:364>?>00"
6 FOR j=1 TO 30: BEEP .01,5+j: NEXT j: PRINT PAPER 2; INK 7;AT 18,0;" YOU ARE TOO TIRED TO CONTINUE  " AND (k<6);" WE WILL COME BACK ANOTHER DAY  " AND (k<6);"PRESS RUN + ENTER TO PLAY AGAIN " AND (k<6): PRINT PAPER 4; INK 1;AT 18,0;" WELL DONE! YOU COMPLETED YOUR  " AND (k=6);" WALK IN THE PARKS SUCCESSFULLY " AND (k=6);"PRESS RUN + ENTER TO PLAY AGAIN " AND (k=6): STOP 
7 PRINT AT y,x;a$(z);AT w,v;" " AND (z>1); INK 2;AT w,v;"\r" AND (b=1): LET v=x: LET w=y: PRINT AT n,m;b$(q);AT p,o;" " AND (q>1): LET o=m: LET p=n: GO TO 2
8 PRINT AT 10+INT ((s-1)/5),20+s-5*INT ((s-1)/5); OVER 1;" ": LET s=s+5*(y=16)-5*(y=1)+(x=16)-(x=0): LET x=x*(x>0)*(x<16)+15*(x=0)+1*(x=16): LET y=y*(y>1)*(y<16)+15*(y=1)+2*(y=16): RANDOMIZE s+k: LET m=3+(RND*0)+INT (RND*11): LET n=m+1: LET v=x: LET w=y: LET o=m: LET p=n
9 LET s$=m$(s): PRINT PAPER 4;AT 2,1;,: PAPER 3: INK 7: PRINT AT 2,1;u$;u$ AND (s$(3)="0");AT 2,11;u$: FOR i=3 TO 14: LET t=(i<6)+(i>11): PRINT PAPER 4; INK 0;AT i,1;,: PRINT AT i,1;"\b" AND (t+(s$(1)="0"));AT i,15;"\b" AND (t+(s$(2)="0"));AT i,3+RND*10;"\a" AND (i>3)*(i<14): NEXT i: PRINT PAPER 4; INK 0;AT 15,1;,: PRINT AT 15,1;u$;u$ AND (s$(4)="0");AT 15,11;u$: PAPER 4: INK 0: PRINT AT 11,8; INK 7;"\l" AND (s$(5)="3")*(h=0); INK 1;"\m" AND (s$(5)="2"): PRINT PAPER 6;AT 4,17;"STRENGH:";e,;AT 5,17;"POINTS:";f;AT 6,17;"BONES:";h: PRINT AT y,x;a$(z);AT n,m;b$(q): PRINT AT 10+INT ((s-1)/5),20+s-5*INT ((s-1)/5); BRIGHT 1;" ";CHR$ 8; OVER 1;("\n"+CHR$ 8) AND s$(1)="0";("\o"+CHR$ 8) AND s$(2)="0";("\p"+CHR$ 8) AND s$(3)="0";("\q"+CHR$ 8) AND s$(4)="0": GO TO 2
10 PAPER 6: LET o=1+(k-1)*9: LET r=VAL c$(o TO 2+o): LET s=VAL c$(3+o TO 4+o): LET g=VAL c$(5+o TO 6+o): LET h=VAL c$(7+o TO 8+o): PRINT AT 0,9;"-- PET WALK --";AT 20,0;,,;AT 2,17;"PARK: ";k;AT 16,9;"2021 BY AVLIXA";AT 17,4;"FOR BASIC 10 LINER CONTEST";AT 8,17;"MOVEMENT: OPQA";AT 9,17;"EXCREMENT:M,SPC";AT 10,17;,;AT 11,17;,;AT 12,17;,;AT 13,17;,;AT 14,17;,;AT 15,17;,: RANDOMIZE r: FOR i=1 TO 30: LET l=((i-1)/5<>INT ((i-1)/5)): LET u=(i>5): LET t=RND*0+INT (RND*2)*((i/5)<>INT (i/5)): LET w=INT (RND*2)*(i<26): LET m$(i,2)=STR$ (t): LET m$(i,4)=STR$ (w): LET p=0*(i=1)+VAL (m$(i-1*(i>1),2))*l*(i>1): LET v=0*(i<6)+VAL (m$(i-5*(i>5),4))*u*(i>5): LET m$(i,1)=STR$ (p): LET m$(i,3)=STR$ (v): LET m$(i,5)=STR$ ((i=s)+2*(i=g)+3*(i=h)): PRINT AT 20,i;t$(i): BEEP .01,20: LET i=i-(m$(i,1 TO 4)="0000")*(i<30): NEXT i: LET x=8: LET y=8: LET h=0: LET l=180-20*k: GO TO 8</p)+5*(n></o)+3*(m></w)+4*(y></v)+7*(x>

Download

Download
petwalk.tap 5.4 kB
Download
petwalk-code-explanation.pdf 49 kB
Download
petwalk-instructions.pdf 112 kB

Leave a comment

Log in with itch.io to leave a comment.