Towers of Hanoi! (Development MSX Fora)MSX Resource Center            
            
English Nederlands Espa�ol Portugu�s Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 61 gasten en 0 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - Towers of Hanoi!

Schrijver

Towers of Hanoi!

Arjan
msx addict
Berichten: 473
Geplaatst: 09 Augustus 2003, 22:04   
I know you're all waiting for Bombaman, but that will still take a while to get finished... So here's another little game! (which I made about 5 years ago)

The easiest way to get this running is to copy&paste the code to a textfile, there's no need to retype all this shit
10 ' Torens of Hanoi
20 SCREEN 1:WIDTH 32:COLOR 15,0,0:KEY OFF
30 CLEAR 200:DEFINT A-Z:C$=CHR$(219)
40 GOSUB 310:GOSUB 530
50 GOSUB 650:GOSUB 420
60 LOCATE 5,2:PRINT C$:LOCATE 5,3:PRINT " "
70 K1$=INKEY$:IF K1$<"1" OR K1$>"3" THEN GOTO 70
80 LOCATE 5,2:PRINT K1$:LOCATE 5,3:PRINT C$
90 K2$=INKEY$:IF K2$=CHR$(27) THEN GOTO 60
100 IF K2$<"1" OR K2$>"3" THEN GOTO 90
110 IF K2$=K1$ THEN GOTO 90
120 LOCATE 5,3:PRINT K2$
130 F=ASC(K1$)-49:D=ASC(K2$)-49:IF A(F)=0 THEN GOTO 60
140 S1$="":AD=6148+(18-A(F))*32+F*8
150 FOR C=0 TO 6:B=VPEEK(AD+C):S1$=S1$+CHR$(B):NEXT C
160 IF A(D)=0 THEN GOTO 200
170 S2$="":AD=6148+(18-A(D))*32+D*8
180 FOR C=0 TO 6:B=VPEEK(AD+C):S2$=S2$+CHR$(B):NEXT C
190 IF S1$>S2$ THEN GOTO 60
200 LOCATE 4+D*8,17-A(D):PRINT S1$
210 LOCATE 4+F*8,18-A(F):PRINT "   ";C$;"   "
220 A(F)=A(F)-1:A(D)=A(D)+1:AB=AB+1
230 LOCATE 6,21:PRINT AB:IF A(2)<AT THEN GOTO 60
240 CLS:PRINT "You needed";AB;"turns to move";AT
250 PRINT " bars from pillar 1 to 3."
260 PRINT:PRINT "Try again (Y/N)?";
270 K$=INKEY$:IF K$="" THEN GOTO 270
280 IF K$="y" OR K$="Y" THEN GOTO 50
290 IF K$="n" OR K$="N" THEN CLS:PRINT "Byebye!":END
300 GOTO 270
310 FOR C=0 TO 7:FOR B=0 TO 7
320 READ D:VPOKE (200+C)*8+B,D
330 NEXT B,C:RETURN
340 DATA 0,3,3,3,3,3,3,0
350 DATA 0,15,15,15,15,15,15,0
360 DATA 0,63,63,63,63,63,63,0
370 DATA 0,255,255,255,255,255,255,0
380 DATA 0,192,192,192,192,192,192,0
390 DATA 0,240,240,240,240,240,240,0
400 DATA 0,252,252,252,252,252,252,0
410 DATA 0,255,255,255,255,255,255,0
420 CLS
430 PRINT "Move the bars from pillar 1 to 3"
440 PRINT "From:":PRINT "To:"
450 FOR P=0 TO 9:LOCATE 7,8+P
460 PRINT C$+SPACE$(7)+C$+SPACE$(7)+C$
470 NEXT P
480 PRINT STRING$(32,C$);
490 LOCATE 7:PRINT "1";SPACE$(7);"2";SPACE$(7);"3"
500 PRINT:PRINT "Turns: 0"
510 FOR B=0 TO AT-1:LOCATE 4,17-B:PRINT S$(AT-B):NEXT B
520 A(0)=AT:A(1)=0:A(2)=0:AB=0:RETURN
530 FOR B=1 TO 9:FOR C=0 TO 6
540 READ D:S$(B)=S$(B)+CHR$(D)
550 NEXT C,B:RETURN
560 DATA 32,32,200,219,204,32,32
570 DATA 32,32,201,219,205,32,32
580 DATA 32,32,202,219,206,32,32
590 DATA 32,32,203,219,207,32,32
600 DATA 32,200,203,219,207,204,32
610 DATA 32,201,203,219,207,205,32
620 DATA 32,202,203,219,207,206,32
630 DATA 32,203,203,219,207,207,32
640 DATA 200,203,203,219,207,207,204
650 CLS:PRINT "        Torens of Hanoi"
660 PRINT:PRINT:PRINT "Number of bars (2-9)?"
670 K$=INKEY$:IF K$<"2" OR K$>"9" THEN GOTO 670
680 AT=ASC(K$)-48:RETURN

snout

msx legend
Berichten: 4991
Geplaatst: 09 Augustus 2003, 22:11   
Is Bombaman coded in BASIC as well?
Arjan
msx addict
Berichten: 473
Geplaatst: 10 Augustus 2003, 00:33   
you bet! I just applied some JIT compilation to make it all run smoother So, that DOS loader is just a fake But don't worry, Bombaman will still be very playable
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 10 Augustus 2003, 01:15   
I suppose that's BASIC z8.0?
 
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.