Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
100% QB game
#11
I posted it on NeoBasic a few months ago. It resembles SuperPut...
Reply
#12
Eh, what the hell! I'll join!

I'll start right now.


*TO THE LAB!!!*
Reply
#13
Heh... Okay, I made a game! (It took about 4 hours...)

I used Superput, but thats not a lib so I'm safe right? Anyway, Here ya go!


(It's kind've big)

Code:
DECLARE SUB superput ()
DECLARE SUB delay (d!)
DECLARE SUB init ()
DECLARE SUB loadpaldata ()
DIM SHARED Red, Green, Blue
DIM SHARED ship(40 * 32 \ 2 + 2)
DIM SHARED ship2(40 * 32 \ 2 + 2)
DIM SHARED Ringbottom(64 * 40 \ 2 + 2)
DIM SHARED Ringtop(64 * 40 \ 2 + 2)
RANDOMIZE TIMER
       TYPE Hero
       x AS INTEGER
       y AS INTEGER
       Xspeed AS INTEGER
       Yspeed AS INTEGER
       END TYPE
DIM SHARED Hero AS Hero
       TYPE Ring
       x AS INTEGER
       y AS INTEGER
       Active AS INTEGER
       END TYPE
DIM SHARED Ring(5) AS Ring
      
        TYPE Star
        x AS INTEGER
        y AS INTEGER
        Yspeed AS INTEGER
        END TYPE
DIM SHARED Star(50) AS Star
DIM SHARED score
init
mainloop:
        timing = 60 * 60
        DO
        LOCATE 1, 1
        PRINT "SCORE: " + LTRIM$(STR$(score))
        PRINT "TIME: " + LTRIM$(STR$(timing)) + " "
        timing = timing - 1
        a$ = INKEY$
        FOR s = 1 TO 50
                PSET (Star(s).x, Star(s).y), 0
                Star(s).y = Star(s).y + Star(s).Yspeed
                IF Star(s).y > 200 THEN Star(s).y = 0: Star(s).x = INT(RND * 320)
                PSET (Star(s).x, Star(s).y), 22 + Star(s).Yspeed
        NEXT
                SELECT CASE RIGHT$(a$, 1)
                CASE "H"
                        Hero.Yspeed = Hero.Yspeed - 1
                CASE "P"
                        Hero.Yspeed = Hero.Yspeed + 1
                CASE "K"
                        Hero.Xspeed = Hero.Xspeed - 1
                CASE "M"
                        Hero.Xspeed = Hero.Xspeed + 1
                END SELECT
        IF Hero.Xspeed > 5 THEN Hero.Xspeed = 5
        IF Hero.Yspeed > 5 THEN Hero.Yspeed = 5
        IF Hero.Xspeed < -5 THEN Hero.Xspeed = -5
        IF Hero.Yspeed < -5 THEN Hero.Yspeed = -5
      
        PUT (Hero.x, Hero.y), ship2
        Hero.x = Hero.x + Hero.Xspeed
        Hero.y = Hero.y + Hero.Yspeed
        IF Hero.x < 0 THEN Hero.x = 0: Hero.Xspeed = -Hero.Xspeed
        IF Hero.y < 50 THEN Hero.y = 50: Hero.Yspeed = -Hero.Yspeed
        IF Hero.x > 320 - 40 THEN Hero.x = 320 - 40: Hero.Xspeed = -Hero.Xspeed
        IF Hero.y > 200 - 40 THEN Hero.y = 200 - 40: Hero.Yspeed = -Hero.Yspeed
                FOR r = 1 TO 5
                        Ring(r).y = Ring(r).y + 1
                        IF Ring(r).y = 200 THEN Ring(r).y = -40 - INT(RND * 320): Ring(r).x = INT(RND * 256): Ring(r).Active = 1
                        PUT (Ring(r).x, Ring(r).y), Ringbottom
                NEXT

        PUT (Hero.x, Hero.y), ship
                FOR r = 1 TO 5
                        PUT (Ring(r).x, Ring(r).y), Ringtop
        coll = 0
        IF Ring(r).Active = 1 THEN coll = coll + 1
        IF Hero.x + 40 > Ring(r).x AND Hero.x < Ring(r).x + 64 THEN coll = coll + 1
        IF Hero.y + 32 > Ring(r).y AND Hero.y < Ring(r).y - 5 THEN coll = coll + 1
        IF coll = 3 THEN
                 Ring(r).Active = 0
                 score = score + 10
        END IF
                NEXT
        delay 1
        LOOP UNTIL a$ = CHR$(27) OR timing <= 0
        CLS
        SCREEN 0
        WIDTH 80, 25
        COLOR 15
        PRINT "FINAL SCORE" + STR$(score)
        PRINT "By Pyrodap"
        PRINT "Uses SuperPut by Plasma"
0 DATA "0 0 0"
1 DATA "0 0 42"
2 DATA "0 42 0"
3 DATA "0 42 42"
4 DATA "42 0 0"
5 DATA "42 0 42"
6 DATA "42 21 0"
7 DATA "42 42 42"
8 DATA "21 21 21"
9 DATA "21 21 63"
10 DATA "21 63 21"
11 DATA "21 63 63"
12 DATA "63 21 21"
13 DATA "63 21 63"
14 DATA "63 63 21"
15 DATA "63 63 63"
16 DATA "0 0 0"
17 DATA "5 5 5"
18 DATA "8 8 8"
19 DATA "11 11 11"
20 DATA "14 14 14"
21 DATA "17 17 17"
22 DATA "20 20 20"
23 DATA "24 24 24"
24 DATA "28 28 28"
25 DATA "32 32 32"
26 DATA "36 36 36"
27 DATA "40 40 40"
28 DATA "45 45 45"
29 DATA "50 50 50"
30 DATA "56 56 56"
31 DATA "63 63 63"
32 DATA "0 0 0"
33 DATA "4 0 0"
34 DATA "8 0 0"
35 DATA "12 0 0"
36 DATA "16 0 0"
37 DATA "21 0 0"
38 DATA "25 0 0"
39 DATA "29 0 0"
40 DATA "33 0 0"
41 DATA "37 0 0"
42 DATA "42 0 0"
43 DATA "46 0 0"
44 DATA "50 0 0"
45 DATA "54 0 0"
46 DATA "58 0 0"
47 DATA "63 0 0"
48 DATA "0 0 0"
49 DATA "0 0 4"
50 DATA "0 0 8"
51 DATA "0 0 12"
52 DATA "0 0 16"
53 DATA "0 0 21"
54 DATA "0 0 25"
55 DATA "0 0 29"
56 DATA "0 0 33"
57 DATA "0 0 37"
58 DATA "0 0 42"
59 DATA "0 0 46"
60 DATA "0 0 50"
61 DATA "0 0 54"
62 DATA "0 0 58"
63 DATA "0 0 63"
64 DATA "0 0 0"
65 DATA "0 4 0"
66 DATA "0 8 0"
67 DATA "0 12 0"
68 DATA "0 16 0"
69 DATA "0 21 0"
70 DATA "0 25 0"
71 DATA "0 29 0"
72 DATA "0 33 0"
73 DATA "0 37 0"
74 DATA "0 42 0"
75 DATA "0 46 0"
76 DATA "0 50 0"
77 DATA "0 54 0"
78 DATA "0 58 0"
79 DATA "0 63 0"
80 DATA "0 0 0"
81 DATA "4 0 4"
82 DATA "8 0 8"
83 DATA "12 0 12"
84 DATA "16 0 16"
85 DATA "21 0 21"
86 DATA "25 0 25"
87 DATA "29 0 29"
88 DATA "33 0 33"
89 DATA "37 0 37"
90 DATA "42 0 42"
91 DATA "46 0 46"
92 DATA "50 0 50"
93 DATA "54 0 54"
94 DATA "58 0 58"
95 DATA "63 0 63"
96 DATA "0 0 0"
97 DATA "0 4 4"
98 DATA "0 8 8"
99 DATA "0 12 12"
100 DATA "0 16 16"
101 DATA "0 21 21"
102 DATA "0 25 25"
103 DATA "0 29 29"
104 DATA "0 33 33"
105 DATA "0 37 37"
106 DATA "0 42 42"
107 DATA "0 46 46"
108 DATA "0 50 50"
109 DATA "0 54 54"
110 DATA "0 58 58"
111 DATA "0 63 63"
112 DATA "0 0 0"
113 DATA "4 4 0"
114 DATA "8 8 0"
115 DATA "12 12 0"
116 DATA "16 16 0"
117 DATA "21 21 0"
118 DATA "25 25 0"
119 DATA "29 29 0"
120 DATA "33 33 0"
121 DATA "37 37 0"
122 DATA "42 42 0"
123 DATA "46 46 0"
124 DATA "50 50 0"
125 DATA "54 54 0"
126 DATA "58 58 0"
127 DATA "63 63 0"
128 DATA "0 0 0"
129 DATA "4 2 0"
130 DATA "8 4 0"
131 DATA "12 6 0"
132 DATA "16 8 0"
133 DATA "21 10 0"
134 DATA "25 12 0"
135 DATA "29 14 0"
136 DATA "33 17 0"
137 DATA "37 19 0"
138 DATA "42 21 0"
139 DATA "46 23 0"
140 DATA "50 25 0"
141 DATA "54 27 0"
142 DATA "58 29 0"
143 DATA "63 32 0"
144 DATA "0 0 0"
145 DATA "4 0 2"
146 DATA "8 0 4"
147 DATA "12 0 6"
148 DATA "16 0 8"
149 DATA "21 0 10"
150 DATA "25 0 12"
151 DATA "29 0 14"
152 DATA "33 0 17"
153 DATA "37 0 19"
154 DATA "42 0 21"
155 DATA "46 0 23"
156 DATA "50 0 25"
157 DATA "54 0 27"
158 DATA "58 0 29"
159 DATA "63 0 32"
160 DATA "0 0 0"
161 DATA "0 2 4"
162 DATA "0 4 8"
163 DATA "0 6 12"
164 DATA "0 8 16"
165 DATA "0 10 21"
166 DATA "0 12 25"
167 DATA "0 14 29"
168 DATA "0 17 33"
169 DATA "0 19 37"
170 DATA "0 21 42"
171 DATA "0 23 46"
172 DATA "0 25 50"
173 DATA "0 27 54"
174 DATA "0 29 58"
175 DATA "0 32 63"
176 DATA "0 0 0"
177 DATA "4 3 2"
178 DATA "8 6 4"
179 DATA "12 9 6"
180 DATA "16 12 8"
181 DATA "21 16 10"
182 DATA "25 19 12"
183 DATA "29 22 14"
184 DATA "33 25 17"
185 DATA "37 28 19"
186 DATA "42 32 21"
187 DATA "46 35 23"
188 DATA "50 38 25"
189 DATA "54 41 27"
190 DATA "58 44 29"
191 DATA "63 48 32"
192 DATA "0 0 0"
193 DATA "4 2 2"
194 DATA "8 4 4"
195 DATA "12 6 6"
196 DATA "16 8 8"
197 DATA "21 10 10"
198 DATA "25 12 12"
199 DATA "29 14 14"
200 DATA "33 17 17"
201 DATA "37 19 19"
202 DATA "42 21 21"
203 DATA "46 23 23"
204 DATA "50 25 25"
205 DATA "54 27 27"
206 DATA "58 29 29"
207 DATA "63 32 32"
208 DATA "0 0 0"
209 DATA "3 2 0"
210 DATA "6 4 0"
211 DATA "9 6 0"
212 DATA "12 8 0"
213 DATA "15 10 0"
214 DATA "18 12 0"
215 DATA "21 14 0"
216 DATA "24 17 0"
217 DATA "27 19 0"
218 DATA "30 21 0"
219 DATA "33 23 0"
220 DATA "36 25 0"
221 DATA "39 27 0"
222 DATA "42 29 0"
223 DATA "46 32 0"
224 DATA "0 0 0"
225 DATA "0 0 0"
226 DATA "0 0 0"
227 DATA "0 0 0"
228 DATA "0 0 0"
229 DATA "0 0 0"
230 DATA "0 0 0"
231 DATA "0 0 0"
232 DATA "0 0 0"
233 DATA "0 0 0"
234 DATA "0 0 0"
235 DATA "0 0 0"
236 DATA "0 0 0"
237 DATA "0 0 0"
238 DATA "0 0 0"
239 DATA "0 0 0"
240 DATA "32 0 0"
241 DATA "34 4 0"
242 DATA "36 8 0"
243 DATA "38 12 0"
244 DATA "40 16 0"
245 DATA "42 21 0"
246 DATA "44 25 0"
247 DATA "46 29 0"
248 DATA "48 33 0"
249 DATA "50 37 0"
250 DATA "52 42 0"
251 DATA "54 46 0"
252 DATA "56 50 0"
253 DATA "58 54 0"
254 DATA "60 58 0"
255 DATA "63 63 0"
ShipData:
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,16,16,16,16,0,0,0,0,0,0,0,16,16,16,16,16,16,0,0,0,0,0,0,0,16,16,16,16,0,0,0,0,0,0
DATA 0,0,0,0,0,16,17,16,0,0,0,0,0,0,0,0,16,17,17,17,17,17,17,16,0,0,0,0,0,0,0,0,16,17,16,0,0,0,0,0
DATA 0,0,0,0,16,17,17,16,0,0,0,0,0,0,0,16,17,19,19,19,19,19,19,17,16,0,0,0,0,0,0,0,16,17,17,16,0,0,0,0
DATA 0,0,16,16,17,17,16,0,0,0,0,0,0,0,0,16,17,19,22,19,19,22,19,17,16,0,0,0,0,0,0,0,0,16,17,17,16,16,0,0
DATA 0,0,16,17,19,17,16,0,0,0,0,0,0,0,0,16,17,19,19,17,17,19,19,17,16,0,0,0,0,0,0,0,0,16,17,19,17,16,0,0
DATA 0,16,17,19,19,17,16,0,0,0,0,0,0,0,0,16,17,19,17,16,16,17,19,17,16,0,0,0,0,0,0,0,0,16,17,19,19,17,16,0
DATA 0,16,17,19,19,17,16,0,0,0,0,0,0,0,0,16,17,17,16,17,17,16,17,17,16,0,0,0,0,0,0,0,0,16,17,19,19,17,16,0
DATA 16,17,19,22,19,17,16,0,0,0,0,0,0,0,0,0,16,17,16,17,17,16,17,16,0,0,0,0,0,0,0,0,0,16,17,19,22,19,17,16
DATA 16,17,19,22,22,19,17,16,0,0,0,0,0,0,0,0,0,16,16,17,17,16,16,0,0,0,0,0,0,0,0,0,16,17,19,22,22,19,17,16
DATA 16,17,19,22,22,19,17,16,0,0,0,0,0,0,0,0,0,0,16,17,17,16,0,0,0,0,0,0,0,0,0,0,16,17,19,22,22,19,17,16
DATA 16,17,19,22,26,22,19,17,16,16,0,0,0,0,0,0,0,0,16,17,17,16,0,0,0,0,0,0,0,0,16,16,17,19,22,26,22,19,17,16
DATA 16,17,19,22,26,26,22,19,17,17,16,16,0,0,0,0,0,0,16,17,17,16,0,0,0,0,0,0,16,16,17,17,19,22,26,26,22,19,17,16
DATA 16,17,19,22,26,28,26,22,19,19,17,17,16,16,16,0,0,0,16,17,17,16,0,0,0,16,16,16,17,17,19,19,22,26,28,26,22,19,17,16
DATA 0,16,17,19,22,26,28,26,22,22,19,19,17,17,17,16,16,16,16,16,16,16,16,16,16,17,17,17,19,19,22,22,26,28,26,22,19,17,16,0
DATA 0,16,17,19,22,26,28,28,26,26,22,22,19,19,19,17,17,17,17,17,17,17,17,17,17,19,19,19,22,22,26,26,28,28,26,22,19,17,16,0
DATA 0,0,16,17,19,22,26,26,28,28,26,26,22,22,22,19,19,19,19,19,19,19,19,19,19,22,22,22,26,26,28,28,26,26,22,19,17,16,0,0
DATA 0,0,16,16,17,19,22,22,26,26,28,28,26,26,26,22,22,22,22,22,22,22,22,22,22,26,26,26,28,28,26,26,22,22,19,17,16,16,0,0
DATA 0,0,0,0,16,17,19,19,22,22,26,26,26,26,28,26,26,26,26,26,26,26,26,26,26,28,26,26,26,26,22,22,19,19,17,16,0,0,0,0
DATA 0,0,0,0,0,16,17,17,19,19,22,22,22,22,26,26,26,26,26,26,26,26,26,26,26,26,22,22,22,22,19,19,17,17,16,0,0,0,0,0
DATA 0,0,0,0,0,0,16,16,17,17,19,19,19,19,22,22,22,22,22,22,22,22,22,22,22,22,19,19,19,19,17,17,16,16,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,16,16,17,17,17,17,19,19,19,19,19,19,19,19,19,19,19,19,17,17,17,17,16,16,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
RingBottomData:
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16
DATA 16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16
DATA 16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16
DATA 16,117,119,121,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,121,119,117,16
DATA 0,16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16,0
DATA 0,16,117,119,121,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,121,119,117,16,0
DATA 0,0,16,117,119,121,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,121,119,117,16,0,0
DATA 0,0,16,117,119,121,125,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,125,121,119,117,16,0,0
DATA 0,0,0,16,117,119,121,125,121,119,117,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,117,119,121,125,121,119,117,16,0,0,0
DATA 0,0,0,0,16,117,119,121,125,121,119,117,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,117,119,121,125,121,119,117,16,0,0,0,0
DATA 0,0,0,0,16,16,117,119,121,121,121,119,119,117,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,117,119,119,121,121,121,119,117,16,16,0,0,0,0
DATA 0,0,0,0,0,0,16,117,119,119,121,121,121,119,117,117,117,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,117,117,117,119,121,121,121,119,119,117,16,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,16,117,117,119,119,121,121,119,119,119,117,117,117,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,16,117,117,117,119,119,119,121,121,119,119,117,117,16,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,16,16,117,117,119,119,121,121,121,119,119,119,117,117,117,117,117,16,16,16,16,16,16,16,16,16,16,16,16,16,16,117,117,117,117,117,119,119,119,121,121,121,119,119,117,117,16,16,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,16,16,117,117,119,119,121,121,121,121,119,119,119,119,119,117,117,117,117,117,117,117,117,117,117,117,117,117,117,119,119,119,119,119,121,121,121,121,119,119,117,117,16,16,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,16,16,117,117,119,119,119,119,121,121,121,121,121,119,119,119,119,119,119,119,119,119,119,119,119,119,119,121,121,121,121,121,119,119,119,119,117,117,16,16,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,117,117,117,117,119,119,119,119,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,119,119,119,119,117,117,117,117,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,117,117,117,117,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,117,117,117,117,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
RingTopData:
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,117,117,117,117,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,117,117,117,117,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,117,117,117,117,119,119,119,119,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,119,119,119,119,117,117,117,117,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,16,16,117,117,119,119,119,119,121,121,121,121,121,119,119,119,119,119,119,119,119,119,119,119,119,119,119,121,121,121,121,121,119,119,119,119,117,117,16,16,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,16,16,117,117,119,119,121,121,121,121,119,119,119,119,119,117,117,117,117,117,117,117,117,117,117,117,117,117,117,119,119,119,119,119,121,121,121,121,119,119,117,117,16,16,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,16,16,117,117,119,119,121,121,121,119,119,119,117,117,117,117,117,16,16,16,16,16,16,16,16,16,16,16,16,16,16,117,117,117,117,117,119,119,119,121,121,121,119,119,117,117,16,16,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,16,117,117,119,119,121,121,119,119,119,117,117,117,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,16,16,117,117,117,119,119,119,121,121,119,119,117,117,16,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,16,117,119,119,121,121,121,119,117,117,117,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,117,117,117,119,121,121,121,119,119,117,16,0,0,0,0,0,0
DATA 0,0,0,0,16,16,117,119,121,121,121,119,119,117,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16,117,119,119,121,121,121,119,117,16,16,0,0,0,0
DATA 0,0,0,0,16,117,119,121,125,121,119,117,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,117,119,121,125,121,119,117,16,0,0,0,0
DATA 0,0,0,16,117,119,121,125,121,119,117,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,117,119,121,125,121,119,117,16,0,0,0
DATA 0,0,16,117,119,121,125,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,125,121,119,117,16,0,0
DATA 0,0,16,117,119,121,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,121,119,117,16,0,0
DATA 0,16,117,119,121,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,121,119,117,16,0
DATA 0,16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16,0
DATA 16,117,119,121,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,121,119,117,16
DATA 16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16
DATA 16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16
DATA 16,117,119,121,119,117,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,117,119,121,119,117,16
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

SUB delay (d)
        FOR x = 1 TO d
WAIT &H3DA, 8
        NEXT
END SUB

SUB init
superput
loadpaldata
        FOR y = 1 TO 32
       FOR x = 1 TO 40
       READ col
       PSET (x, y), col
       NEXT
        NEXT
GET (0, 0)-(39, 31), ship
        RESTORE ShipData
        FOR y = 1 TO 32
       FOR x = 1 TO 40
       READ col
       IF col <> 0 THEN PSET (x, y), 16
       NEXT
        NEXT
GET (0, 0)-(39, 31), ship2
      
        FOR y = 1 TO 40
       FOR x = 1 TO 64
       READ col
       PSET (x, y), col
       NEXT
        NEXT
GET (0, 0)-(63, 39), Ringbottom
        FOR y = 1 TO 40
       FOR x = 1 TO 64
       READ col
       PSET (x, y), col
       NEXT
        NEXT
GET (0, 0)-(63, 39), Ringtop
CLS
        FOR s = 1 TO 50
                Star(s).x = INT(RND * 320)
                Star(s).y = INT(RND * 200)
                Star(s).Yspeed = INT(RND * 10) + 1
        NEXT
              
                FOR r = 1 TO 5
                        Ring(r).y = -40 - INT(RND * 320)
                        Ring(r).x = INT(RND * 256)
                        Ring(r).Active = 1
                NEXT
Hero.x = (320 \ 2) - (40 \ 2)
Hero.y = 200 - 32
END SUB

SUB loadpaldata
OUT &H3C8, 0
                        FOR t = 0 TO 255
                READ temp$
                FOR i = 1 TO LEN(temp$)
IF ASC(MID$(temp$, i, 1)) = 32 THEN
        Red$ = MID$(temp$, 1, i - 1)
        temp$ = RIGHT$(temp$, LEN(temp$) - i)
        EXIT FOR
END IF
                NEXT
              
                FOR i = 1 TO LEN(temp$)
IF ASC(MID$(temp$, i, 1)) = 32 THEN
        Blue$ = MID$(temp$, 1, i - 1)
        temp$ = RIGHT$(temp$, LEN(temp$) - i)
        EXIT FOR
END IF
                NEXT
Green$ = temp$

OUT &H3C9, VAL(Red$)
OUT &H3C9, VAL(Green$)
OUT &H3C9, VAL(Blue$)
                        NEXT t


END SUB

DEFINT A-Z
SUB superput STATIC
  IF NOT Loaded THEN
    SCREEN 13
    PSET (160, 100), 0

    DefSeg& = VARSEG(DefSeg$)
    DEF SEG = DefSeg&
    FOR i = 0 TO &H7FFC
      IF PEEK(i) = &HA0 AND PEEK(i + 1) = &H7D THEN
      IF PEEK(i + 2) = &H0 AND PEEK(i + 3) = &HA0 THEN
        VideoSegOff = i + 2
        EXIT FOR
      END IF
      END IF
    NEXT

    IF i = &H7FFD THEN
      SCREEN 0
      WIDTH 80, 25
      PRINT "SuperPut Error: Cannot find video segment offset."
      PRINT "Check to make sure you are using a compatible version of QB."
      END
    END IF
  
    PutSeg& = DefSeg& - &H400
    DO WHILE PutSeg& > 0
      DEF SEG = PutSeg&
      FOR i = 0 TO &H3FF4
        IF PEEK(i) = &HC4 AND PEEK(i + 1) = &H5E AND PEEK(i + 2) = &HA THEN
        IF PEEK(i + 3) = &H8C AND PEEK(i + 4) = &HC1 AND PEEK(i + 5) = &H41 THEN
        IF PEEK(i + 6) = &HE2 AND PEEK(i + 7) = &H5 AND PEEK(i + 8) = &H8B THEN
        IF PEEK(i + 9) = &H5E AND PEEK(i + 10) = &H8 AND PEEK(i + 11) = &HC4 THEN
        IF PEEK(i + 12) = &H1F THEN
          PutOff = i
          PutSeg& = PutSeg& - 1
          EXIT DO
        END IF
        END IF
        END IF
        END IF
        END IF
      NEXT
      PutSeg& = PutSeg& - &H3FF
    LOOP

    IF i = &H3FF5 THEN
      SCREEN 0
      WIDTH 80, 25
      PRINT "SuperPut Error: Cannot find QB's B$GPUT routine."
      PRINT "Check to make sure you are using a compatible version of QB"
      PRINT "and have compiled your program as a stand-alone EXE."
      END
    END IF
    NewPut$ = "8B1CC1EB032E891E36022E891E3C028B54022E891638022E89163E022EC706"
    NewPut$ = NewPut$ + "340200002EC7063A0200002EC706400200002EC706420200002E"
    NewPut$ = NewPut$ + "C706460200002EC7064402000083C6048B460A3D3F010F8F8C00"
    NewPut$ = NewPut$ + "3D00000F8CA6008B4E0881F9C7007F7C83F9000F8CAB0003D881"
    NewPut$ = NewPut$ + "FB3F010F8FB7002BD803D181FAC7000F8FC1002BD12E891E3602"
    NewPut$ = NewPut$ + "86E9BB40018BF92E2B1E3602C1EF0203F92E891E3A0203F8837E"
    NewPut$ = NewPut$ + "06020F84B700837E06000F84DF00837E06010F842601837E0603"
    NewPut$ = NewPut$ + "742A2E8B1E36028BCB8A04460AC07403268805474975F22E033E"
    NewPut$ = NewPut$ + "3A022E033634024A75E31F075F5E5DCA0800FC2E8B1E36028BCB"
    NewPut$ = NewPut$ + "F3A42E033E3A022E033634024A75EFEBDFF7D82BD87ED903F02E"
    NewPut$ = NewPut$ + "A334022EA3440233C0E945FFF7D92BD17EC42E890E40022E0336"
    NewPut$ = NewPut$ + "36024975F8E93FFF81EB40012E011E34022E891E4202BB40012B"
    NewPut$ = NewPut$ + "D8E935FF03CA81E9C8002BD12E8B0E3E022E890E46022E291646"
    NewPut$ = NewPut$ + "028B4E08E924FF2E033642022E8B0E36028BD94B2E2B1E44028A"
    NewPut$ = NewPut$ + "000AC07403268805474B4975F22E033E3A022E03363C024A75D8"
    NewPut$ = NewPut$ + "E951FFB940018BDA4B0FAFCB03F92E8B0E3C022E8B1E40020FAF"
    NewPut$ = NewPut$ + "CB2BF12EA13C022E8B1E46020FAFC303F02E8B0E36028A04460A"
    NewPut$ = NewPut$ + "C07403268805474975F22E2B3E360281EF40012E033634024A75"
    NewPut$ = NewPut$ + "DCE902FF2E8B0E3C028BDA0FAFCB03F14E2E8B0E3C022E8B1E40"
    NewPut$ = NewPut$ + "020FAFCB2BF12EA13C022E8B1E46020FAFC303F02E2B3644022E"
    NewPut$ = NewPut$ + "8B0E36022E2B3644028A044E0AC07403268805474975F22E033E"
    NewPut$ = NewPut$ + "3A022E2B3642024A75DBE9ABFE00000000000000000000000000"
    NewPut$ = NewPut$ + "00000000000000"
    DIM NewPut(LEN(NewPut$) / 2 - 1)
    DEF SEG = VARSEG(NewPut(0))
    FOR i = 1 TO LEN(NewPut$) STEP 2
      POKE (i - 1) / 2, VAL("&H" + MID$(NewPut$, i, 2))
    NEXT
    NewPut$ = ""
  END IF
  DEF SEG = PutSeg&
  IF PEEK(PutOff + &H1D) = &H26 THEN
    POKE PutOff + &H50, PEEK(PutOff + &H2B)
    POKE PutOff + &H51, PEEK(PutOff + &H2C)
    POKE PutOff + &H52, PEEK(PutOff + &H33)
    POKE PutOff + &H53, PEEK(PutOff + &H34)
    POKE PutOff + &H54, PEEK(PutOff + &H38)
    POKE PutOff + &H55, PEEK(PutOff + &H39)
  END IF
  POKE PutOff + &H1D, &H1E
  POKE PutOff + &H1E, &HA1
  POKE PutOff + &H1F, PEEK(PutOff + &H42)
  POKE PutOff + &H20, PEEK(PutOff + &H43)
  POKE PutOff + &H21, &H89
  POKE PutOff + &H22, &H46
  POKE PutOff + &H23, &H8
  POKE PutOff + &H24, &HA1
  POKE PutOff + &H25, PEEK(PutOff + &H54)
  POKE PutOff + &H26, PEEK(PutOff + &H55)
  POKE PutOff + &H27, &H89
  POKE PutOff + &H28, &H46
  POKE PutOff + &H29, &HA
  POKE PutOff + &H2A, &H89
  POKE PutOff + &H2B, &HDE
  POKE PutOff + &H2C, &H8C
  POKE PutOff + &H2D, &HC3
  POKE PutOff + &H2E, &H8E
  POKE PutOff + &H2F, &HDB
  POKE PutOff + &H30, &HBB
  POKE PutOff + &H31, DefSeg& AND &HFF
  POKE PutOff + &H32, (DefSeg& AND &HFF00&) \ &H100
  POKE PutOff + &H33, &H8E
  POKE PutOff + &H34, &HC3
  POKE PutOff + &H35, &H26
  POKE PutOff + &H36, &H8B
  POKE PutOff + &H37, &H1E
  POKE PutOff + &H38, VideoSegOff AND &HFF
  POKE PutOff + &H39, (VideoSegOff AND &HFF00&) \ &H100
  POKE PutOff + &H3A, &H8E
  POKE PutOff + &H3B, &HC3
  POKE PutOff + &H3C, &HEA
  POKE PutOff + &H3D, &H0
  POKE PutOff + &H3E, &H0
  POKE PutOff + &H3F, VARSEG(NewPut(0)) AND &HFF
  POKE PutOff + &H40, (VARSEG(NewPut(0)) AND &HFF00&) \ &H100

  Loaded = -1

END SUB

SUB SuperPutRemove STATIC
  IF PutSeg& = 0 THEN   'First time? If so, we have to find B$GPUT.
    PutSeg& = VARSEG(DefSeg$) - &H400
    DO WHILE PutSeg& > 0
      DEF SEG = PutSeg&
      FOR i = 0 TO &H3FF4
        IF PEEK(i) = &HC4 AND PEEK(i + 1) = &H5E AND PEEK(i + 2) = &HA THEN
        IF PEEK(i + 3) = &H8C AND PEEK(i + 4) = &HC1 AND PEEK(i + 5) = &H41 THEN
        IF PEEK(i + 6) = &HE2 AND PEEK(i + 7) = &H5 AND PEEK(i + 8) = &H8B THEN
        IF PEEK(i + 9) = &H5E AND PEEK(i + 10) = &H8 AND PEEK(i + 11) = &HC4 THEN
        IF PEEK(i + 12) = &H1F THEN
          PutOff = i
          PutSeg& = PutSeg& - 1
          EXIT DO
        END IF
        END IF
        END IF
        END IF
        END IF
      NEXT
      PutSeg& = PutSeg& - &H3FF
    LOOP

    IF i = &H3FF5 THEN
      SCREEN 0
      WIDTH 80, 25
      PRINT "SuperPut Error: Cannot find QB's B$GPUT routine."
      PRINT "Check to make sure you are using a compatible version of QB"
      PRINT "and have compiled your program as a stand-alone EXE."
      END
    END IF

  END IF


  DEF SEG = PutSeg&
  IF PEEK(PutOff + &H1D) = &H26 THEN EXIT SUB
  POKE PutOff + &H1D, &H26
  POKE PutOff + &H1E, &H8B
  POKE PutOff + &H1F, &H37
  POKE PutOff + &H20, &H56
  POKE PutOff + &H21, &H26
  POKE PutOff + &H22, &H8B
  POKE PutOff + &H23, &H7F
  POKE PutOff + &H24, &H2
  POKE PutOff + &H25, &H57
  POKE PutOff + &H26, &H83
  POKE PutOff + &H27, &HC3
  POKE PutOff + &H28, &H4
  POKE PutOff + &H29, &H53
  POKE PutOff + &H2A, &HE8
  POKE PutOff + &H2B, PEEK(PutOff + &H50)
  POKE PutOff + &H2C, PEEK(PutOff + &H51)
  POKE PutOff + &H2D, &H93
  POKE PutOff + &H2E, &H96
  POKE PutOff + &H2F, &H99
  POKE PutOff + &H30, &H32
  POKE PutOff + &H31, &HFF
  POKE PutOff + &H32, &HE8
  POKE PutOff + &H33, PEEK(PutOff + &H52)
  POKE PutOff + &H34, PEEK(PutOff + &H53)
  POKE PutOff + &H35, &H48
  POKE PutOff + &H36, &H8B
  POKE PutOff + &H37, &H16
  POKE PutOff + &H38, PEEK(PutOff + &H54)
  POKE PutOff + &H39, PEEK(PutOff + &H55)
  POKE PutOff + &H3A, &H3
  POKE PutOff + &H3B, &HC2
  POKE PutOff + &H3C, &H72
  POKE PutOff + &H3D, &H1B
  POKE PutOff + &H3E, &H8B
  POKE PutOff + &H3F, &HC8
  POKE PutOff + &H40, &H8B
  POKE PutOff + &H50, &H75
  POKE PutOff + &H51, &H4
  POKE PutOff + &H52, &H2B
  POKE PutOff + &H53, &HDF
  POKE PutOff + &H54, &HEB
  POKE PutOff + &H55, &H3

END SUB

Hope this is okay! (And again, sorry for the size)

btw i call it "Flyer.bas"

the object is to get through as many rings as possible in the allotted time. Uhh I know it has ALOT of data statements, the first ones are the palette and the nextones are the sprites.

controls are just arrowkeys...(and esc)


Now to get it down to 9 lines...
Reply
#14
This is interesting... I think we should divide this competition into multiple parts since the code above is a very deep use of "undocumented code". I will look around in it.

So there would be the "documented class" where the programmers use only what is displayed in the help, or "easily understandable" code like using up BSAVE's fileformats and things like this. What can be explained in a few words. For example if we GET an image into an integer array, array(0) will store the X dimension, and array(1) will store the Y dimension.

The "undocumented class" will be the others like this SuperPUT routine where you are going very deep in QB. I could not find out if this contains some Assembly code for the first look, if yes, it can not be called 100% QB. But this seems to do something different...

If You are using the basic library and interrupts, You shoul describe each of them what you are using, or give a location where it is written.

FFIX can be used freely, that library's only purpose is to fix a QB bug so the games will run a bit faster if using floating point, and will not freeze the computer.
fter 60 million years a civilization will search for a meteorite destroying most of the living creatures around this age...

There must be a better future for the Cheetahs!

http://rcs.fateback.com/
Reply
#15
Yet one more: 100% QB does not mean that You must do it in a single .BAS file. You can use external files if needed. (For example some BMP pictures, or BSAVEd ones, or maps, or anything else)
fter 60 million years a civilization will search for a meteorite destroying most of the living creatures around this age...

There must be a better future for the Cheetahs!

http://rcs.fateback.com/
Reply
#16
Superput is just like another lib. An assembly coded routine which is not included with QB.

I don't understand these "lib haters", because they hate "some libs" but use another ones.
SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
Reply
#17
Who hates libs?
Reply
#18
Pure QBers
SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
Reply
#19
And who would that be? Rel? Certainly ain't him. Anybody who's entered one of Toshi's Competitions? Probably not.

The whole "Pure QB" thing is about the challenge, not the hate of libs.
Reply
#20
I love libs...

And also, you never send anything about commenting the code. (did you?)

And ALSO, SuperPut isn't a lib! That's like saying if you copied this code:

Code:
SUB Init
SCREEN 13
CLS
PRINT "SCREEN 13 INITIALIZED!"
END SUB

Into your program saying "I used the INIT lib!!"

A lib is a file that you actually say REM $INCLUDE:'Library.bi' so that you can use different functions. All superput does is modifies QB's own put routine. You can copy the program right into QB and it works fine. (You dont even need to "QB /Lqb" it when you start QB)

But other then that, How do you like the game Big Grin
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)