TGC Codebase Backup



luigi jam by Anonymous Coder

4th Mar 2009 5:01
Summary

application game luigi jam-cheese sprite application



Description



Code
                                    ` This code was downloaded from The Game Creators
                                    ` It is reproduced here with full permission
                                    ` http://www.thegamecreators.com
                                    
                                    Rem Project: luigi02
Rem Created: Thursday, February 26, 2009
rem autor vitaluciano@hotmail.fr
Rem ***** Main Source File *****
rem
sync on
sync rate 20
set display mode 800,600,32
set dir "media"
// set image colorkey 0,0,0
// backdrop on
// color backdrop rgb(128,0,0)
randomize timer()
rem
type _piespr
posx as integer
posy as integer
numimg as integer
flghide as integer
endtype
global dim piespr(18,20) as _piespr
type _gamevie
posx as integer
posy as integer
flgvie as integer
endtype
global dim bonus(25) as integer
global dim gamevie(2,5) as _gamevie
global false=0
global true=-1
global giu=0
global su=-1
global comt#
global ct
global dim flg_monta(4) as integer
global xx as integer 
global yy as integer 
// global dim map$(18,20)
global dim flgmonta(3)
global dim flglevely(4)
global dim comlevely(4)
global dim flglevelx(3)
global dirx as integer
global mr as integer
global score as integer
global dim flgdwn(3) as integer
global flgup as integer 
global dim mstry(4) as integer
global dim mstrx(4,2) as integer
global dim mxx(25) as integer
global dim flgmstr(25) as integer 
global upsize as integer
global oldscore as integer
global comzy as integer
global zy as integer
global comzx as integer
global dim combig(3) as integer
global  comvi as integer
global flg1 as integer
global flg2 as integer
global dim flg3(3) as integer

rem
gosub flglvlxyandvar  rem intiliose variables
gosub inmap
gosub ldimg
rem 
rem =====================main loop=================
rem
do
//rgb(128,0,0)
cls rgb(128,128,255)
// show sprite 35
// color backdrop rgb(128,0,0)
if spacekey()
gosub flglvlxyandvar  rem intiliose variables
gosub inmap
endif
loop music 1
gosub displaymap
gosub monster
if flg2=false then gosub luigimove
if flg2=true
 stop music 1
 stop sound 3
 endif
// gosub luigimove
gosub collisionmonster
gosub crtlcheese
sync
loop
end
rem
rem ====================mappa
mymap:
data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,3
data 1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,3
data 1,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,3
data 1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3
data 1,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,3
data 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
rem
rem ====================load image
rem
ldimg:
load music "M3.mid",1
load sound "start.wav",2
load sound "die.wav",3
load sound "chomp.wav",4
load image "img002.png",1
load image "img003.png",2
load image "img004.png",3
load image "img005.png",4
load image "luigi.png",5
load image "luigiDead.png",6
load image "luigiWalk1.png",7,0
load image "luigiWalk2.png",9,0
load image "luigiWalk3.png",11,0
load image "Cheese.png",14,0
load image "mont01.jpg",31,0
load image "mont01.jpg",32,0
load image "mont01.jpg",33,0
load image "ciel1p.png",35,0
load image "BlueDrop.png",50,0
load image "GreenDrop.png",51,0
load image "Ahriman.png",70,0
load image "RedDrop.png",52,0
load image "Floateye.png",71,0
load image "Zombie.png",100,0
load image "BigMalboro.png",101,0
load image "MadOscar.png",102,0
load image "Star.png",500,0
rem ======def sprite
gosub spr
return
rem
rem ===============sprite 
rem
spr:
sprite 500,0,0,500
hide sprite 500
set sprite 500,1,1
sprite 100,0,0,100
hide sprite 100
set sprite 100,1,1
sprite 101,0,0,101
hide sprite 101
set sprite 101,1,1
sprite 102,0,0,102
hide sprite 102
set sprite 102,1,1
sprite 35,0,0,35
set sprite 35,1,1
size sprite 35,800,600
hide sprite 35
sprite 1,0,0,5
hide sprite 1
set sprite 1,1,1
sprite 2,0,0,6
hide sprite 2
set sprite 2,1,1
sprite 3,0,0,7
hide sprite 3
set sprite 3,1,1
clone sprite 3,4
mirror sprite 4
sprite 5,0,0,9
hide sprite 5
set sprite 4,1,1
clone sprite 5,6
mirror sprite 6
sprite 7,0,0,11
hide sprite 7
set sprite 7,1,1
clone sprite 7,8
mirror sprite 8
sprite 14,0,0,14
hide sprite 14
set sprite 14,1,1
for k=50 to 52 rem =====================monster
sprite k,0,0,k
hide sprite k
set sprite k,1,1
next k
clone sprite 50,53
clone sprite 50,54
sprite 70,0,0,70
hide sprite 70
set sprite 70,1,1
sprite 71,0,0,71
hide sprite 71
set sprite 71,1,1
clone sprite 70,72
mirror sprite 72
clone sprite 71,73
mirror sprite 73
clone sprite 50,80
clone sprite 51,81
clone sprite 52,82
clone sprite 70,83
clone sprite 71,84
return
rem
rem ===========================routines
rem
Rem ***** Included Source File *****
inmap:
restore mymap
for k=1 to 18
for j=1 to 20
read a
piespr(k,j).posx=j
piespr(k,j).posy=k
piespr(k,j).numimg=a
piespr(k,j).flghide=false
//  set cursor j*10,k*10
//  print piespr(k,j).numimg
next j
next k
return
rem
rem ========================display map
rem
displaymap:
for k=1 to 18
for j=1 to 20
//and score mod 56 = 0//
if piespr(k,j).numimg=0  then paste sprite 500,j*30,k*30
if piespr(k,j).numimg=1 then paste image 1,j*30,k*30
if piespr(k,j).numimg=2 then paste image 2,j*30,k*30
if piespr(k,j).numimg=3 then paste image 3,j*30,k*30
if piespr(k,j).numimg=4 then paste image 4,j*30,k*30
if piespr(k,j).numimg=5 and piespr(k,j).flghide=false 
paste sprite 14,j*30,k*30
endif
if piespr(k,j).numimg=1 or piespr(k,j).numimg=2 or piespr(k,j).numimg=3 or piespr(k,j).numimg=4 
if score mod 56 = 0 then  paste sprite 500,j*30,k*30
endif
next j
next k
rem
// if score=14 then paste sprite 100,30*2,30*4
// if combig(1)=0 then paste sprite 100,comzx*30,zy
// if combig(2)=0 then paste sprite 101,comzx*30,zy
// if combig(3)=0 then paste sprite 102,comzx*30,zy
rem
for k=1 to 2
for j=1 to 5
if gamevie(k,j).flgvie=false
paste sprite 1,gamevie(k,j).posx*30,gamevie(k,j).posy*30
endif
next j
next k
rem
// if flgmonta(1)=true
if comlevely(1)>=flglevely(2) and flgmonta(1)=true
paste image 31,flglevelx(2)-30,comlevely(1)
endif
if comlevely(2)>=flglevely(3) and flgmonta(2)=true
paste image 32,flglevelx(1),comlevely(2)
endif
if comlevely(3)>=flglevely(4) and flgmonta(3)=true
paste image 33,flglevelx(2)-30,comlevely(3)
endif
if flg2=true
set text size 50

text 630,505,"g a m e"
text 630,540,"o v e r"
set text size 25

endif
rem
//  text 670,10,str$(yy)+" "+str$(ny+30)+" "+str$(nyy+30)+" "+str$(nyyy+30)
// text 670,20,str$(xx)+" "+str$(mxx(15))+" "+str$(mxx(16))+" "+str$(mxx(17))
// text 700,30,str$(comlevely(1))
// text 700,40,str$(yy)
// text 700,50,str$(comlevely(2))
// text 700,60,str$(score)
// text 700,70,str$(oldscore)
tsize=30
set text size 40
text 640,tsize*2,"LUIGI"
text 640,tsize*3,"jam-cheese"
set text size 25
text 640,tsize*6,"upkey: jump "
text 640,tsize*7,"leftkey: move "
text 640,tsize*8,"rightkey: move "
text 640,tsize*9,"downkey: go up/down"
text 640,tsize*10,"spacekey: reset game"
set text size 40
text 640,tsize*13,"SCORE"
text 640,tsize*14,str$(score*100)
set text size 25
text screen width()/2,575,"by:vitaluciano@hotmail.fr"
return
rem
rem ========================levely initvariables
rem
play sound 2
flglvlxyandvar:
ct=rnd(3333)+1
flg2=false
upsize=60
oldscore=-1
score=0
flglevely(1)=540
flglevely(2)=420
flglevely(3)=300
flglevely(4)=180
comlevely(1)=540
comlevely(2)=420
comlevely(3)=300
comlevely(4)=180
flglevelx(1)=60
flglevelx(2)=600-30
for k=1 to 3
flgmonta(k)=false
flgdwn(k)=false
combig(k)=true
next k
xx=flglevelx(1)
yy=flglevely(1)-30
dirx=1
mr=false
flgup=false
for k=1 to 2
for j=1 to 5
gamevie(k,j).posx=j+20
gamevie(k,j).posy=k+16
gamevie(k,j).flgvie=false
next j
next k
gamevie(1,1).flgvie=true
mstry(1)=flglevely(1)-30
mstry(2)=flglevely(2)-30
mstry(3)=flglevely(3)-30
mstry(4)=flglevely(4)-30
mstrx(1,1)=120
mstrx(1,2)=420
mstrx(2,1)=120
mstrx(2,2)=420
mstrx(3,1)=120
mstrx(3,2)=420
mstrx(4,1)=120
mstrx(4,2)=420
mxx(1)=120
mxx(2)=420
mxx(3)=120
mxx(4)=420
mxx(5)=220
mxx(6)=120
mxx(7)=200
mxx(8)=300
mxx(9)=420
mxx(10)=120
mxx(11)=420
mxx(12)=300
mxx(13)=190
mxx(14)=360
mxx(15)=360
mxx(16)=150
mxx(17)=350
return
rem
rem ========================luigi move
rem
luigimove:

if upkey()
comyy=yy-upsize
flgup=true
else
flgup=false
endif

if downkey() 
if xx>flglevelx(2)-60 and yy>=flglevely(2)-30
gosub monta1
else if xx<flglevelx(1)+60 and yy>=flglevely(3)-30
     gosub monta2 
else if xx>flglevelx(2)-60 and yy>=flglevely(4)-30
gosub monta3
endif
endif 
endif
endif
if rightkey()
 inc dirx,1
  inc xx,2
 mr=false
 endif
if leftkey()
  inc dirx,1
   dec xx,2
  mr=true
 endif
 if dirx>3 then dirx=1
 if xx<=flglevelx(1) then xx=flglevelx(1)
  if xx>=flglevelx(2) then xx=flglevelx(2)
 if mr=false
 select dirx
 case 1
 if flgup =true
 paste sprite 3,xx,comyy
 else
 paste sprite 3,xx,yy
 endif
 endcase
  case 2
   if flgup =true
   paste sprite 5,xx,comyy
   else
     paste sprite 5,xx,yy
     endif
 endcase
  case 3
    if flgup =true
   paste sprite 7,xx,comyy
   else
   paste sprite 7,xx,yy
   endif
 endcase
 endselect
 endif
  if mr=true
 select dirx
 case 1
  if flgup =true
 paste sprite 4,xx,comyy
 else
  paste sprite 4,xx,yy
  endif
 endcase
  case 2
   if flgup =true
 paste sprite 6,xx,comyy
 else
   paste sprite 6,xx,yy
   endif
 endcase
  case 3
   if flgup =true
 paste sprite 8,xx,comyy
 else
   paste sprite 8,xx,yy
   endif
 endcase
 endselect
 endif
return
rem
rem ========================control chesse
rem
crtlcheese:
for k=1 to 18
for j=1 to 20
if piespr(k,j).numimg=5 and (piespr(k,j).posx*30)=xx and (piespr(k,j).posy*30)=yy and piespr(k,j).flghide=false and flgup=false
piespr(k,j).flghide=true 
inc score,1
play sound 4
endif
next j
next k
rem
if flglevely(1)-30=yy and score=14
paste image 31,flglevelx(2)-30,comlevely(1),1
flgmonta(1)=true
endif
if flglevely(2)-30=yy and score=28
paste image 32,flglevelx(1),comlevely(2),1
flgmonta(2)=true
endif
if flglevely(3)-30=yy and score=42
paste image 33,flglevelx(2)-30,comlevely(3),1
flgmonta(3)=true
endif
rem
if score mod 56 = 0
if score>0
for j=1 to 4
 gamevie(1,j).flgvie=false
next j
for k=1 to 18
for j=1 to 20
piespr(k,j).flghide=false
next j
next k
 endif
 endif
return
rem
rem ========================control key down
rem
monta1:
 if comlevely(1)>flglevely(2) and flgmonta(1)=true and flgdwn(1)=giu
 dec yy,1
 dec comlevely(1),1 
 endif
//   if comlevely(1)>flglevely(2) and flgmonta(1)=true and flgdwn(1)=su
   if  flgmonta(1)=true and flgdwn(1)=su
 inc yy,1
 inc comlevely(1),1 
 endif
  if comlevely(1)=flglevely(2)
    flgdwn(1)=su
    sleep 500
  endif
  if comlevely(1)=flglevely(1)
    flgdwn(1)=giu
     sleep 500
   endif
return
rem
rem ==========================dwn key monta2
rem 
monta2:
 if comlevely(2)>flglevely(3) and flgmonta(2)=true and flgdwn(2)=giu
 dec yy,1
 dec comlevely(2),1 
 endif
//   if comlevely(1)>flglevely(2) and flgmonta(1)=true and flgdwn(1)=su
   if  flgmonta(2)=true and flgdwn(2)=su
 inc yy,1
 inc comlevely(2),1 
 endif
  if comlevely(2)=flglevely(3)
    flgdwn(2)=su
    sleep 500
  endif
  if comlevely(2)=flglevely(2)
    flgdwn(2)=giu
     sleep 500
   endif
return
rem
rem ==========================dwn key monta3
rem 
monta3:
 if comlevely(3)>flglevely(4) and flgmonta(3)=true and flgdwn(3)=giu
 dec yy,1
 dec comlevely(3),1 
 endif
//   if comlevely(1)>flglevely(2) and flgmonta(1)=true and flgdwn(1)=su
   if  flgmonta(3)=true and flgdwn(3)=su
 inc yy,1
 inc comlevely(3),1 
 endif
  if comlevely(3)=flglevely(4)
    flgdwn(3)=su
    sleep 500
  endif
  if comlevely(3)=flglevely(3)
    flgdwn(3)=giu
     sleep 500
   endif
return
rem
rem ==========================display monsters
rem 
monster:
gosub monster1
gosub monster2
gosub monster3
gosub monster4
gosub zombie
return
monster1:
if mxx(1)>mstrx(1,2) then flgmstr(1)=true
if mxx(1)<mstrx(1,1) then flgmstr(1)=false

if mxx(2)>mstrx(1,2) then flgmstr(2)=true
if mxx(2)<mstrx(1,1) then flgmstr(2)=false


if flgmstr(1)=false
inc  mxx(1),rnd(3)+1
 paste sprite 50,mxx(1),mstry(1)
 endif
 if flgmstr(1)=true
dec mxx(1),rnd(4)+1
 paste sprite 50,mxx(1),mstry(1)
 endif
 
 if flgmstr(2)=false
inc  mxx(2),rnd(3)+1
 paste sprite 53,mxx(2),mstry(1)
 endif
 if flgmstr(2)=true
dec mxx(2),rnd(4)+1
 paste sprite 53,mxx(2),mstry(1)
 endif
return
monster2:
if mxx(3)>mstrx(2,2) then flgmstr(3)=true
if mxx(3)<mstrx(2,1) then flgmstr(3)=false
if mxx(4)>mstrx(2,2) then flgmstr(4)=true
if mxx(4)<mstrx(2,1) then flgmstr(4)=false
if mxx(5)>mstrx(2,2) then flgmstr(5)=true
if mxx(5)<mstrx(2,1) then flgmstr(5)=false
 if flgmstr(3)=false
inc  mxx(3),rnd(2)+1
 paste sprite 54,mxx(3),mstry(2)
 endif
 if flgmstr(3)=true
dec mxx(3),rnd(3)+1
 paste sprite 54,mxx(3),mstry(2)
 endif
  if flgmstr(4)=false
inc  mxx(4),rnd(2)+1
 paste sprite 51,mxx(4),mstry(2)
 endif
 if flgmstr(4)=true
dec mxx(4),rnd(3)+1
 paste sprite 51,mxx(4),mstry(2)
 endif
 if flgmstr(5)=false
inc  mxx(5),rnd(2)+1
 paste sprite 52,mxx(5),mstry(2)
 endif
 if flgmstr(5)=true
dec mxx(5),rnd(3)+1
 paste sprite 52,mxx(5),mstry(2)
 endif 
return
monster3:
if mxx(6)>mstrx(3,2) then flgmstr(6)=true
if mxx(6)<mstrx(3,1) then flgmstr(6)=false
if mxx(7)>mstrx(3,2) then flgmstr(7)=true
if mxx(7)<mstrx(3,1) then flgmstr(7)=false
if mxx(8)>mstrx(3,2) then flgmstr(8)=true
if mxx(8)<mstrx(3,1) then flgmstr(8)=false
if mxx(9)>mstrx(3,2) then flgmstr(9)=true
if mxx(9)<mstrx(3,1) then flgmstr(9)=false
 if flgmstr(6)=false
inc  mxx(6),rnd(2)+1
 paste sprite 70,mxx(6),mstry(3)
 endif
 if flgmstr(6)=true
dec mxx(6),rnd(3)+1
 paste sprite 70,mxx(6),mstry(3)
 endif 
 rem
 if flgmstr(7)=false
inc  mxx(7),rnd(2)+1
 paste sprite 73,mxx(7),mstry(3)
 endif
 if flgmstr(7)=true
dec mxx(7),rnd(3)+1
 paste sprite 73,mxx(7),mstry(3)
 endif 
  rem
 if flgmstr(8)=false
inc  mxx(8),rnd(2)+1
 paste sprite 71,mxx(8),mstry(3)
 endif
 if flgmstr(8)=true
dec mxx(8),rnd(3)+1
 paste sprite 71,mxx(8),mstry(3)
 endif 
   rem
 if flgmstr(9)=false
inc  mxx(9),rnd(2)+1
 paste sprite 72,mxx(9),mstry(3)
 endif
 if flgmstr(9)=true
dec mxx(9),rnd(3)+1
 paste sprite 72,mxx(9),mstry(3)
 endif 
return
monster4:
if mxx(10)>mstrx(4,2) then flgmstr(10)=true
if mxx(10)<mstrx(4,1) then flgmstr(10)=false
if mxx(11)>mstrx(4,2) then flgmstr(11)=true
if mxx(11)<mstrx(4,1) then flgmstr(11)=false
if mxx(12)>mstrx(4,2) then flgmstr(12)=true
if mxx(12)<mstrx(4,1) then flgmstr(12)=false
if mxx(13)>mstrx(4,2) then flgmstr(13)=true
if mxx(13)<mstrx(4,1) then flgmstr(13)=false
if mxx(14)>mstrx(4,2) then flgmstr(14)=true
if mxx(14)<mstrx(4,1) then flgmstr(14)=false
  rem
 if flgmstr(10)=false
inc  mxx(10),rnd(2)+1
 paste sprite 80,mxx(10),mstry(4)
 endif
 if flgmstr(10)=true
dec mxx(10),rnd(3)+1
 paste sprite 80,mxx(10),mstry(4)
 endif 
  rem
 if flgmstr(11)=false
inc  mxx(11),rnd(2)+1
 paste sprite 81,mxx(11),mstry(4)
 endif
 if flgmstr(11)=true
dec mxx(11),rnd(3)+1
 paste sprite 81,mxx(11),mstry(4)
 endif 
   rem
 if flgmstr(12)=false
inc  mxx(12),rnd(2)+1
 paste sprite 82,mxx(12),mstry(4)
 endif
 if flgmstr(12)=true
dec mxx(12),rnd(3)+1
 paste sprite 82,mxx(12),mstry(4)
 endif 
    rem
 if flgmstr(13)=false
inc  mxx(13),rnd(2)+1
 paste sprite 83,mxx(13),mstry(4)
 endif
 if flgmstr(13)=true
dec mxx(13),rnd(3)+1
 paste sprite 83,mxx(13),mstry(4)
 endif 
   rem
 if flgmstr(14)=false
inc  mxx(14),rnd(2)+1
 paste sprite 84,mxx(14),mstry(4)
 endif
 if flgmstr(14)=true
dec mxx(14),rnd(3)+1
 paste sprite 84,mxx(14),mstry(4)
 endif 
return
zombie:
comt#=timer()
if comt# mod 1111/2 = 0 then inc comtt,rnd(64)+1
if comtt mod 2 = 0 then stry=mstry(1)-30
if comtt mod 3 = 0 then stry=mstry(4)-30
if comtt mod 4 = 0 then stry=mstry(3)-30
if comtt mod 5 = 0 then stry=mstry(2)-30
if mxx(15)>mstrx(1,2)+120 then flgmstr(15)=true
if mxx(15)<mstrx(1,1) then flgmstr(15)=false
 if flgmstr(15)=false
inc  mxx(15),rnd(2)+1
 paste sprite 101,mxx(15),stry
 endif
 if flgmstr(15)=true
dec mxx(15),rnd(3)+1
 paste sprite 101,mxx(15),stry
 endif 
 if comt# mod 3333/5 = 0 then inc comttt,rnd(64)+1
if comttt mod 2 = 0 then stryy=mstry(2)-30
if comttt mod 3 = 0 then stryy=mstry(3)-30
if comttt mod 4 = 0 then stryy=mstry(1)-30
if comttt mod 5 = 0 then stryy=mstry(4)-30
 if mxx(16)>mstrx(1,2)+120 then flgmstr(16)=true
if mxx(16)<mstrx(1,1) then flgmstr(16)=false
 if flgmstr(16)=false
inc  mxx(16),rnd(2)+1
 paste sprite 100,mxx(16), stryy
 endif
 if flgmstr(16)=true
dec mxx(16),rnd(3)+1
 paste sprite 100,mxx(16), stryy
 endif 
  if comt# mod 3333/7 = 0 then inc comtttt,rnd(64)+1
if comtttt mod 2 = 0 then stryyy=mstry(2)-30
if comtttt mod 3 = 0 then stryyy=mstry(1)-30
if comtttt mod 4 = 0 then stryyy=mstry(3)-30
if comtttt mod 5 = 0 then stryyy=mstry(4)-30
  if mxx(17)>mstrx(1,2)+120 then flgmstr(17)=true
if mxx(17)<mstrx(1,1) then flgmstr(17)=false
 if flgmstr(17)=false
inc  mxx(17),rnd(2)+1
 paste sprite 102,mxx(17),stryyy
 endif
 if flgmstr(17)=true
dec mxx(17),rnd(3)+1
 paste sprite 102,mxx(17),stryyy
 endif 
return
rem
rem ==========================collision monsters
rem 
collisionmonster:
flgcoll=false
for k=1 to 2
if mxx(k)=xx and mstry(1)=yy and flgup=false then flgcoll=true
next k
for k=3 to 5
if mxx(k)=xx and mstry(2)=yy and flgup=false  then flgcoll=true
next k
for k=6 to 9
if mxx(k)=xx and mstry(3)=yy and flgup=false  then flgcoll=true
next k
for k=10 to 14
if mxx(k)=xx and mstry(4)=yy and flgup=false  then flgcoll=true
next k
ny=stry+30
nyy=stryy+30
nyyy=stryyy+30
if mxx(15)=xx and flgup=false and ny=yy then flgcoll=true
if mxx(16)=xx and flgup=false and nyy=yy then flgcoll=true
if mxx(17)=xx and flgup=false and nyyy=yy then flgcoll=true
if flgcoll=true
play sound 3
flg1=false
flg2=false
for k=1 to 2
for j=1 to 5
if flg1=false
if gamevie(k,j).flgvie=false
gamevie(k,j).flgvie=true
flg1=true
endif
endif
next j
next k
if flg1=false 
rem todo game over
for k=3 to 8
hide sprite k
next k
text 630,540,"game over"
flg2=true
endif
endif
return
rem
rem =============================
rem