start:
cls
 
sync rate 40
restore startpoint
set text font "system",1
set text to normal
set text transparent
set text size 20
show mouse
sync on
 
for select=0 to 5
ink rgb(100,100,100),0
box (select*50)+2,0,(select*50)+50,50
read msg$
ink rgb(130*(select+1),130*(select+1),130*(select+1)),0
center text (select*50+2+(select*50)+50)/2,25,msg$
next select
set text opaque
ink rgb(100,100,100),0
do
for detect=0 to 5
if mousex()>(detect*50)+2 and mousey()>0 and mousex()<(detect*50)+50 and mousey()<50
if mouseclick()=1
for drop=50 to 100
if detect=5 then end
box (detect*50)+2,drop,(detect*50)+50,drop+2
sync
next drop
if detect=3
if w=1 then set window off:w=0 else set window on:w=1
gosub start
endif
if detect=2 then gosub Tools
if detect=1 then gosub Art
if detect=0 then gosub Games
endif
endif
sync
next detect
 
 
sync
loop
 
 
 
 
 
 
 
rem --------
 
Art:
color=255
x=0
y=0
sync rate 0
repeat
dec color,1
set gamma color,color,color
sync
until color=0
cls
wait 10
set gamma 255,255,255
`-=-=-=-Paint-=-=-=-
`--------V1.6-------
`----Designed By Irojo----
`
`Note: Go ahead and build off this if you want.
 
boxsize=1
i=1
x11#=600
y11#=400
x12#=700
y12#=400
x21#=600
y21#=400
x22#=600
y22#=600
sync on : sync rate 0
ink rgb(255,255,255),0
print "    Instructions for Version 1.6 Paint Program"
print " "
print " The area to the left of the line will be called the drawing section."
print "The area to the right of the line will be called the editor section."
print " "
print " If your mouse enters the editor section, the line will begin flashing" 
print "and you will be required to press (y)es or (n)o to continue, in order to protect your work."
print " "
print " To increase your Red Value, you would enter [Shift]+(r)"
print "in continuation, you would enter (r) to decrease the value."
print "for red, the key is r, for green, g, and for blue, b."
print " "
print " The value range is 0-255. You can't go lower then 0, and can't go higher then 255."
print " "
print " To clear the screen, right click, then press [SHIFT]+(y) to confirm or (n) to cancel"
print "Then press [Shift]+c to confirm."
print "If you change your mind, press x."
print " "
print " If you want to erase some of your work, Hold (x),"
print "and move your mouse over what it is that you want "
print "to erase. It is recommended that you set r,g, and b to 0, or you"
print "will have problems." 
print " "
print " "
print " To disable editor mode, press (d). To re-enable, press (e)."
print "Press a key to continue with instructions"
print " "
print "These Instructions will not be repeated."
wait key
 
repeat
cls
ink rgb(255,255,255),0
print " To change between 3D and 2D mode, press 2 for 2D, and likewise 3 for 3D."
print " "
print " To change your color to the color under your mouse, press Control."
print " "
print " To Make a Random Splatter art effect, Hold [SHIFT]+" f " and left click."
print " There is a box in the bottom right-hand corner of editor mode,"
print "with a "C" on the middle of it. If you click on this box, the screen will"
print "be cleared."
print " To change all colors at once, press 'A' to raise them, and 'a' to lower."
ink rgb(rnd(255),rnd(255),rnd(255)),0
print "PRESS TAB WHEN IN EDITOR MODE TO RETURN TO MAIN MENU!!!"
ink rgb(255,255,255),0
print "Press [ENTER] to begin."
print " "
print "These Instructions will not be repeated."
sync
until returnkey()=1
 
 
 
 
 
the_program:
cls
programsbegin:
currentx=320
currenty=240
 
 
do
x=0
y=0
if inkey$()="A" and r<255 and g<255 and b<255 then r=r+1:g=g+1:b=b+1
if inkey$()="a" and r>0 and g>0 and b>0 then r=r-1:g=g-1:b=b-1
 
 
line 600,400,700,400
line 600,400,600,600
 
 
 
    color=point(mousex(),mousey())
ink rgb(rgbr(color),rgbg(color),rgbb(color)),0
if rgbr(color)+rgbg(color)+rgbb(color)>0 then ink rgb(255,0,0),0
ink rgb(rgbr(color),rgbg(color),rgbb(color)),0
box 550,200,600,250
if rgbr(color)+rgbg(color)+rgbb(color)>0 then ink rgb(255,0,0),0 else ink rgb(255,255,255),0
line 550,200,600,200
line 550,200,550,250
line 600,200,600,250
line 600,250,550,250
   if controlkey()=1
    color=point(mousex(),mousey())
    r=rgbr(color)
    g=rgbg(color)
    b=rgbb(color)
   endif
 
   if inkey$()="x"
   realr=0 : realg=0 : realb=0
   disable=1
   if mouseclick()=1
   if boxsize=1
    ink rgb(0,0,0),0
    box mousex()-3,mousey()-3,mousex()+3,mousey()+3
   endif
    if boxsize=2
     ink rgb(0,0,0),0
     box mousex()-5,mousey()-5,mousex()+5,mousey()+5
     ink rgb(255,255,255),0
    endif
   endif
 
 
  trigger=1
  disable=0
  endif
  ink rgb(r,g,b),0
   if inkey$()="R" and r<255 then r=r+1
   if inkey$()="G" and g<255 then g=g+1
   if inkey$()="B" and b<255 then b=b+1
 
   if inkey$()="r" and r>0 then r=r-1
   if inkey$()="g" and g>0 then g=g-1
   if inkey$()="b" and b>0 then b=b-1
 
   if mouseclick()=2 then gosub confirm
 
 
   ` -LINE 2D-
    if Style=0
     if trigger=0 and disable=0 and mouseclick()=1 or trigger=0 and spacekey()=1 and disable=0
      ink rgb(realr,realg,realb),0
       line currentx,currenty,mousex(),mousey()
      endif
     endif
 
 
   ` -|LINE 2D|-
 
 
   ` -LINE 3D-
   if Style=1
    if trigger=0 and disable=0 and mouseclick()=1 or trigger=0 and spacekey()=1 and disable=0
     if currentx<mousex()
      ink rgb(realr,realg,realb),0
      line currentx-3,currenty-3,mousex()+3,mousey()+3
     endif
     if currentx>mousex()
      ink rgb(realr,realg,realb),0
        line currentx+3,currenty+3,mousex()-3,mousey()-3
      endif
     endif
    endif
   `-|LINE|-
 
 
 
   if mousex()>=480 then gosub overline
 
  currentx=mousex()
  currenty=mousey()
 
  ink rgb(255,0,0),0
  line 480,0,480,500
  set text opaque
  ink rgb(255,0,0),0
  text 485,20,"                     "
  text 485,20,"Red:   "+STR$(r)+"  "
 
  ink rgb(0,255,0),0
  text 485,40,"                       "
  text 485,40,"Green:   "+STR$(g)+"  "
 
  ink rgb(0,0,255),0
  text 485,60,"                      "
  text 485,60,"Blue:   "+STR$(b)+"  "
 
  ink rgb(r,g,b),0
  box 595,20,620,80
  ink rgb(55,55,55),0
  line 595,20,595,80
 
  line 595,20,620,20
 
  line 620,20,620,80
 
  line 595,80,620,80
  ink rgb(255,255,255),0
  text 485,100,"Eraser Size= "+str$(boxsize)+"  "
   if inkey$()="+" and boxsize<2 then boxsize=2
   if inkey$()="-" and boxsize>0 then boxsize=1
   if inkey$()="x" and trigger=1 and timer>=10 then trigger=0 : timer=0
  ink rgb(255,255,255),0
  if Style=0
   text 485,120,"Pen Style: 2D"
  endif
  if Style=1
   text 485,120,"Pen Style: 3D"
  endif
 
  if inkey$()="3" then Style=1
  if inkey$()="2" and Style=1 then Style=0
 
 
  if inkey$()="d" then disablemove=1
  if inkey$()="e" then disablemove=0
  if disablemove=1 and mousex()>=480 then position mouse 479,mousey()
 
 
 trigger=0
 realr=r
 realg=g
 realb=b
   if inkey$()="F" then position mouse rnd(478),rnd(500)
ink rgb(255,255,255),0
center text 620,425,"C"
line x11#,y11#,x12#,y12#
line x21#,y21#,x22#,y22#
 
 
 sync
loop
 
confirm:
do
  if inkey$()="Y" then cls : return
  if inkey$()="n" then return
 sync
loop
 
overline:
do
  ink rgb(rnd(200)+150,0,0),0
  line 480,0,480,500
 
  if inkey$()="y" then exit
  if inkey$()="n" then position mouse 479,mousey() : return
  if inkey$()="d" then disablemove=1
  if inkey$()="e" then disablemove=0
  if disablemove=1 and mousex()>=480 then position mouse 479,mousey() : return
 
 sync
loop
 
 
 
 
 
do
x=0
y=0
if mousex()>600 and mousey()>400 and mouseclick()=1
line x11#,y11#,x12#,y12#
line x21#,y21#,x22#,y22#
 
ink rgb(255,255,255),0
center text 620,425,"C"
 
ink rgb(255,255,255),0
show mouse
 
if inkey$()="A" and r<255 and g<255 and b<255 then r=r+1:g=g+1:b=b+1
if inkey$()="a" and r>0 and g>0 and b>0 then r=r-1:g=g-1:b=b-1
 
`*-------------------------------------------------------*
`Change this value to 40, or 90 for a different effect.
inricatevalue#=4
`*-------------------------------------------------------*
while thingy<600
    ink rgb(255,255,255),0
 
     if itrigger<>1 then x=x+inricatevalue#
 
     if x>=658 and itrigger2=0 then y=y+inricatevalue#
 
     if x>=658 then itrigger=1
 
     if y>=500 then itrigger2=1
    line 320,240,x,y
     if itrigger2=1 then x=x-inricatevalue#
 
     if x=0 and y>=500 and itrigger2=1 then itrigger3=1
 
     if itrigger3=1 then y=y-inricatevalue#
 
     if itrigger3=1 then itrigger2=0
wait 2
     if y=0 and x=0
      itrigger=0
      itrigger2=0
      itrigger3=0
     endif
thingy=thingy+1
  sync
endwhile
thingy=0
      itrigger=0
      itrigger2=0
      itrigger3=0
cls
line 550,200,600,200
line 550,200,550,250
line 600,200,600,250
line 600,250,550,250
ink rgb(255,255,255),0
center text 620,425,"C"
else
line x11#,y11#,x12#,y12#
line x21#,y21#,x22#,y22#
endif
 
 
 
set text opaque
  ink rgb(255,255,255),0
  line 480,0,480,500
   if inkey$()="R" and r<255 then r=r+1
   if inkey$()="G" and g<255 then g=g+1
   if inkey$()="B" and b<255 then b=b+1
 
   if inkey$()="r" and r>0 then r=r-1
   if inkey$()="g" and g>0 then g=g-1
   if inkey$()="b" and b>0 then b=b-1
 
  ink rgb(255,0,0),0
  text 485,20,"                     "
  text 485,20,"Red:   "+STR$(r)+"  "
 
  ink rgb(0,255,0),0
  text 485,40,"                     "
  text 485,40,"Green:   "+STR$(g)+"  "
 
  ink rgb(0,0,255),0
  text 485,60,"                      "
  text 485,60,"Blue:   "+STR$(b)+"  "
  ink rgb(r,g,b),0
  box 595,20,620,80
  ink rgb(55,55,55),0
  line 595,20,595,80
 
  line 595,20,620,20
 
  line 620,20,620,80
 
  line 595,80,620,80
 
   if mousex()<480 then return
   if mouseclick()=2 then gosub confirm
 
  ink rgb(255,255,255),0
  text 485,100,"Eraser Size= "+str$(boxsize)+"  "
 
   if inkey$()="+" and boxsize<2 then boxsize=2
   if inkey$()="-" and boxsize>0 then boxsize=1
 
  ink rgb(255,255,255),0
  if Style=0
   text 485,120,"Pen Style: 2D"
  endif
  if Style=1
   text 485,120,"Pen Style: 3D"
  endif
 
 
  if inkey$()="3" then Style=1
  if inkey$()="2" and Style=1 then Style=0
 
 
 
  if inkey$()="d" then disablemove=1
  if inkey$()="e" then disablemove=0
  if disablemove=1 and mousex()>=480 then position mouse 479,mousey()
  If scancode()=15 then gosub start
 
 sync
loop
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
end
 
 
 
 
 
 
 
 
 
 
 
 
 
 
rem ----------
Games:
set text transparent
sync rate 140
ink rgb(255,255,255),0
for slide=1 to 102
box 0,0,300,slide
sync
next slide
sync rate 0
for center=1 to (screen width()-300)/2
cls
box center,0,center+300,slide
sync
next center
color=255
repeat
dec color,1
ink rgb(color,color,color),0
box center-1,0,center+300,slide
sync
 
until color=100
 
 
set text font "Times New Roman",1
set text size 40
ink rgb(255,255,255),0
center text (center+300+center-1)/2,slide/2,"Games"
for boxes=1 to 3
ink rgb(200,240,0),0
box 320-41,boxes*60+91,320+41,boxes*60+121
ink rgb(60,20,80),0
box 320-39,boxes*60+89,320+39,boxes*60+119
next boxes
set text size 14
label=1
ink rgb(100,240,0),0
center text 320,label*60+91,"Ninja Stickman"
label=2
ink rgb(100,240,0),0
center text 320,label*60+91,"Other"
label=3
ink rgb(100,240,0),0
center text 320,label*60+91,"Back"
r=10
x=420
y=240
circle 420,240,30
dot 410,230
dot 430,230
sync on
 For dg= 0 to 180
   ax= sin(dg-100)*r +x
   ay= cos(dg-100)*r +y
 
   dot ax,ay
 Next dg
sync
r=10
x=220
y=240
circle 220,240,30
dot 210,230
dot 230,230
sync on
 For dg= 0 to 180
   ax= sin(dg-120)*r +x
   ay= cos(dg-100)*r +y
 
   dot ax,ay
 Next dg
sync
do
 
for boxes=1 to 3
ink rgb(200,240,0),0
if mousex()>320-40 and mousex()<320+40 and mousey()>boxes*60+91 and mousey()<boxes*60+121
if mouseclick()=1
 if boxes=1 then gosub NinjaStickman
 if boxes=2 then gosub Other
 if boxes=3 then gosub start
endif
endif
next boxes
sync
loop
 
end
 
 
Tools:
cls rgb(200,80,90)
sync on
for line=1 to screen width()
ink rgb(line*line,line,line),0
box line-1,0,line,screen height()-1
next line
sync
ink rgb(0,0,0),0
box 240,100,402,202
for x=240 to 400
for y=100 to 200
ink rgb(x*x+5,x+5,x+5),0
dot x,y
next y
next x
sync
set text font "Arial",1
set text size 30
set text to normal
set text transparent
ink rgb(200,200,200),0
center text 320,150,"Tools"
 
 
for boxstep=0 to 2
ink rgb(8,220,216),0
box 240,240+(boxstep*50),400,280+(boxstep*50)
next boxstep
boxstep=0
 
set text font "Impact",1
ink rgb(100,100,100),0
set text size 20
center text 320,250+(boxstep*50),"English -> Binary"
boxstep=1
center text 320,250+(boxstep*50),"Calculator"
boxstep=2
center text 320,250+(boxstep*50),"Return To Main Menu"
do
 
for boxstep=0 to 2
if mousex()>240 and mousex()<400 and mousey()>240+(boxstep*50) and mousey()<280+(boxstep*50)
if mouseclick()
if boxstep=0 then gosub Binary
if boxstep=1 then gosub Calculator
if boxstep=2 then gosub start
endif
endif
next boxstep
sync
loop
 
 
 
 
Binary:
rem -------------The following Code was Created by Irojo (me)-----------
rem -------------------I used an online translator to find the Binary--------
rem -------------------letters needed. It includes a-z, and spaces only--------
rem -----------I may do other characters later-------
sync on
set text transparent
cls rgb(40,100,0)
ink rgb(100,200,0),0
 
box 200,100,440,200
ink rgb(100,100,100),0
box 0,240,screen width()-1,screen height()-1
ink rgb(200,200,200),0
print
set text font "Impact",1
set text size 30
center text 320,150,"Binary Translator"
ink rgb(0,0,0),0
box 0,15,screen width()-1,31
ink rgb(255,255,255),0
print "English:";
sync
input msg$
if len(msg$) > 30
sg$ = left$(msg$,30)
set cursor 100,50
print "Your string was too long and was truncated to:"
set cursor 100,70
print msg$
sync
wait key
 
goto Tools
endif
for scan=1 to len(msg$)
 
 
if mid$(msg$,scan)="a" then s$=s$+"01100001"
if mid$(msg$,scan)="b" then s$=s$+"01100010"
if mid$(msg$,scan)="c" then s$=s$+"01100011"
if mid$(msg$,scan)="d" then s$=s$+"01100100"
if mid$(msg$,scan)="e" then s$=s$+"01100101"
if mid$(msg$,scan)="f" then s$=s$+"01100110"
if mid$(msg$,scan)="g" then s$=s$+"01100111"
if mid$(msg$,scan)="h" then s$=s$+"01101000"
if mid$(msg$,scan)="i" then s$=s$+"01101001"
if mid$(msg$,scan)="j" then s$=s$+"01101010"
if mid$(msg$,scan)="k" then s$=s$+"01101011"
if mid$(msg$,scan)="l" then s$=s$+"01101100"
if mid$(msg$,scan)="m" then s$=s$+"01101101"
if mid$(msg$,scan)="n" then s$=s$+"01101110"
if mid$(msg$,scan)="o" then s$=s$+"01101111"
if mid$(msg$,scan)="p" then s$=s$+"01110000"
if mid$(msg$,scan)="q" then s$=s$+"01110001"
if mid$(msg$,scan)="r" then s$=s$+"01110010"
if mid$(msg$,scan)="s" then s$=s$+"01110011"
if mid$(msg$,scan)="t" then s$=s$+"01110100"
if mid$(msg$,scan)="u" then s$=s$+"01110101"
if mid$(msg$,scan)="v" then s$=s$+"01110110"
if mid$(msg$,scan)="w" then s$=s$+"01110111"
if mid$(msg$,scan)="x" then s$=s$+"01111000"
if mid$(msg$,scan)="y" then s$=s$+"01111001"
if mid$(msg$,scan)="z" then s$=s$+"01111010"
if mid$(msg$,scan)=" " then s$=s$+"00100000"
if mid$(msg$,scan)="." then s$=s$+"00101110"
if mid$(msg$,scan)="!" then s$=s$+"00100001"
if mid$(msg$,scan)="'" then s$=s$+"00100111"
if mid$(msg$,scan)="/" then s$=s$+"00101111"
if mid$(msg$,scan)="\" then s$=s$+"01011100"
if mid$(msg$,scan)="|" then s$=s$+"01111100"
if mid$(msg$,scan)="A" then s$=s$+"01000001"
if mid$(msg$,scan)="B" then s$=s$+"01000010"
if mid$(msg$,scan)="C" then s$=s$+"01000011"
if mid$(msg$,scan)="D" then s$=s$+"01000100"
if mid$(msg$,scan)="E" then s$=s$+"01000101"
if mid$(msg$,scan)="F" then s$=s$+"01000110"
if mid$(msg$,scan)="G" then s$=s$+"01000111"
if mid$(msg$,scan)="H" then s$=s$+"01001000"
if mid$(msg$,scan)="I" then s$=s$+"01001001"
if mid$(msg$,scan)="J" then s$=s$+"01001010"
if mid$(msg$,scan)="K" then s$=s$+"01001011"
if mid$(msg$,scan)="L" then s$=s$+"01001100"
if mid$(msg$,scan)="M" then s$=s$+"01001101"
if mid$(msg$,scan)="N" then s$=s$+"01001110"
if mid$(msg$,scan)="O" then s$=s$+"01001111"
if mid$(msg$,scan)="P" then s$=s$+"01010000"
if mid$(msg$,scan)="Q" then s$=s$+"01010001"
if mid$(msg$,scan)="R" then s$=s$+"01010010"
if mid$(msg$,scan)="S" then s$=s$+"01010011"
if mid$(msg$,scan)="T" then s$=s$+"01010100"
if mid$(msg$,scan)="U" then s$=s$+"01010101"
if mid$(msg$,scan)="V" then s$=s$+"01010110"
if mid$(msg$,scan)="W" then s$=s$+"01010111"
if mid$(msg$,scan)="X" then s$=s$+"01011000"
if mid$(msg$,scan)="Y" then s$=s$+"01011001"
if mid$(msg$,scan)="Z" then s$=s$+"01011010"
next scan
sync
write to clipboard s$
cls rgb(40,100,0)
ink rgb(100,200,0),0
 
box 200,100,440,200
ink rgb(200,200,200),0
print
set text font "Impact",1
set text size 30
center text 320,150,"Binary Translator"
ink rgb(0,0,0),0
box 0,15,screen width()-1,30
ink rgb(255,255,255),0
print "English:";
print msg$
set text size 14
set text font "courier new",1
ink rgb(100,100,100),0
box 0,240,screen width()-1,screen height()-1
ink rgb(255,255,255),0
for y=240 to screen height()-10 step 10
 for x=1 to screen width()-7 step 7
 inc rounds,1
 if rounds=len(s$) then leave=1:exit
 text x,y,mid$(s$,rounds)
 next y
 if leave=1 then exit
next x
wait key
print "ERROR"
goto Tools
end
 
 
Calculator:
return
 
 
 
 
 
 
 
 
 
 
 
 
 
startpoint:
data "Games","Art","Tools","Screen","Res.","Quit"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
NinjaStickman:
undim msg$()
cls
restore Ninja
skipthrough=0
xmsgd=100
y=100
totalstar=0
count=0
x=xmsgd
default#=3
sync on:sync rate 60
set text font "courier new",1
set text size 15
dim msg$(1000)
gosub msg_data
r=55
ink rgb(200,200,200),0
box xmsgd-22,y-42,xmsgd+482,y+152
ink rgb(r,0,0),0
box xmsgd-20,y-40,xmsgd+480,y+150
ink rgb(255,255,255),0
hide mouse
text xmsgd-18,y-53,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
text xmsgd-18,y+146,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
 
for k=1 to messages
if k=2 then extra=1 else extra=0
 if mid$(msg$(k),len(msg$(k)))="1" then extra=1
 if mid$(msg$(k),len(msg$(k)))="2" then extra=0
 if upkey()=1 then skipthrough=1
for scan=1 to len(msg$(k))
 
 for fadein=1 to 255 step 30
 
  if cancel=1 then fadein=255
  if extra=1 then ink rgb(fadein/4,fadein/2,fadein/5),0 else ink rgb(fadein,fadein,fadein),0
  text x,y,mid$(msg$(k),scan)
  if spacekey()=1 then cancel=1
  ink rgb(r,g,b),0 
  box len(msg$(k))*7+xmsgd-7,y+3,len(msg$(k))*7+xmsgd,y+12
  sync
 if upkey()=1 then skipthrough=1
 if skipthrough=1 then exit
 next fadein
 inc x,7
 sync
next scan
inc y,12
x=xmsgd
cancel=0
if skipthrough=1 then exit
next k
 
 
 
goto skipover
msg_data:
rem Display how many lines are used here.
rem NOTE- IF THERE IS AN ERROR WITH UNREAD TEXT,
rem       IT IS PROBABLY BECAUSE THE MESSAGES NUMBER IS TOO SMALL.
messages=11
rem Your messages. Self explanatory. A 2 after the message is regular text, a 1 is Ninja Stickman talking.
msg$(1)="Ninja Stickman... I need you.2"
msg$(2)="What- Who is this!?1"
msg$(3)="I am a Ninja Lord. And I am dying...2"
msg$(4)="I need you to collect yellow stars for me.2"
msg$(5)="No... I am not yet skilled enough.1"
msg$(6)="You are a stickman. It is in your blood. Go get stars.2"
msg$(7)="Why haven't you told me what the stars are for?1"
msg$(8)="I will keep that reason to myself!2"
msg$(9)="Yes sir.1"
msg$(10)="Remember: Orange stars bad, yellow good.2"
msg$(11)="And I suppose I ought to remind you to be honourable...2"
return
REM (No other choice)
skipover:
 
 
 
 
 
rem Intro
 
if sprite exist(1) then scale sprite 1,100
if hidden_ninja=1 then show sprite 1
set text font "System",1
ink rgb(255,255,255),0
box 0,0,screen width()-1,60
get image 1,0,0,screen width()-1,60
y2=screen height()
y=-60
sc=0
starcount=0
cls
ink rgb(0,255,0),0
set text size 90
center text 320,240,"Ninja Stickman"
screen=1
repeat
if screen=1
sprite 1,0,y,1
sprite 2,0,y2,1
endif
 
if screen=1 and y<=-1 then inc y,1 else up2=1
if screen=1 and y2>=screen height()-60 then dec y2,1 else up=1
if up=1 and up2=1
rem A pause but still sensitive to button pressing.
for k=1 to 60
if spacekey() then exit
sync
next k
 
k=0
up=0
up2=0
y2=screen height()
y=-60
screen=0
exit
endif
 
sync
until spacekey()
cls
delete sprite 1
delete sprite 2
delete image 1
 
 
rem -----------GAME HERE-----------
 
set text size 20
 
 
sync on
rem Right
ink rgb(155,155,155),0
circle 4,4,4
ink rgb(10,10,10),0
box 0,2,8,4
 
ink rgb(80,50,40),0
line 4,8,4,20
line 4,20,2,30
line 4,20,6,30
line 4,18,2,9
line 4,18,9,8
get image 1,0,0,9,32
 
hide mouse
sync
 
cls
rem Left
ink rgb(155,155,155),0
circle 4,4,4
ink rgb(10,10,10),0
box 0,2,8,4
ink rgb(80,50,40),0
line 4,8,4,20
line 4,20,2,30
line 4,20,6,30
line 4,18,0,9
line 4,18,8,8
get image 2,0,0,9,32
sync
r=rnd(1)+1
cls rgb(0,100,0)
move=2
r=0
miny#=screen height()
y#=400
 
 
 
 
sc=3
ink rgb(255,255,0),0
text 0,0,"*"
get image 100,0,0,6,9
ink rgb(255,100,0),0
text 0,0,"*"
get image 101,0,0,6,9
 
 
cls
for rounds=1 to 7
x#=0
y#=400
dim danger(100)
for remove=1 to 300
if sprite exist(remove) then delete sprite remove
next remove
 
for y=1 to screen height() step 48
 x=1
 for x=1 to screen width() step 64
  read okay
 
  if okay=1 then sprite sc,x,y,100:inc sc,1:scale sprite sc-1,160:danger(sc-1)=1:inc totalstar,1
  if okay=2 then sprite sc,x,y,101:inc sc,1:scale sprite sc-1,160:danger(sc-1)=2
 next x
next y
sync
print screen height()/10
 
 
do
if r=0 then  cls rgb(0,100,0)
 
if rightkey()=1
inc x#,1:move=1
if ground=1 then inc x#,.6
endif
if leftkey()=1
 
dec x#,1:move=2
if ground=1 then dec x#,.6
endif
 
sprite 1,x#,y#,move
ink rgb(50,50,50),0
if r=0 then text x#-2,y#-15,"P1":ink rgb(255,255,255),0:text 0,0,"Level 1."+str$(rounds)
if ground=0 and jp#=0 then inc descent#,.05
if ground=0 and jp#=0 then inc y#,descent#+default#
if ground=1 then descent#=0
 
if spacekey()=1 and jumps<2 then wfr=1
if ground=1 then jumps=0
if wfr=1 and spacekey()=0 and jumps<2 and jp#=0 then wfr=0:jp#=5:inc jumps,1
if jp#>0 then dec jp#,.1
if jp#<0 then jp#=0
dec y#,jp#
if y#<miny# then miny#=y#
`if y#<=maxheighty# and jp#>0 then jp#=0
if y#>=screen height()-33 then ground=1 else ground=0
if r=1 then line oldx#,oldy#,x#,y#
if inkey$()="d" then r=1
if inkey$()="n" then r=0
oldx#=x#
oldy#=y#
ink rgb(0,50,100),0
text 0,20,"Stars:"+str$(count)
if ground=1 then inair=1
if spacekey()=1 and ground=1 and jumps=0 then maxheighty#=y#-234.25
for k=3 to sc-1
if sprite collision(k,1)
delete sprite k
if danger(k)=1 then inc count,1
if danger(k)=2 then goto death
endif
next k
ink rgb(0,0,0),0
box 500,screen height()-60,550,screen height()-1
if x#>500 and y#>screen height()-60 and x#<551 then exit
sync
loop
next round
gosub victory
rem 1.1
Ninja:
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,1,0,0
data 0,0,0,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,1,0,0
rem 1.2
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,2,0,1,0,0,0,1,2
data 0,0,2,1,1,1,1,0,0,1
data 0,0,2,0,0,0,0,0,0,1
data 0,0,0,0,0,0,1,0,0,0
rem 1.3
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,1,1,0
data 0,0,0,1,2,1,1,0,0,0
data 0,0,0,0,2,2,0,0,0,2
data 0,0,0,0,2,2,1,0,0,0
rem 1.4
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,2,1,0,0,0,0
data 0,0,0,0,1,2,1,0,0,0
data 0,0,1,0,1,0,2,0,0,0
data 0,0,2,2,1,0,2,0,0,0
rem 1.5
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,1,0,0,0,0
data 0,2,1,0,1,2,0,0,0,0
data 0,0,0,2,1,2,0,0,0,0
data 0,1,0,2,1,0,1,0,0,0
rem 1.6
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,1,1,1,1,2,0
data 0,0,0,2,0,2,0,0,0,0
data 0,0,0,2,0,2,0,0,0,0
data 0,0,0,2,0,2,0,0,0,0
rem 1.7
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,1,2,2,2
data 0,0,0,0,0,1,1,0,0,2
data 0,0,0,1,1,1,0,0,0,2
data 0,0,0,1,2,2,0,0,0,1
death:
cls
for remove=1 to 1000
if sprite exist(remove) then delete sprite remove
next remove
cls rgb(10,0,0)
for z=1 to 100
scale sprite 1,100-z
sync
next z
delete sprite 1
xmsgd=100
y=100
x=xmsgd
default#=3
sync on:sync rate 60
set text font "courier new",1
set text size 15
 
gosub msg_data2
r=55
ink rgb(200,200,200),0
box xmsgd-22,y-42,xmsgd+482,y+152
ink rgb(r,0,0),0
box xmsgd-20,y-40,xmsgd+480,y+150
ink rgb(255,255,255),0
 
text xmsgd-18,y-53,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
text xmsgd-18,y+146,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cancel=0
skipthrough=0
for k=12 to 14
 if mid$(msg$(k),len(msg$(k)))="1" then extra=1
 if mid$(msg$(k),len(msg$(k)))="2" then extra=0
 if upkey()=1 then skipthrough=1
for scan=1 to len(msg$(k))
 
 for fadein=1 to 255 step 30
 
  if cancel=1 then fadein=255
  if extra=1 then ink rgb(fadein/4,fadein/2,fadein/5),0 else ink rgb(fadein,fadein,fadein),0
  text x,y,mid$(msg$(k),scan)
  if spacekey()=1 then cancel=1
  ink rgb(r,g,b),0 
  box len(msg$(k))*7+xmsgd-7,y+3,len(msg$(k))*7+xmsgd,y+12
  sync
 if upkey()=1 then skipthrough=1
 if skipthrough=1 then exit
 next fadein
 inc x,7
 sync
next scan
inc y,12
x=xmsgd
cancel=0
if skipthrough=1 then exit
sync
next k
set text size 200
center text 320,240,"X"
wait key
for remove=1 to 100
if sprite exist(remove) then delete sprite remove
if image exist(remove) then delete image remove
next remove
gosub start
end
 
 
msg_data2:
rem Display how many lines are used here.
rem NOTE- IF THERE IS AN ERROR WITH UNREAD TEXT,
rem       IT IS PROBABLY BECAUSE THE MESSAGES NUMBER IS TOO SMALL.
messages=14
rem Your messages. Self explanatory. A 2 after the message is regular text, a 1 is Ninja Stickman talking.
msg$(12)="Ninja Stickman... I see you have joined the dead.2"
msg$(13)="Of the areas you entered, you collected "+str$(count)+"/"+str$(totalstar)+" stars2"
msg$(14)="You have failed me.2"
return
 
end
 
 
 
 
 
 
 
 
victory:
cls rgb(0,255,0)
for remove=1 to 300
if sprite exist(remove) then delete sprite remove
next remove
cls rgb(10,0,0)
for z=1 to 100
scale sprite 1,100+z
sync
next z
 
ink rgb(0,100,200),0
center text 320,240,"Ninja Stickman-"
center text 320,260,"You have survived all the obstacles in front of you."
center text 320,280,"You collected "+str$(count)+"/"+str$(totalstar)+" stars."
center text 320,300,"Congratulations."
for remove=1 to 300
if sprite exist(remove) then delete sprite remove
next remove
wait key
scale sprite 1,100
hide sprite 1:hidden_ninja=1
gosub start
 
 
 
 
 
 
 
 
 
 
 
 
return
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Other:
return