Random game
Random demo
Random game
Entry name:
 Boxes 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Games
  • Year:

    1983
  • Code:

    John Trigge
  • Controllers:

    Joystick
  • Maximum players:

    2
  • Programming language:

    Atari BASIC
Boxes Boxes Boxes Boxes Boxes Boxes Boxes Boxes Boxes
Listing 1
2REM#BOXES
3REM#byJohnTrigge
4REM#PublishedbyAtariComputer
5REM#Enthusiasts(N.S.W.)
6REM#April1983
10GOSUB890
20GRAPHICS17:C=8:?#6:?#6;"MOVEUP"
30?#6;"ORDOWNTOCHOOSE"
40?#6;"GRIDSIZE"
50?#6:?#6;"presstriggerto"
60?#6;"startgame"
70?#6:?#6;"16SQUARES"
80?#6:?#6;"25SQUARES"
90?#6:?#6;"36SQUARES"
100?#6:?#6;"49SQUARES"
110?#6:?#6;"64SQUARES"
120?#6:?#6;"81SQUARES"
130?#6:?#6;"USERDEFINED"
140IFSTRIG(0)=0THEN140
150POSITION3,C:?#6;"":FORW=1TO100:NEXTW
160IFSTICK(0)=13THENPOSITION3,C:?#6;"":C=C+2:IFC=22THENC=8
170IFSTICK(0)=14THENPOSITION3,C:?#6;"":C=C-2:IFC=6THENC=20
180IFSTRIG(0)=1THEN150
190IFC<>20THENH=C/2:V=H:GOTO340
200GRAPHICS17:?#6:?#6;"INPUTGRIDSIZEBY"
210?#6;"MOVING"
220?#6;"UPORDOWNUNTIL"
230?#6;"DESIREDVALUEIS"
240?#6;"SHOWN"
250?#6:?#6;"presstriggerto":?#6;"entervalue"
260C=1:P=18:POSITION4,P:?#6;"horizontal":L=19:GOSUB280:H=C
270C=1:P=20:POSITION6,P:?#6;"vertical":L=9:GOSUB280:V=C:GOTO340
280IFSTRIG(0)=0THEN280
290POSITION15,P:?#6;C;"":FORW=1TO100:NEXTW
300IFSTICK(0)=14THENC=C+1:IFC>LTHENC=1
310IFSTICK(0)=13THENC=C-1:IFC<1THENC=L
320IFSTRIG(0)=1THEN290
330RETURN
340GRAPHICS5:SETCOLOR0,6,8:SETCOLOR1,12,12:SETCOLOR2,1,4:COLOR3:POKE752,1
350HOR=39-2*H:VER=19-2*V
360FORI=HORTOHOR+H*4STEP4
370FORJ=VERTOVER+V*4STEP4
380PLOTI,J:NEXTJ:NEXTI
390DIMGRID(H,V),SC(1):FORI=1TOH:FORJ=1TOV:GRID(I,J)=1:NEXTJ:NEXTI:SC(0)=0:SC(1)=0
400PL=0:HPOS=HOR:VPOS=VER
410IFSTRIG(0)=0THEN410
420?CHR$(125);"PLAYER";PL+1;":":?"USEJOYSTICK";PL+1;"TOSELECTSTARTING":?"POINT,THENPRESSTRIGGER"
430COLORPL+1:PLOTHPOS,VPOS:FORW=1TO50:NEXTW:SOUND0,0,0,0
440IFSTRIG(PL)=0THEN510
450IFSTICK(PL)=14THENGOSUB500:VPOS=VPOS-4:IFVPOS<VERTHENVPOS=VER+4*V
460IFSTICK(PL)=13THENGOSUB500:VPOS=VPOS+4:IFVPOS>VER+4*VTHENVPOS=VER
470IFSTICK(PL)=11THENGOSUB500:HPOS=HPOS-4:IFHPOS<HORTHENHPOS=HOR+4*H
480IFSTICK(PL)=7THENGOSUB500:HPOS=HPOS+4:IFHPOS>HOR+4*HTHENHPOS=HOR
490COLOR3:PLOTHPOS,VPOS:FORW=1TO50:NEXTW:GOTO430
500POKE77,0:COLOR3:PLOTHPOS,VPOS:SOUND0,40+PL*40,10,6:RETURN
510POKE77,0:?CHR$(125);"PLAYER";PL+1;":":?"MOVEJOYSTICKRIGHTORDOWNTODRAW":?"LINE"
520IFSTICK(PL)=13THENS=1:GOTO550
530IFSTICK(PL)=7THENS=2:GOTO550
540GOTO520
550POKE77,0:HP=(HPOS-HOR)/4+1:VP=(VPOS-VER)/4+1
560IF((HP=H+1)ANDSTICK(PL)=7)OR((VP=V+1)ANDSTICK(PL)=13)THEN580
570ONSGOTO610,680
580?CHR$(125):?""
590FORI=1TO5:SOUND0,200,10,10:FORJ=1TO20:NEXTJ:SOUND0,100,10,10:FORJ=1TO20:NEXTJ:NEXTI
600GOTO420
610IFHP>1THENIFGRID(HP-1,VP)/3=INT(GRID(HP-1,VP)/3)THEN580
620IFHP<=HTHENIFGRID(HP,VP)/7=INT(GRID(HP,VP)/7)THEN580
630PLOTHOR+4*(HP-1),VER+4*(VP-1)+1:DRAWTOHOR+4*(HP-1),VER+4*(VP-1)+3
640IFHP>1THENGRID(HP-1,VP)=GRID(HP-1,VP)*3:IFGRID(HP-1,VP)=210THENGOSUB740:GOSUB780:FL=1
650IFHP<=HTHENGRID(HP,VP)=GRID(HP,VP)*7:IFGRID(HP,VP)=210THENGOSUB750:GOSUB780:FL=1
660IFFL=0THENPL=1-PL
670FL=0:GOTO420
680IFVP>1THENIFGRID(HP,VP-1)/5=INT(GRID(HP,VP-1)/5)THEN580
690IFVP<=VTHENIFGRID(HP,VP)/2=INT(GRID(HP,VP)/2)THEN580
700PLOTHOR+4*(HP-1)+1,VER+4*(VP-1):DRAWTOHOR+4*(HP-1)+3,VER+4*(VP-1)
710IFVP>1THENGRID(HP,VP-1)=GRID(HP,VP-1)*5:IFGRID(HP,VP-1)=210THENGOSUB760:GOSUB780:FL=1
720IFVP<=VTHENGRID(HP,VP)=GRID(HP,VP)*2:IFGRID(HP,VP)=210THENGOSUB770:GOSUB780:FL=1
730GOTO660
740FORI=1TO3:PLOTHOR+4*(HP-2)+I,VER+4*(VP-1)+1:DRAWTOHOR+4*(HP-2)+I,VER+4*(VP-1)+3:NEXTI:RETURN
750FORI=1TO3:PLOTHOR+4*(HP-1)+I,VER+4*(VP-1)+1:DRAWTOHOR+4*(HP-1)+I,VER+4*(VP-1)+3:NEXTI:RETURN
760FORI=1TO3:PLOTHOR+4*(HP-1)+I,VER+4*(VP-2)+1:DRAWTOHOR+4*(HP-1)+I,VER+4*(VP-2)+3:NEXTI:RETURN
770FORI=1TO3:PLOTHOR+4*(HP-1)+I,VER+4*(VP-1)+1:DRAWTOHOR+4*(HP-1)+I,VER+4*(VP-1)+3:NEXTI:RETURN
780SC(PL)=SC(PL)+1
790IFSC(0)+SC(1)<H*VTHENRETURN
800FORI=1TO10:FORJ=1TO15
810SETCOLOR4,J,4:SOUND0,J*10,10,J
820NEXTJ:NEXTI
830SOUND0,0,0,0
840?CHR$(125);:POKE657,17:?"":POKE657,14:?"PLAYER1...";SC(0)
850POKE657,14:?"PLAYER2...";SC(1)
860?"";
870IFSTRIG(0)=0ORSTRIG(1)=0THENCLR:GOTO20
880GOTO870
890GRAPHICS0:POKE752,1:POSITION17,1:?"BOXES"
900?:?"Twoplayerstaketurnstoconnect":?"adjoiningpointsonagrid.Each"
910?"timeaplayercompletesasquare,he":?"scores1pointandgetsanextra"
920?"turn.Thewinneristheplayerwith":?"themostpointswhenallthesquares":?"arecompleted."
930?:?"Inthisversionofthegame,lines":?"canonlybedrawnfromlefttoright":?"ortoptobottom."
940POSITION5,22:?"PRESSEITHERTRIGGERTOBEGIN"
950IFSTRIG(0)=0ORSTRIG(1)=0THENRETURN
960GOTO950	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!