childhood games
1984-2008 Eugenio Tisselli
dracula's labyrinths
Your train has just arrived to Transilvania. The treasures of Dracula await! Inside the castle there are terrible dangers... but you are a fearless hero, thirsty of adventures.
Instructions
Move towards the treasure ($) using the cursor keys... Avoid dracula (&), who will be trying to catch you. Black widows are also deadly(*). In each laberynth, you will have one minute to get to the treasure. Beware: Dracula can destroy walls. You win when you collect all 15 treasures. If the keyboard is not responding, click on the game to activate it.
Original code




Transcription
1 ?"[clr]DRACULA'S CASTLE[down]MCMLXXXIV BY TISSELLI":POKE788,52
2 ?"HIT ANY KEY"
3 GET A$:IF A$="" THEN 3
4 GOSUB 52
5 ?"[clr]":F=9:G=200:LAB=1:RT=0
6 ?"ACABA DE LLEGAR TU TREN"
7 ?"A TRANSILVANIA"
8 ?"TU MISION:"
9 ?"RECOGER LOS 7 TESOROS DE DRACULA"
10 ?"QUE ESTAN EN SU CASTILLO"
11 ?"SIMBOLOS:"
12 ?"* = VIUDA NEGRA"
13 ?"& = DRACULA"
14 ?"% = TESORO"
15 ?"$ = TU"
16 ?"[Q][Q]APRIETA CUALQUIER TECLA"
17 GET A$:IF A$="" THEN 17
18 S=1106:L=1114:R=1428
19 ?"[clr]"
20 FOR A=1 TO G
21 N=INT(RND(1)*1000)+1024
22 POKEN,81:POKEN+54272,0:NEXT
23 FOR B=1 TO 2000:NEXT
24 FOR A=1 TO F
25 O=INT(RND(1)*1000)+1024
26 POKEO,42:POKEO+54272,0:NEXT
27 TI$="000000"
28 POKEL,88:POKEL+54272,7
29 POKES,90:POKES+54272,7
30 POKER,65:POKER+54272,0
31 GET A$:IF A$="[up]" AND PEEK(L-40)<>81 THEN POKEL,32:L=L-40
32 IF A$="[down]" AND PEEK(L+40)<>81 THEN POKEL,32:L=L+40
33 IF A$="[left]" AND PEEK(L-1)<>81 THEN POKEL,32:L=L-1
34 IF A$="[right]" AND PEEK(L+1)<>81 THEN POKEL,32:L=L+1
35 LY=INT((L-S)/40):LX=L-S-LY*40
36 RY=INT((M-S)/40):RX=R-S-RY*40
37 IF RX<LX AND (PEEK(M+1)=32 OR PEEK(M+1)=88) THEN POKER,32:R=R+1
38 IF RX>LX AND (PEEK(M-1)=32 OR PEEK(M-1)=88) THEN POKER,32:R=R-1
39 IF RY>LY AND PEEK(M-40)=32 OR PEEK(M-40)=88) THEN POKER,32:R=R-40
40 IF RY<LY AND PEEK(M+40)=32 OR PEEK(M+40)=88) THEN POKER,32:R=R+40
41 IF PEEK(L)=42 THEN ?"[S][R]TE ATRAPO LA VIUDA NEGRA": END
42 IF PEEK(L)=65 THEN ?"[S][R]TE ATRAPO DRACULA": END
43 IF TI>=2000 THEN ?"[S][R] SE ACABO EL TIEMPO":LA=LA-1:G=G-50:F=F-5:GOTO 48
44 IF PEEK(L)=90 THEN 46
45 GOTO 28
46 ?"[S][R]ENCONTRASTE EL TESORO!!!":LAB=LAB+1:G=G+50:F=F+5
47 FOR A=1 TO 5000:NEXT
48 IF LA=0 THEN END
49 IF LA=8 THEN ?"GANASTE!!!":END
50 ?"PASAS AL ";LAB;"LABERINTO
51 GOTO 16
52 V=53248:POKE 53281,1:?"[clr]"
53 POKEV+21,4:POKEV+40,0
54 POKE 2042,13
55 FOR N=0 TO 62:READ Q:POKE832+N,Q:NEXT
56 FOR X=0 TO 200
57 POKEV+5,X:POKEV+4,X
58 FOR A=1 TO 100: NEXT A:NEXT X
59 GOTO 66
60 DATA 0,0,0,0,252,0,0,180,0,0,252,0
61 DATA 0,204,0,0,252,48,0,120,96,3,183
62 DATA 192,3,207,128,7,248,0,7,248,0,15
63 DATA 252,0,11,252,0,3,252,0,3,252,0
64 DATA 3,252,0,3,252,0,3,232,0,2,207
65 DATA 0,6,0,0,0,0,0
66 ?"[clr]":V=53248
67 POKEV+21,8:POKEV+40,2
68 POKE 2043,13
67 FOR N=0 TO 62:READ R: POKE 832+N,Q: NEXT
68 FOR X=0 TO 500
69 POKEV+6,X:NEXT:RETURN
Comments
* The subroutine in lines 52-69 is probably a sound introduction to the game. I haven't been able to check, but I'm pretty sure that it plays a little melody as far as I can tell.
* The game, as I wrote it, has a lot of problems which generate syntax errors. In any case, these are not fundamental problems, and I'm sure I corrected them very easily back then. In the first place, the variable "M" should be "R".
* There is a missing open parenthesis "(" in line 39, and also in line 40.
* In lineas 5, 46 and 50, variable "LAB" should be "LA".
* Double quotes are missing at the end of line 50.
* Line 67 should be:
67 FOR N=0 TO 62:READ R: POKE 832+N,R: NEXT
* In the original game, Dracula can't destroy walls. I just added this to make it more exciting.
New Processing code (download)