Hey all,
Here's my 20 line program. See if you can get through this maze. (It's kinda short)
hide mouse : set text size 40 : set text to bold : center text 320,160,"3D MAZE" : wait 3000 : sync on : sync rate 60 : make object cube 1,1 : color object 1,RGB(255,128,0) : position object 1,2,1.51,5 : yrotate object 1,90 : make object box 2,1000,1,1000 : make object box 3,1,20,40 : position object 3,0,2,30 : make object box 4,40,20,1 : position object 4,20,2,0 : make object box 5,1,20,40 : position object 5,40,2,30
make object box 6,40,20,1 : position object 6,20,2,50 : make object box 7,20,20,1 : position object 7,10,2,40 : make object box 8,1,20,20 : position object 8,20,2,30 : make object box 9,1,20,20 : position object 9,10,2,20 : make object box 10,1,20,20 : position object 10,20,2,30 : make object box 11,20,20,1 : position object 11,20,2,10 : make object box 12,1,20,40 : position object 12,30,2,20
make object box 1000,1,5,10 : position object 1000,0,0,5 : hide object 1000 : make object box 1001,1,5,10 : position object 1001,40,0,5 : hide object 1001
color backdrop 1000 : set object collision to boxes 2
do
center text 320,15,"HEY, WHAT'S UP?" : set text to bold : set text size 30
aY# = object angle Y(1)
if upkey()=1 then move object 1,0.4
if downkey()=1 then move object 1,-0.4
if rightkey()=1 then aY# = wrapvalue(aY#+3)
if leftkey()=1 then aY# = wrapvalue(aY#-3)
yrotate object 1,aY#
if object collision(1,1001) then win=1
if win=1 then ink rgb(0,0,0),0 : set text size 10 : set cursor 100,200 : print "CONGRATULATIONS! (as if that was really hard)" : set cursor 200,220 : print "Try the big boy version now! (Press Escape)"
if object collision(1,0) then position object 1,X1#,1.51,Z1#
X1# = Object position x(1) : Z1# = Object position z(1) : X# = Newxvalue(X1#,aY#-180,5) : Z# = Newzvalue(Z1#,aY#-180,5) : Position Camera X#,4,Z# : Point camera X1#,3,Z1# : if controlkey()=1 then Position Camera X#,64,Z# : Point camera X1#,48,Z1#
sync
loop
rem (Well, looks like I didn't need all 20 lines to finish. Happy Day!) Hey, what's big idea? You're not supposed to see how I stacked mostly my whole program on just lines! just kidding... Have fun
rem
If you want a real challenge, here's the full (big boy) version. If you're stuck use the control key to see the maze from overhead. I'd love to hear what you think. Have great day!
rem 3D Maze
rem Preview
hide mouse
set text size 40 : set text to bold : center text 320,160,"3D MAZE"
wait 3000
sync on : sync rate 60
rem controled object
make object cube 1,1
position object 1,2,1.51,5
yrotate object 1,90
color object 1,rgb(2000,10050,0)
rem walls and ground
make object box 2,1000,1,1000
make object box 3,1,20,40
position object 3,0,2,30
make object box 4,40,20,1
position object 4,20,2,0
make object box 5,1,20,40
position object 5,40,2,30
make object box 6,40,20,1
position object 6,20,2,50
make object box 7,20,20,1
position object 7,10,2,40
make object box 8,1,20,20
position object 8,20,2,30
make object box 9,1,20,20
position object 9,10,2,20
make object box 10,1,20,20
position object 10,20,2,30
make object box 11,20,20,1
position object 11,20,2,10
make object box 12,1,20,40
position object 12,30,2,20
for c = 2 to 100
if object exist (c) then color object c,RGB(255,255,255)
next c
make object box 1000,1,5,10
position object 1000,0,0,5
hide object 1000
make object box 1001,1,5,10
position object 1001,40,0,5
hide object 1001
rem sky
color backdrop 1000
rem collision
set object collision to boxes 2
rem main loop
do
rem level 1 print
center text 320,15,"Level 1" : set text to bold : set text size 30
rem controls
aY# = object angle Y(1)
if upkey()=1 then move object 1,0.4
if downkey()=1 then move object 1,-0.4
if rightkey()=1 then aY# = wrapvalue(aY#+3)
if leftkey()=1 then aY# = wrapvalue(aY#-3)
yrotate object 1,aY#
rem collision stats
if object collision(1,1001)
wait 1500
delete object 3
delete object 4
delete object 5
delete object 6
delete object 7
delete object 8
delete object 9
delete object 10
delete object 11
delete object 12
goto L2
endif
if object collision(1,0) then position object 1,X1#,1.51,Z1#
rem camera
X1# = Object position x(1)
Z1# = Object position z(1)
X# = Newxvalue(X1#,aY#-180,5)
Z# = Newzvalue(Z1#,aY#-180,5)
Position Camera X#,4,Z#
Point camera X1#,3,Z1#
if controlkey()=1 then Position Camera X#,64,Z# : Point camera X1#,48,Z1#
rem end loop
sync
loop
rem Level 2 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
L2:
hide mouse
sync on : sync rate 60
rem controled object
position object 1,2,1.51,5
point object 1,2000,1.51,5
rem walls
make object box 3,60,20,1
position object 3,30,2,0
color object 3,rgb(10,10,500)
make object box 4,1,20,30
position object 4,0,2,25
color object 4,rgb(10,10,500)
make object box 5,1,20,40
position object 5,60,2,20
color object 5,rgb(10,10,500)
make object box 6,50,20,1
position object 6,25,2,40
color object 6,rgb(10,10,500)
make object box 7,20,20,1
position object 7,10,2,30
color object 7,rgb(10,10,500)
make object box 8,1,20,20
position object 8,20,2,20
color object 8,rgb(10,10,500)
make object box 9,1,20,10
position object 9,10,2,15
color object 9,rgb(10,10,500)
make object box 10,20,20,1
position object 10,20,2,10
color object 10,rgb(10,10,500)
make object box 11,1,20,20
position object 11,40,2,10
color object 11,rgb(10,10,500)
make object box 12,10,20,1
position object 12,35,2,20
color object 12,rgb(10,10,500)
make object box 13,20,20,1
position object 13,40,2,30
color object 13,rgb(10,10,500)
make object box 14,1,20,30
position object 14,50,2,25
color object 14,rgb(10,10,500)
for c = 2 to 100
if object exist (c) then color object c,RGB(0,0,255)
next c
position object 1001,55,0,40
yrotate object 1001,90
rem collision
set object collision to boxes 2
rem main loop
do
rem level 2 print
center text 320,15,"Level 2" : set text to bold : set text size 30
rem controls
aY# = object angle Y(1)
if upkey()=1 then move object 1,0.4
if downkey()=1 then move object 1,-0.4
if rightkey()=1 then aY# = wrapvalue(aY#+3)
if leftkey()=1 then aY# = wrapvalue(aY#-3)
yrotate object 1,aY#
rem collision stats
if object collision(1,1001)
wait 1500
delete object 3
delete object 4
delete object 5
delete object 6
delete object 7
delete object 8
delete object 9
delete object 10
delete object 11
delete object 12
delete object 13
delete object 14
goto L3
endif
if object collision(1,0) then position object 1,X1#,1.51,Z1#
rem camera
X1# = Object position x(1)
Z1# = Object position z(1)
X# = Newxvalue(X1#,aY#-180,5)
Z# = Newzvalue(Z1#,aY#-180,5)
Position Camera X#,4,Z#
Point camera X1#,3,Z1#
if controlkey()=1 then Position Camera X#,76,Z# : Point camera X1#,60,Z1#
rem end loop
sync
loop
rem Level 3 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
L3:
hide mouse
sync on : sync rate 60
rem controled object
position object 1,2,1.51,5
point object 1,2000,1.51,5
rem walls
color object 2,rgb(500,500,0)
make object box 3,80,20,1
position object 3,40,2,0
color object 3,rgb(500,500,0)
make object box 4,1,20,70
position object 4,0,2,45
color object 4,rgb(500,500,0)
make object box 5,1,20,20
position object 5,10,2,10
color object 5,rgb(500,500,0)
make object box 6,1,20,30
position object 6,20,2,15
color object 6,rgb(500,500,0)
make object box 7,10,20,1
position object 7,15,2,30
color object 7,rgb(500,500,0)
make object box 8,1,20,10
position object 8,20,2,65
color object 8,rgb(500,500,0)
make object box 9,10,20,1
position object 9,15,2,60
color object 9,rgb(500,500,0)
make object box 10,80,20,1
position object 10,40,2,70
color object 10,rgb(500,500,0)
make object box 11,1,20,20
position object 11,80,2,10
color object 11,rgb(500,500,0)
make object box 12,1,20,40
position object 12,80,2,50
color object 12,rgb(500,500,0)
make object box 13,1,20,10
position object 13,10,2,55
color object 13,rgb(500,500,0)
make object box 14,10,20,1
position object 14,25,2,50
color object 14,rgb(500,500,0)
make object box 15,1,20,40
position object 15,30,2,30
color object 15,rgb(500,500,0)
make object box 16,30,20,1
position object 16,25,2,40
color object 16,rgb(500,500,0)
make object box 17,1,20,40
position object 17,40,2,20
color object 17,rgb(500,500,0)
make object box 18,1,20,20
position object 18,40,2,60
color object 18,rgb(500,500,0)
make object box 19,1,20,50
position object 19,50,2,35
color object 19,rgb(500,500,0)
make object box 20,20,20,1
position object 20,60,2,60
color object 20,rgb(500,500,0)
make object box 21,20,20,1
position object 21,60,2,40
color object 21,rgb(500,500,0)
make object box 22,20,20,1
position object 22,70,2,50
color object 22,rgb(500,500,0)
make object box 23,1,20,40
position object 23,60,2,20
color object 23,rgb(500,500,0)
make object box 24,1,20,20
position object 24,70,2,20
color object 24,rgb(500,500,0)
make object box 25,10,20,1
position object 25,75,2,30
color object 25,rgb(500,500,0)
yrotate object 1001,180
position object 1001,80,0,25
rem collision
set object collision to boxes 2
rem main loop
do
rem level 3 print
center text 320,15,"Level 3" : set text to bold : set text size 30
rem controls
aY# = object angle Y(1)
if upkey()=1 then move object 1,0.4
if downkey()=1 then move object 1,-0.4
if rightkey()=1 then aY# = wrapvalue(aY#+3)
if leftkey()=1 then aY# = wrapvalue(aY#-3)
yrotate object 1,aY#
rem collision stats
if object collision(1,1001)
wait 1500
delete object 3
delete object 4
delete object 5
delete object 6
delete object 7
delete object 8
delete object 9
delete object 10
delete object 11
delete object 12
delete object 13
delete object 14
delete object 15
delete object 16
delete object 17
delete object 18
delete object 19
delete object 20
delete object 21
delete object 22
delete object 23
delete object 24
delete object 25
goto L4
endif
if object collision(1,0) then position object 1,X1#,1.51,Z1#
rem camera
X1# = Object position x(1)
Z1# = Object position z(1)
X# = Newxvalue(X1#,aY#-180,5)
Z# = Newzvalue(Z1#,aY#-180,5)
Position Camera X#,4,Z#
Point camera X1#,3,Z1#
if controlkey()=1 then Position Camera X#,108,Z# : Point camera X1#,81,Z1#
rem end loop
sync
loop
rem Level 4 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
L4:
hide mouse
sync on : sync rate 60
rem controled object
position object 1,2,1.51,55
point object 1,2000,1.51,55
rem walls
color object 2,rgb(10,500,10)
make object box 3,80,20,1
position object 3,40,2,0
color object 3,rgb(10,500,10)
make object box 4,1,20,50
position object 4,0,2,25
color object 4,rgb(10,500,10)
make object box 5,1,20,40
position object 5,0,2,80
color object 5,rgb(10,500,10)
make object box 6,1,20,100
position object 6,90,2,50
color object 6,rgb(10,500,10)
make object box 7,90,20,1
position object 7,45,2,100
color object 7,rgb(10,500,10)
make object box 8,1,20,10
position object 8,10,2,45
color object 8,rgb(10,500,10)
make object box 9,10,20,1
position object 9,15,2,40
color object 9,rgb(10,500,10)
make object box 10,1,20,40
position object 10,20,2,60
color object 10,rgb(10,500,10)
make object box 11,40,20,1
position object 11,30,2,70
color object 11,rgb(10,500,10)
make object box 12,60,20,1
position object 12,30,2,80
color object 12,rgb(10,500,10)
make object box 13,50,20,1
position object 13,25,2,30
color object 13,rgb(10,500,10)
make object box 14,1,20,10
position object 14,30,2,35
color object 14,rgb(10,500,10)
make object box 15,1,20,10
position object 15,50,2,35
color object 15,rgb(10,500,10)
make object box 16,10,20,1
position object 16,45,2,40
color object 16,rgb(10,500,10)
make object box 17,20,20,1
position object 17,40,2,50
color object 17,rgb(10,500,10)
make object box 18,1,20,20
position object 18,40,2,50
color object 18,rgb(10,500,10)
make object box 19,1,20,60
position object 19,60,2,50
color object 19,rgb(10,500,10)
make object box 20,10,20,1
position object 20,55,2,60
color object 20,rgb(10,500,10)
make object box 21,50,20,1
position object 21,35,2,20
color object 21,rgb(10,500,10)
make object box 22,60,20,1
position object 22,40,2,10
color object 22,rgb(10,500,10)
make object box 23,10,20,1
position object 23,65,2,30
color object 23,rgb(10,500,10)
make object box 24,1,20,70
position object 24,70,2,45
color object 24,rgb(10,500,10)
make object box 25,1,20,90
position object 25,80,2,45
color object 25,rgb(10,500,10)
make object box 26,30,20,1
position object 26,65,2,90
color object 26,rgb(10,500,10)
make object box 27,30,20,1
position object 27,25,2,90
color object 27,rgb(10,500,10)
make object box 28,1,20,10
position object 28,40,2,95
color object 28,rgb(10,500,10)
position object 1000,0,0,55
yrotate object 1001,90
position object 1001,85,0,0
rem collision
set object collision to boxes 2
rem main loop
do
rem level 4 print
center text 320,15,"Level 4" : set text to bold : set text size 30
rem controls
aY# = object angle Y(1)
if upkey()=1 then move object 1,0.4
if downkey()=1 then move object 1,-0.4
if rightkey()=1 then aY# = wrapvalue(aY#+3)
if leftkey()=1 then aY# = wrapvalue(aY#-3)
yrotate object 1,aY#
rem collision stats
if object collision(1,1001)
wait 1500
delete object 3
delete object 4
delete object 5
delete object 6
delete object 7
delete object 8
delete object 9
delete object 10
delete object 11
delete object 12
delete object 13
delete object 14
delete object 15
delete object 16
delete object 17
delete object 18
delete object 19
delete object 20
delete object 21
delete object 22
delete object 23
delete object 24
delete object 25
delete object 26
delete object 27
delete object 28
goto L5
endif
if object collision(1,0) then position object 1,X1#,1.51,Z1#
rem camera
X1# = Object position x(1)
Z1# = Object position z(1)
X# = Newxvalue(X1#,aY#-180,5)
Z# = Newzvalue(Z1#,aY#-180,5)
Position Camera X#,4,Z#
Point camera X1#,3,Z1#
if controlkey()=1 then Position Camera X#,140,Z# : Point camera X1#,105,Z1#
rem end loop
sync
loop
rem Level 5 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
L5:
hide mouse
sync on : sync rate 60
rem controled object
position object 1,2,1.51,115
point object 1,2000,1.51,115
rem walls
color object 2,rgb(500,10,10)
make object box 3,100,20,1
position object 3,50,2,0
color object 3,rgb(500,10,10)
make object box 4,1,20,110
position object 4,0,2,55
color object 4,rgb(500,10,10)
make object box 5,1,20,120
position object 5,110,2,60
color object 5,rgb(500,10,10)
make object box 6,110,20,1
position object 6,55,2,120
color object 6,rgb(500,10,10)
make object box 7,10,20,1
position object 7,5,2,110
color object 7,rgb(500,10,10)
make object box 8,40,20,1
position object 8,40,2,110
color object 8,rgb(500,10,10)
make object box 9,1,20,20
position object 9,10,2,90
color object 9,rgb(500,10,10)
make object box 10,20,20,1
position object 10,20,2,100
color object 10,rgb(500,10,10)
make object box 11,1,20,10
position object 11,30,2,95
color object 11,rgb(500,10,10)
make object box 12,10,20,1
position object 12,25,2,90
color object 12,rgb(500,10,10)
make object box 13,1,20,20
position object 13,20,2,80
color object 13,rgb(500,10,10)
make object box 14,20,20,1
position object 14,10,2,70
color object 14,rgb(500,10,10)
make object box 15,1,20,20
position object 15,40,2,80
color object 15,rgb(500,10,10)
make object box 16,1,20,30
position object 16,50,2,85
color object 16,rgb(500,10,10)
make object box 17,30,20,1
position object 17,35,2,70
color object 17,rgb(500,10,10)
make object box 18,1,20,10
position object 18,40,2,105
color object 18,rgb(500,10,10)
make object box 19,1,20,10
position object 19,30,2,85
color object 19,rgb(500,10,10)
make object box 20,1,20,40
position object 20,60,2,90
color object 20,rgb(500,10,10)
make object box 21,1,20,10
position object 21,70,2,115
color object 21,rgb(500,10,10)
make object box 22,10,20,1
position object 22,65,2,100
color object 22,rgb(500,10,10)
make object box 23,20,20,1
position object 23,70,2,80
color object 23,rgb(500,10,10)
make object box 24,10,20,1
position object 24,75,2,90
color object 24,rgb(500,10,10)
make object box 25,1,20,30
position object 25,80,2,105
color object 25,rgb(500,10,10)
make object box 26,30,20,1
position object 26,75,2,70
color object 26,rgb(500,10,10)
make object box 27,1,20,50
position object 27,90,2,95
color object 27,rgb(500,10,10)
make object box 28,1,20,10
position object 28,80,2,65
color object 28,rgb(500,10,10)
make object box 29,40,20,1
position object 29,80,2,60
color object 29,rgb(500,10,10)
make object box 30,1,20,58
position object 30,100,2,89
color object 30,rgb(500,10,10)
make object box 31,30,20,1
position object 31,75,2,50
color object 31,rgb(500,10,10)
make object box 32,1,20,10
position object 32,100,2,45
color object 32,rgb(500,10,10)
make object box 33,1,20,10
position object 33,90,2,45
color object 33,rgb(500,10,10)
make object box 34,30,20,1
position object 34,95,2,30
color object 34,rgb(500,10,10)
make object box 35,1,20,10
position object 35,80,2,35
color object 35,rgb(500,10,10)
make object box 36,30,20,1
position object 36,65,2,40
color object 36,rgb(500,10,10)
make object box 37,1,20,20
position object 37,50,2,60
color object 37,rgb(500,10,10)
make object box 38,10,20,1
position object 38,35,2,60
color object 38,rgb(500,10,10)
make object box 39,1,20,10
position object 39,30,2,55
color object 39,rgb(500,10,10)
make object box 40,1,20,20
position object 40,40,2,50
color object 40,rgb(500,10,10)
make object box 41,10,20,1
position object 41,45,2,40
color object 41,rgb(500,10,10)
make object box 57,10,20,1
position object 57,25,2,40
color object 57,rgb(500,10,10)
make object box 42,1,20,20
position object 42,20,2,50
color object 42,rgb(500,10,10)
make object box 43,1,20,20
position object 43,10,2,50
color object 43,rgb(500,10,10)
make object box 44,10,20,1
position object 44,15,2,60
color object 44,rgb(500,10,10)
make object box 45,10,20,1
position object 45,5,2,40
color object 45,rgb(500,10,10)
make object box 46,30,20,1
position object 46,15,2,30
color object 46,rgb(500,10,10)
make object box 47,20,20,1
position object 47,20,2,20
color object 47,rgb(500,10,10)
make object box 48,30,20,1
position object 48,25,2,10
color object 48,rgb(500,10,10)
make object box 49,1,20,10
position object 49,10,2,15
color object 49,rgb(500,10,10)
make object box 50,1,20,20
position object 50,40,2,20
color object 50,rgb(500,10,10)
make object box 51,20,20,1
position object 51,50,2,30
color object 51,rgb(500,10,10)
make object box 52,1,20,20
position object 52,60,2,20
color object 52,rgb(500,10,10)
make object box 53,50,20,1
position object 53,85,2,20
color object 53,rgb(500,10,10)
make object box 54,1,20,20
position object 54,50,2,10
color object 54,rgb(500,10,10)
make object box 55,1,20,10
position object 55,100,2,5
color object 55,rgb(500,10,10)
make object box 56,30,20,1
position object 56,85,2,10
color object 56,rgb(500,10,10)
position object 1000,0,0,115
position object 1001,105,0,0
rem day-games explore bonus
make object box 90,2,2,2
position object 90,85,2,65
yrotate object 90,90
rem collision
set object collision to boxes 2
rem main loop
do
rem level 5 print
center text 320,15,"Level 5" : set text to bold : set text size 30
rem controls
aY# = object angle Y(1)
if upkey()=1 then move object 1,0.4
if downkey()=1 then move object 1,-0.4
if rightkey()=1 then aY# = wrapvalue(aY#+3)
if leftkey()=1 then aY# = wrapvalue(aY#-3)
yrotate object 1,aY#
rem win
if object collision(1,1001)
goto W
endif
rem day-games explore bonus pickup
if object collision(1,90) then Bonus=-500
Bonus=Bonus+1
if Bonus<0 then set cursor 200,200 : set text size 10 : print "YOU FOUND THE DAY GAMES EXPLORE BONUS!"
rem collision stats
if object collision(1,1001)
goto W
endif
if object collision(1,0) then position object 1,X1#,1.51,Z1#
rem camera
X1# = Object position x(1)
Z1# = Object position z(1)
X# = Newxvalue(X1#,aY#-180,5)
Z# = Newzvalue(Z1#,aY#-180,5)
Position Camera X#,4,Z#
Point camera X1#,3,Z1#
if controlkey()=1 then Position Camera X#,152,Z# : Point camera X1#,114,Z1#
rem end loop
sync
loop
W:
do
set cursor 200,200 : set text size 10 : print "CONGRATULATIONS"
if returnkey()=1 then exit
p=p+1
if p>200 then exit
sync
loop
end
Daygamer