CPC Rulez
https://cpcrulez.fr/forum/

Leaderboard Course Designer
https://cpcrulez.fr/forum/viewtopic.php?f=10&t=2940
Page 1 sur 1

Auteur :  Princesse Mariana [ 09 Jan 2009, 15:27 ]
Sujet du message :  Leaderboard Course Designer

Code :
1 :' Leaderboard Course Designer - tape
2 :' by Phil Howard
40 GOSUB 1270
50 adat=&9516
60 bdat=&9366
70 cdat=&9354
80 ddat=&9330
90 FOR h=1 TO 18
100 DIM d(6,6)
110 GOSUB 1840
120 bl=1
130 GOSUB 1390
140 NEXT
150 POKE &930A,f
160 POKE &92FF,f*2
170 POKE &9320,f*12
180 IF f*24>256 THEN POKE &9315,(f*24)-256:POKE &9316,1
190 IF f*24<256 THEN POKE &9315,(f*24)
200 SPEED WRITE 1
210 SAVE "NEW DESIGN",b,&92A5,&400,&92A5
220 PRINT:PRINT"CALL &92A5 to load LEADER BOARD"
230 PRINT"** No return to basic **"
240 STOP
250 :'** data for blocks + code **
260 DATA 01,00,00,07,f6,fb,fb,f6,3ea
270 DATA 05,f6,0a,fb,0a,05,05,0a,21e
280 DATA fb,0a,08,f6,fb,fb,f6,00,4ef
290 DATA ec,05,f6,14,00,05,0a,00,20a
300 DATA 14,fb,0a,05,f6,f6,00,f6,400
310 DATA 0a,fb,0a,05,00,0a,09,f6,21d
320 DATA fb,fb,f6,05,f6,19,e7,0a,4f1
330 DATA fb,0a,05,05,0a,00,0e,e7,20e
340 DATA 19,09,f2,00,e7,e7,00,f2,3d4
350 DATA 05,f6,0a,fb,0a,05,19,19,241
360 DATA 05,0a,fb,0a,09,f6,ec,fb,3fa
370 DATA f6,00,f6,05,f2,0a,00,05,2f2
380 DATA 0a,0a,14,00,0a,fb,0e,09,144
390 DATA fb,f2,00,f6,0a,ec,05,f6,4d4
400 DATA 0a,00,05,0e,00,0a,fb,0a,12c
410 DATA f6,14,05,fb,fa,fb,f2,0e,4ff
420 DATA f2,05,05,fb,19,06,ec,d9,3db
430 DATA fb,fb,0e,05,19,19,05,05,245
440 DATA fb,0a,09,fa,f6,fe,e7,00,4e3
450 DATA ec,02,e7,06,f6,06,0a,02,2e3
460 DATA 19,00,14,fe,19,07,f2,fb,338
470 DATA fb,f2,05,f2,0e,fb,0e,05,400
480 DATA 05,0e,fb,0e,05,00,e7,00,208
490 DATA e7,0a,00,00,19,00,19,06,129
500 DATA f6,e7,00,e7,0e,fb,0e,05,3e0
510 DATA 00,19,f6,19,0c,f2,00,f2,318
520 DATA e7,00,e7,00,e7,0a,e7,0e,3b4
530 DATA e7,0a,00,0e,19,0a,19,00,13b
540 DATA 19,00,19,f2,19,06,fb,fc,33a
550 DATA fb,e7,0a,fb,0a,00,0a,05,300
560 DATA fb,0e,06,e8,f1,fb,fb,05,4e3
570 DATA f6,0a,fb,0a,05,0a,19,09,236
580 DATA f6,fb,fb,f6,0a,ec,0a,ec,5ce
590 DATA 0a,ec,19,0a,f6,14,f6,14,32d
600 DATA f6,14,07,ec,fb,00,e7,00,3df
610 DATA e7,05,e7,14,05,00,19,00,205
620 DATA 19,07,f2,ec,00,e7,0e,ec,3df
630 DATA 0a,00,0e,14,00,19,f2,14,14b
640 DATA 05,03,e7,00,e7,04,00,00,1da
650 DATA 19,02,19,09,fb,ec,fb,e7,406
660 DATA 05,e7,05,ec,05,00,00,14,1f6
670 DATA 00,19,00,19,00,14,09,00,04f
680 DATA ec,00,e7,00,e7,00,ec,05,3ab
690 DATA 00,05,14,05,19,fb,19,fb,246
700 DATA 14,05,f6,e7,00,f6,0a,00,2f6
710 DATA 0a,19,00,0a,05,00,f6,0a,132
720 DATA e7,0a,00,00,0a,f6,19,09,213
730 DATA 05,f6,fb,e7,05,e7,05,e7,4b5
740 DATA 0a,fb,05,0a,fb,19,fb,19,33c
750 DATA fb,19,09,f6,fb,fb,e7,fb,5eb
760 DATA e7,fb,e7,05,f6,0a,05,05,3d8
770 DATA 19,05,19,05,19,09,fb,fb,254
780 DATA 00,e7,00,e7,00,e7,05,fb,3b5
790 DATA 05,05,00,19,00,19,00,19,055
800 DATA 07,00,e7,00,e7,00,e7,0e,2ca
810 DATA 00,00,19,00,19,00,19,05,050
820 DATA fb,fb,00,e7,05,fb,05,05,3e7
830 DATA 00,19,07,fb,f6,fb,ec,05,3fd
840 DATA ec,05,f6,05,0a,05,14,fb,30a
850 DATA 14,09,f6,fb,f6,e7,f6,e7,5c8
860 DATA f6,e7,19,f6,0a,19,0a,19,332
870 DATA 0a,19,fb,0a,07,fb,e7,00,311
880 DATA e7,00,e7,14,fb,05,19,00,2fb
890 DATA 19,00,19,03,00,f6,0a,00,135
900 DATA 00,0a,03,00,e7,0a,00,00,0fe
910 DATA 19,05,01,fb,05,f6,0a,00,21f
920 DATA 05,0a,00,05,18,ac,18,bd,1ad
930 DATA 18,d0,18,dd,18,f2,19,07,307
940 DATA 19,1c,19,31,19,3e,19,4e,13d
950 DATA 19,63,19,74,19,81,19,90,24c
960 DATA 19,ab,19,ba,19,c9,19,de,370
970 DATA 19,ef,1a,00,1a,0d,1a,22,185
980 DATA 1a,37,1a,44,1a,51,1a,66,19a
990 DATA 1a,7b,1a,90,1a,a1,1a,ae,2c2
1000 DATA 1a,bf,1a,d4,1a,e5,1a,ee,3ce
1010 DATA 1a,f7,3e,01,cd,59,bc,c9,3fb
1020 DATA 21,00,90,11,00,00,dd,46,1e5
1030 DATA 00,7e,87,3c,5f,19,10,f9,2c2
1040 DATA 46,e5,fd,e1,c5,16,ff,fd,5e0
1050 DATA 7e,01,5f,fe,7f,30,01,14,2a0
1060 DATA 26,ff,fd,7e,02,6f,fe,7f,48e
1070 DATA 30,01,24,cd,f9,bb,fd,23,3f6
1080 DATA fd,23,c1,10,df,dd,6e,02,41d
1090 DATA dd,66,03,dd,5e,04,dd,56,3b8
1100 DATA 05,cd,f6,bb,c9,06,00,11,363
1110 DATA af,39,cd,77,bc,21,af,39,3f1
1120 DATA cd,83,bc,cd,7a,bc,21,e2,512
1130 DATA 39,36,c3,23,36,cc,23,36,2b0
1140 DATA 92,21,40,00,e5,21,00,bb,2b4
1150 DATA e5,c3,b7,39,e5,21,91,01,430
1160 DATA 36,ee,23,36,b9,23,36,f7,386
1170 DATA e1,f1,f3,c9,21,1f,bf,36,4c3
1180 DATA c3,23,36,ed,23,36,92,c3,3b7
1190 DATA 00,bf,cf,88,88,cd,ea,92,4e7
1200 DATA cd,ff,bb,3e,01,cd,0e,bc,45d
1210 DATA 21,30,93,11,24,0d,01,00,127
1220 DATA 00,ed,b0,21,54,93,11,44,2fa
1230 DATA 0e,01,00,00,ed,b0,21,66,233
1240 DATA 93,11,8c,0e,01,00,00,ed,22c
1250 DATA b0,21,16,95,11,4c,15,01,1ef
1260 DATA 00,00,ed,b0,c3,00,01,00,261
1270 :'** poke data **
1280 CLS:PRINT"Initialising.."
1290 RESTORE 260:c=260
1300 FOR x=&9000 TO &9326 STEP 8
1310 t=0:FOR y=0 TO 7
1320 READ a$:a=VAL("&"+a$)
1330 POKE x+y,a:t=t+a:NEXT
1340 READ a$:a=VAL("&"+a$)
1350 IF t<>a THEN PRINT"error in line"c:STOP
1360 c=c+10:NEXT
1370 CALL &925A
1380 RETURN
1390 :'** keyboard input + position blocks **
1400 ORIGIN 500,0,508,600,396,2
1410 x2=20:y2=45:n2=1
1420 GOSUB 2090
1430 IF INKEY(9)=0 THEN 1430
1440 x1=x2:y1=y2:n1=n2
1450 IF INKEY(18)=0 THEN 1680
1460 IF INKEY(63)=0 THEN n2=n1+1
1470 IF INKEY(71)=0 THEN n2=n1-1
1480 IF INKEY(0)=0 THEN y2=y1+4
1490 IF INKEY(1)=0 THEN x2=x1+2
1500 IF INKEY(2)=0 THEN y2=y1-4
1510 IF INKEY(8)=0 THEN x2=x1-2
1520 IF INKEY(9)=0 THEN 1630
1530 IF y2<45 THEN y2=45
1540 IF y2>400 THEN y2=400
1550 IF x2>84 THEN x2=84
1560 IF x2<20 THEN x2=20
1570 IF n2>35 THEN n2=1
1580 IF n2<1 THEN n2=35
1590 IF x1=x2 AND y1=y2 AND n1=n2 THEN 1450
1600 GOSUB 2110
1610 GOSUB 2090
1620 GOTO 1440
1630 GOSUB 2090
1640 GOSUB 2090
1650 GOSUB 1930
1660 bl=bl+1:IF bl>6 THEN 1700
1670 GOTO 1410
1680 :'** rest of input **
1690 GOSUB 2090
1700 LOCATE 1,8:PRINT"Length ";s
1710 LOCATE 1,10:PRINT"Is this ok ?"
1720 IF INKEY(43)=0 THEN 1750
1730 IF INKEY(46)=0 THEN h=h-1:ERASE D:RETURN
1740 GOTO 1720
1750 f=h:CALL &BB03
1760 GOSUB 2010
1770 LOCATE 1,12:INPUT"What par ",p
1780 POKE cdat,p:cdat=cdat+1
1790 IF h=18 THEN RETURN
1800 LOCATE 1,14:PRINT"Another hole ?"
1810 IF INKEY(46)<>0 AND INKEY(43)<>0 THEN 1810
1820 IF INKEY(46)=0 THEN h=18
1830 RETURN
1840 :'** draw screen **
1850 MODE 1
1860 MOVE 546,38:DRAWR 10,0:DRAW 590,398
1870 DRAWR -78,0:DRAW 546,38
1880 FOR x=0 TO 4
1890 MOVE 420,98+(x*70):TAG:PRINT 100*(X+1);
1900 TAGOFF:MOVE 490,98+(70*x):DRAWR 10,0:NEXT
1910 LOCATE 1,5:PRINT"Hole no."h
1920 RETURN
1930 :'** store data **
1940 d(bl,1)=PEEK(&9213+(2*n2))
1950 d(bl,2)=PEEK(&9212+(2*n2))
1960 px=x2*9.85:py=y2*4.3
1970 d(bl,4)=px\ 256:d(bl,3)=px-(d(bl,4)*256)
1980 d(bl,6)=py\ 256:d(bl,5)=py-(d(bl,6)*256)
1990 s=INT((py-183)/3)
2000 RETURN
2010 :'** poke data into routine **
2020 FOR x=1 TO 6:FOR y=1 TO 2
2030 POKE adat,d(x,y):adat=adat+1:NEXT:NEXT
2040 FOR x=1 TO 6:FOR y=3 TO 6
2050 POKE bdat,d(x,y):bdat=bdat+1:NEXT:NEXT
2060 POKE ddat,bl-1:POKE ddat+1,75:ddat=ddat+2
2070 ERASE D
2080 RETURN
2090 MOVE x2,y2:CALL &9260,x2,y2,n2
2100 RETURN
2110 MOVE x1,y1:CALL &9260,x1,y1,n1
2120 RETURN
2130 END

Page 1 sur 1 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/