Pico10L (MSX) by Roberto Capuano

Add to
My games
Add to
Wishlist
Save to
Collection
No reviews
Exceptional
Meh
Skip

About

# Pico10L

Pico10L is an implementation in MSX2 BASIC of classic Picross game.

he game consists in guessing the pixels to 1 of the image.

# Controls

- Cursor keys to move the cursor

- SPACE to invert state of a pixel

- 'x' to mark a pixel as 0

- '.' to mark a pixel with initial state

- ENTER to check if puzzle is risolved

- ESC to abandon game e go to next puzzle.

Sources are stored at: https://github.com/robertocapuano/BASIC10L/Pico10L

#Variables

PT: Points

ER: errors

SY:symbols

NR next row

NC: next col

CR contatori per riga

CC contatori per colonna

GC= character to guess

CP= char pointer

PA: power array

CB: char byte

CM: mappa del carattere

UM: mappa dell'utente

BB=grid base

VB=base(5)=video table

PB=base(7)=char memory

# Source Description

```

0 screen1,0,0:COLOR1,15,15:KEYOFF:CLS:DEFINTA-Z:VB=base(5):R=RND(-TIME):BB=VB+266:PB=BASE(7):sy(0)=46:SY(1)=254:PA(7)=1

```

- initialize screen and some variables

```

1 forI=6to0step-1:PA(i)=PA(i+1)*2:next:ifGC<>0thenforI=0to7:forJ=0to7:vpokeBB+I*32+j,SY(CM(I,J)):nextJ,I:k$=INPUT$(1)

```

- initialize power array

- in case of game end draw real value of pixels

```

2 cls:PLAY"T120O4L15A":GC=RND(1)*255:CP=PB+GC*8:fori=0TO7:CB=VPEEK(CP+I):forJ=0to7:CM(I,J)=-((CBANDPA(J))>0):nextJ,I

```

- initialize GC (char to guess)

- read value of pixel from char memory to initialize user map

```

3 ?"PTS"PT:forI=0to7:forJ=0to7:vpoke BB+I*32+j,SY(0):UM(I,J)=0:next J,I:forI=0to7:CR=0:CC=0:NR=0:NC=0:R=0:C=0:forJ=0to7: 

```

- print points

- initialize for loop to calculate sequences of 0/1 bits

```

4 CR=CR-(CM(I,J)=1):if(CM(I,J)=0orJ=7)andCR>0thenNC=NC+1:VPOKEBB+8+32*I+NC,48+CR:CR=0

```

- Calculute sequences of horizontal 0/1 bits

```

5 CC=CC-(CM(J,I)=1):if(CM(J,I)=0orj=7)andCC>0thenNR=NR+1:VPOKEBB+32*(NR+8)+I,48+CC:CC=0

```

- Calculute sequences of vertical 0/1 bits

```

6 if RND(1)<0.1 and CM(I,J)>0 then UM(I,J)=1:vpoke BB+I*32+J,SY(1):nextJ,I:LOCATE 8,8:else nextJ,I:LOCATE 8,8

```

- randomically add some hints.

```

7 k=ASC(INPUT$(1)):P=BB+R*32+C:ifK=120orK=46thenvpokeP,K:UM(R,C)=0:elseifK=32thenUM(R,C)=UM(R,C)xor1:vpokeP,SY(UM(R,C))

```

- user inputs: 'x' and '.'

```

8 ifK=30andr>0thenR=R-1:elseifK=31andR<7thenR=R+1:elseifK=28andC<7thenC=C+1:elseifK=29andC>0thenC=C-1:elseifk=27then1

```

- user inputs: cursors

```

9 LOCATE8+C,8+R:ifk=13then ER=0:forI=0to7:forJ=0to7:ER=ER-(UM(i,j)<>CM(i,j)):nextj,I:ifER=0thenPT=PT+1:goto2:else7:else7

```

- user inputs: enter

- check if puzzle is resolved.

Platforms
Genre
Release date
Developer
BASIC 10Liner
Age rating
Not rated

System requirements for PC

Read more...
Pico10L (MSX) by Roberto Capuano screenshot, image №3821650 - RAWG
Edit the game info
Last Modified: Mar 13, 2023

Where to buy

itch.io