A downloadable game for Windows, macOS, and Linux

PETWALK for BASIC 10 Liner Contest 2021 - WILD CATEGORY

Instructions: (English)

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

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.


Instrucciones: (Spanish)

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

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 model o 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.


Código fuente:

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


Download

Download
petwalk.zip 210 kB
Download
petwalk-instructions.pdf 112 kB
Download
petwalk-code-explanation.pdf 49 kB
Download
petwalk.bas 5.1 kB

Leave a comment

Log in with itch.io to leave a comment.