-
Notifications
You must be signed in to change notification settings - Fork 0
/
QJAKMENU.BAS
328 lines (291 loc) · 6.66 KB
/
QJAKMENU.BAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
'menu for Qjak Entertainment Pak 2.2
DECLARE SUB help ()
DECLARE SUB getSpheroid ()
DECLARE SUB getJaksound ()
DECLARE SUB getJakDraw ()
DECLARE SUB drawJakDraw ()
DECLARE SUB Enter ()
DECLARE SUB drawSpheroid ()
DECLARE SUB Rings ()
DECLARE SUB drawJaksound ()
DECLARE SUB refmenu ()
DECLARE SUB changeSel (x!)
Dim Shared selGame
Dim Shared pJakDraw(1 To 1716)
Dim Shared pJakSound(1 To 1716)
Dim Shared pSpheroid(1 To 1716)
Dim Shared sph$(1 To 8)
Dim exitr$(0 To 22)
Open "qjak.ini" For Input As #1
Line Input #1, progdir$
Close
For charnow = 1 To Len(progdir$)
If Mid$(progdir$, charnow, 1) = "=" Then GoTo SPLITHERE
Next charnow
SPLITHERE:
progdir$ = Right$(progdir$, Len(progdir$) - (charnow)) 'this is correct since STARTS at right
Cls
Screen 13
Locate 1, 1
Print progdir$
ChDir (progdir$)
selGame = 1
'check sound setting
Open "bsound.dat" For Input As #1
Line Input #1, sound$
Close
Cls
getJakDraw
Cls
getJaksound
Cls
getSpheroid
Cls
start:
drawSpheroid
drawJaksound
drawJakDraw
Rings
Locate 2, 7
Color 32
Print "QJak Entertainment Pack 2.2"
refmenu
drawJaksound
drawSpheroid
drawJakDraw
changeSel (0)
selection:
Do
Select Case InKey$
Case Chr$(0) + "K": changeSel (-1)
Case Chr$(0) + "M": changeSel (1)
Case "h": help: GoTo start
Case "H": help: GoTo start
Case Chr$(27): Exit Do
Case Chr$(13): Enter
Case "": Sleep 0
Case Else: GoTo selection
End Select
Loop
exitscreen:
Cls
Color 54
Locate 4, 9
Print "Thank you for using Qjak"
exitr$(0) = "S"
exitr$(1) = "e"
exitr$(2) = "e"
exitr$(3) = " "
exitr$(4) = "Y"
exitr$(5) = "o"
exitr$(6) = "u"
exitr$(7) = " "
exitr$(8) = "l"
exitr$(9) = "a"
exitr$(10) = "t"
exitr$(11) = "e"
exitr$(12) = "r"
Locate 12, 14
For i = 0 To 12
Select Case sound$
Case "0": Sound 20000, .5
Case "1": Sound 100 + 7 * i, .5
End Select
Color i + 32
Print exitr$(i);
Next i
Sleep 2
System
Sub changeSel (x)
Line (50 + (selGame * 74), 50)-(121 + (selGame * 74), 149), 0, B
selGame = selGame + x
If (selGame < 0) Then
selGame = 0
ElseIf (selGame > 2) Then
selGame = 2
End If
colo = ((Rnd * 247) + 1)
Line (50 + (selGame * 74), 50)-(121 + (selGame * 74), 149), 40, B
End Sub
Sub drawJakDraw
Put (51, 51), pJakDraw(), PSet
End Sub
Sub drawJaksound
Put (125, 51), pJakSound(), PSet
End Sub
Sub drawSpheroid
Put (201, 51), pSpheroid(), PSet
End Sub
Sub Enter
If (selGame = 0) Then
Chain ("jakdraw.bas")
ElseIf (selGame = 1) Then
Chain ("jaksound.bas")
ElseIf (selGame = 2) Then
Chain ("sphmenu.bas")
End If
End Sub
Sub getJakDraw
Color 52
jdX = 0
jdY = 96
For i = 70 To 139
Line (0, 0)-(i - 70, 87), 16 + i
Next i
For i = 0 To 69
Line (i, 0)-(70, 97), 16 + i
Next i
'J
Line (jdX, jdY)-Step(1, 1), 53
Line Step(0, 0)-Step(10, -2), 53
Line Step(0, 0)-Step(0, -15), 53
Line Step(10, 0)-Step(-20, 0), 53
Locate 12, 3
Print "ak"
'D
Locate 12, 6
Print "raw"
Line (jdX + 32, jdY - 2)-Step(0, -17), 53
Circle Step(-5, 10), 12, 53, 4.7, 1.5
Get (0, 0)-(69, 97), pJakDraw()
End Sub
Sub getJaksound
Color 13
For i = 1 To 7
Line (i * 4 - 4, 60 - i * 2)-(i * 4 - 2, 74), 5, B
Line (i * 4 - 3, 61 - i * 2)-(i * 4 - 3, 73), 13
Next i
For i = 8 To 16
Line (i * 4 - 4, 10 + i * 3)-(i * 4 - 2, 74), 5, B
Line (i * 4 - 3, 11 + i * 3)-(i * 4 - 3, 73), 13
Next i
jdX = 0
jdY = 92
'J
Line (jdX, jdY)-Step(5, 5), 5
Line Step(0, 0)-Step(10, -2), 5
Line Step(0, 0)-Step(0, -15), 5
Line Step(10, 0)-Step(-20, 0), 5
Locate 12, 3
Print "ak"
'S
Circle (jdX + 30, jdY - 1), 7, 5, 4.3, 1.5
Circle (jdX + 32, jdY - 11), 5, 5, .4, 4.7
Locate 12, 6
Print "ound"
Color 5
Locate 2, 3
Print "S"; " ð";
Locate 3, 4
Print "t"; " ";
Locate 4, 5
Print "u"; " Ÿ";
Locate 5, 6
Print "d"; " ð";
Locate 6, 7
Print "i";
Locate 7, 8
Print "o";
'ðŸð
Get (0, 0)-(69, 97), pJakSound()
End Sub
Sub getSpheroid
Dim xbomb(1 To 10)
Dim ybomb(1 To 10)
'Bombs
Randomize Timer
For bomnum = 1 To 10
xbomb(bomnum) = Int((Rnd * 60) + 5)
ybomb(bomnum) = Int((Rnd * 90) + 5)
Next bomnum
For bomnum = 1 To 10
Circle (xbomb(bomnum), ybomb(bomnum)), 2, 113
Circle (xbomb(bomnum), ybomb(bomnum)), 4, 113
Circle (xbomb(bomnum), ybomb(bomnum)), 3, 4
Next bomnum
'graphic
outness = 15
outadd = .9
centerx = 40
centery = 38
centeradd = 1
For colour = 21 To 31 Step 2
Circle (centerx, centery), outness, colour
Paint (centerx, centery), colour
centerx = centerx - centeradd
centery = centery - centeradd
centeradd = centeradd - .3
outness = outness - outadd
outadd = outadd + .2
Next colour
'Text
sph$(1) = "S"
sph$(2) = "p"
sph$(3) = "h"
sph$(4) = "e"
sph$(5) = "r"
sph$(6) = "o"
sph$(7) = "i"
sph$(8) = "d"
Locate 12, 1
For i = 1 To 8
Color 23 + i
Print sph$(i);
Next i
Get (0, 0)-(69, 97), pSpheroid()
End Sub
Sub help
Cls
Color 15
Print "Qjak Entertainment Pack"
Color 32
Print "ORIGINAL idea by Jake Gustafson"
Print
Color 50
Print " 1. Use arrow keys to change"
Print " selection. Press [Enter]"
Print " to enter program."
Print
Print " 2. [s] key toggles sound"
Print " (from menu or from inside"
Print " Spheroid or JakSound)."
Print " In JakDraw, [tab] toggles"
Print " sound."
Print
Print " 3. To insure correct program"
Print " operation, maKE SURE THAT"
Print " [CAPS LOCK] -OOPs- is off."
Print
Print " 4. To exit from this menu or"
Print " any of the programs in"
Print " Qjak Entertainment pack,"
Print " press [Escape]."
Color 15
Print
Print "Press a key to continue..."
Sleep 0
Cls
End Sub
Sub refmenu
For i = 0 To 3
Line (40 + i, 40 + i)-(279 - i, 159 - i), 18 + i, BF
Next i
For i = 4 To 7
Line (40 + i, 40 + i)-(279 - i, 159 - i), 26 - i, B
Next i
i = 8
Line (40 + i, 40 + i)-(279 - i, 159 - i), 16, BF
Locate 21, 17
Print "Help [h]"
End Sub
Sub Rings
For i = 1 To 200
Randomize 9
rad = Int(Rnd * 6) + 2
col = Int(Rnd * 13) + 18
xloc = Int((Rnd * 319) + 0)
yloc = Int((Rnd * 199) + 0)
Circle (xloc, yloc), rad, col
'PRINT "xloc="; xloc; " yloc="; yloc; " radius="; rad; " color="; col
Next i
End Sub