Memory Game by Brux3rd Oct 2012 16:09
|
---|
Summary Memory Game in which you must guess the pair of identical images But with a variation... Description GAME IN WHICH YOU MUST GUESS THE PAIR OF IDENTICAL IMAGES Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com Rem *Memory by Ermanno -<ITALY>- E-MAIL:me52@libero.it SYNC ON : SYNC RATE 60 DIM face(59) DIM pox(48) DIM poy(48) DIM zona(48) DIM flag(59) DIM image(59) DIM pic(48) LOAD SOUND "ding.wav",1 LOAD SOUND "errore.wav",2 LOAD SOUND "win.wav",3 azzurro=RGB(0,192,255) white=RGB(255,255,255) blu=RGB(0,64,255) giallo=RGB(255,255,0) grigio=RGB(123,123,123) verde=RGB(0,195,0) red=RGB(255,0,0) FOR t=1 TO 59 LOAD IMAGE "default\image"+RIGHT$(STR$(t+100),2)+".bmp",t NEXT t ini=1 main: INK blu,blu BOX 1,1,639,479 Make_Button(grigio,190,10,460,40,white,black,1) Make_Button(verde,230,15,420,35,white,black,2):Testo(230,15,420,5,"STOP",white) Make_Button(grigio,190,400,460,430,white,black,1):Testo(190,400,460,400,"MEMORY 2012",black) SELECT ini CASE 1 RESTORE L1:ENDCASE CASE 2 RESTORE L2:ENDCASE CASE 3 RESTORE L3:ENDCASE CASE 4 RESTORE L4:ENDCASE CASE 5 RESTORE L5:ENDCASE CASE 6 RESTORE L6:ENDCASE CASE 7 RESTORE L7:ENDCASE CASE 8 RESTORE L8:ENDCASE CASE 9 RESTORE L9:ENDCASE CASE 10 RESTORE L10:ENDCASE CASE Default :ENDCASE ENDSELECT Rem make blu buttons n=1:no=0:ju=0:px=0:py=0:akan=0:pa=0 ultime=0:mosse=0:yo=0:ti=0:game_over=0 FOR a=1 TO 6 FOR b=1 TO 8 pox(n)=130+px :poy(n)=50+py READ opt zona(n)=opt IF opt=1 Make_Button(azzurro,pox(n),poy(n),pox(n)+50,poy(n)+55,white,black,1) INC no ENDIF INC px,50:INC n NEXT b px=0 INC py,55 NEXT a GOSUB mischia n=1 FOR a=1 TO 48 IF zona(a)=1 THEN pic(a)=image(n):INC n NEXT a SLEEP 250 mainloop: im=0 REPEAT GOSUB scritte IF game_over=1 THEN EXIT IF MOUSECLICK()=1 mx=MOUSEX() my=MOUSEY() IF mx>230 AND mx<420 AND my>15 AND my<35 Anim_Button(230,15,420,35) Make_Button(verde,230,15,420,35,white,black,2) im=99:EXIT ENDIF IF mx>190 AND mx<460 AND my>400 AND my<430 Anim_Button(190,400,460,430) Make_Button(grigio,190,400,460,430,white,black,1) IF memory=0 Testo(190,400,460,400,"BY ERMANNO -ITALY-",black) memory=1 ELSE Testo(190,400,460,400,"MEMORY 2012",black) memory=0 ENDIF ENDIF IF mx>130 AND mx<180 AND my>50 AND my<105 AND zona(1)=1 Anim_Button(130,50,180,105) im=1 PASTE IMAGE Pic(1), pox(1),poy(1) ENDIF IF mx>180 AND mx<230 AND my>50 AND my<105 AND zona(2)=1 Anim_Button(180,50,230,105) im=2 PASTE IMAGE Pic(2), pox(2),poy(2) ENDIF IF mx>230 AND mx<280 AND my>50 AND my<105 AND zona(3)=1 Anim_Button(230,50,280,105) im=3 PASTE IMAGE Pic(3), pox(3),poy(3) ENDIF IF mx>280 AND mx<330 AND my>50 AND my<105 AND zona(4)=1 Anim_Button(280,50,330,105) im=4 PASTE IMAGE Pic(4), pox(4),poy(4) ENDIF IF mx>330 AND mx<380 AND my>50 AND my<105 AND zona(5)=1 Anim_Button(330,50,380,105) im=5 PASTE IMAGE Pic(5), pox(5),poy(5) ENDIF IF mx>380 AND mx<430 AND my>50 AND my<105 AND zona(6)=1 Anim_Button(380,50,430,105) im=6 PASTE IMAGE Pic(6), pox(6),poy(6) ENDIF IF mx>430 AND mx<480 AND my>50 AND my<105 AND zona(7)=1 Anim_Button(430,50,480,105) im=7 PASTE IMAGE Pic(7), pox(7),poy(7) ENDIF IF mx>480 AND mx<530 AND my>50 AND my<105 AND zona(8)=1 Anim_Button(480,50,530,105) im=8 PASTE IMAGE Pic(8), pox(8),poy(8) ENDIF IF mx>130 AND mx<180 AND my>105 AND my<160 AND zona(9)=1 Anim_Button(130,105,180,160) im=9 PASTE IMAGE Pic(9), pox(9),poy(9) ENDIF IF mx>180 AND mx<230 AND my>105 AND my<160 AND zona(10)=1 Anim_Button(180,105,230,160) im=10 PASTE IMAGE Pic(10), pox(10),poy(10) ENDIF IF mx>230 AND mx<280 AND my>105 AND my<160 AND zona(11)=1 Anim_Button(230,105,280,160) im=11 PASTE IMAGE Pic(11), pox(11),poy(11) ENDIF IF mx>280 AND mx<330 AND my>105 AND my<160 AND zona(12)=1 Anim_Button(280,105,330,160) im=12 PASTE IMAGE Pic(12), pox(12),poy(12) ENDIF IF mx>330 AND mx<380 AND my>105 AND my<160 AND zona(13)=1 Anim_Button(330,105,380,160) im=13 PASTE IMAGE Pic(13), pox(13),poy(13) ENDIF IF mx>380 AND mx<430 AND my>105 AND my<160 AND zona(14)=1 Anim_Button(380,105,430,160) im=14 PASTE IMAGE Pic(14), pox(14),poy(14) ENDIF IF mx>430 AND mx<480 AND my>105 AND my<160 AND zona(15)=1 Anim_Button(430,105,480,160) im=15 PASTE IMAGE Pic(15), pox(15),poy(15) ENDIF IF mx>480 AND mx<530 AND my>105 AND my<160 AND zona(16)=1 Anim_Button(480,105,530,160) im=16 PASTE IMAGE Pic(16), pox(16),poy(16) ENDIF IF mx>130 AND mx<180 AND my>160 AND my<215 AND zona(17)=1 Anim_Button(130,160,180,215) im=17 PASTE IMAGE Pic(17), pox(17),poy(17) ENDIF IF mx>180 AND mx<230 AND my>160 AND my<215 AND zona(18)=1 Anim_Button(180,160,230,215) im=18 PASTE IMAGE Pic(18), pox(18),poy(18) ENDIF IF mx>230 AND mx<280 AND my>160 AND my<215 AND zona(19)=1 Anim_Button(230,160,280,215) im=19 PASTE IMAGE Pic(19), pox(19),poy(19) ENDIF IF mx>280 AND mx<330 AND my>160 AND my<215 AND zona(20)=1 Anim_Button(280,160,330,215) im=20 PASTE IMAGE Pic(20), pox(20),poy(20) ENDIF IF mx>330 AND mx<380 AND my>160 AND my<215 AND zona(21)=1 Anim_Button(330,160,380,215) im=21 PASTE IMAGE Pic(21), pox(21),poy(21) ENDIF IF mx>380 AND mx<430 AND my>160 AND my<215 AND zona(22)=1 Anim_Button(380,160,430,215) im=22 PASTE IMAGE Pic(22), pox(22),poy(22) ENDIF IF mx>430 AND mx<480 AND my>160 AND my<215 AND zona(23)=1 Anim_Button(430,160,480,215) im=23 PASTE IMAGE Pic(23), pox(23),poy(23) ENDIF IF mx>480 AND mx<530 AND my>160 AND my<215 AND zona(24)=1 Anim_Button(480,160,530,215) im=24 PASTE IMAGE Pic(24), pox(24),poy(24) ENDIF IF mx>130 AND mx<180 AND my>215 AND my<270 AND zona(25)=1 Anim_Button(130,215,180,270) im=25 PASTE IMAGE Pic(25), pox(25),poy(25) ENDIF IF mx>180 AND mx<230 AND my>215 AND my<270 AND zona(26)=1 Anim_Button(180,215,230,270) im=26 PASTE IMAGE Pic(26), pox(26),poy(26) ENDIF IF mx>230 AND mx<280 AND my>215 AND my<270 AND zona(27)=1 Anim_Button(230,215,280,270) im=27 PASTE IMAGE Pic(27), pox(27),poy(27) ENDIF IF mx>280 AND mx<330 AND my>215 AND my<270 AND zona(28)=1 Anim_Button(280,215,330,270) im=28 PASTE IMAGE Pic(28), pox(28),poy(28) ENDIF IF mx>330 AND mx<380 AND my>215 AND my<270 AND zona(29)=1 Anim_Button(330,215,380,270) im=29 PASTE IMAGE Pic(29), pox(29),poy(29) ENDIF IF mx>380 AND mx<430 AND my>215 AND my<270 AND zona(30)=1 Anim_Button(380,215,430,270) im=30 PASTE IMAGE Pic(30), pox(30),poy(30) ENDIF IF mx>430 AND mx<480 AND my>215 AND my<270 AND zona(31)=1 Anim_Button(430,215,480,270) im=31 PASTE IMAGE Pic(31), pox(31),poy(31) ENDIF IF mx>480 AND mx<530 AND my>215 AND my<270 AND zona(32)=1 Anim_Button(480,215,530,270) im=32 PASTE IMAGE Pic(32), pox(32),poy(32) ENDIF IF mx>130 AND mx<180 AND my>270 AND my<325 AND zona(33)=1 Anim_Button(130,270,180,325) im=33 PASTE IMAGE Pic(33), pox(33),poy(33) ENDIF IF mx>180 AND mx<230 AND my>270 AND my<325 AND zona(34)=1 Anim_Button(180,270,230,325) im=34 PASTE IMAGE Pic(34), pox(34),poy(34) ENDIF IF mx>230 AND mx<280 AND my>270 AND my<325 AND zona(35)=1 Anim_Button(230,270,280,325) im=35 PASTE IMAGE Pic(35), pox(35),poy(35) ENDIF IF mx>280 AND mx<330 AND my>270 AND my<325 AND zona(36)=1 Anim_Button(280,270,330,325) im=36 PASTE IMAGE Pic(36), pox(36),poy(36) ENDIF IF mx>330 AND mx<380 AND my>270 AND my<325 AND zona(37)=1 Anim_Button(330,270,380,325) im=37 PASTE IMAGE Pic(37), pox(37),poy(37) ENDIF IF mx>380 AND mx<430 AND my>270 AND my<325 AND zona(38)=1 Anim_Button(380,270,430,325) im=38 PASTE IMAGE Pic(38), pox(38),poy(38) ENDIF IF mx>430 AND mx<480 AND my>270 AND my<325 AND zona(39)=1 Anim_Button(430,270,480,325) im=39 PASTE IMAGE Pic(39), pox(39),poy(39) ENDIF IF mx>480 AND mx<530 AND my>270 AND my<325 AND zona(40)=1 Anim_Button(480,270,530,325) im=40 PASTE IMAGE Pic(40), pox(40),poy(40) ENDIF IF mx>130 AND mx<180 AND my>325 AND my<380 AND zona(41)=1 Anim_Button(130,325,180,380) im=41 PASTE IMAGE Pic(41), pox(41),poy(41) ENDIF IF mx>180 AND mx<230 AND my>325 AND my<380 AND zona(42)=1 Anim_Button(180,325,230,380) im=42 PASTE IMAGE Pic(42), pox(42),poy(42) ENDIF IF mx>230 AND mx<280 AND my>325 AND my<380 AND zona(43)=1 Anim_Button(230,325,280,380) im=43 PASTE IMAGE Pic(43), pox(43),poy(43) ENDIF IF mx>280 AND mx<330 AND my>325 AND my<380 AND zona(44)=1 Anim_Button(280,325,330,380) im=44 PASTE IMAGE Pic(44), pox(44),poy(44) ENDIF IF mx>330 AND mx<380 AND my>325 AND my<380 AND zona(45)=1 Anim_Button(330,325,380,380) im=45 PASTE IMAGE Pic(45), pox(45),poy(45) ENDIF IF mx>380 AND mx<430 AND my>325 AND my<380 AND zona(46)=1 Anim_Button(380,325,430,380) im=46 PASTE IMAGE Pic(46), pox(46),poy(46) ENDIF IF mx>430 AND mx<480 AND my>325 AND my<380 AND zona(47)=1 Anim_Button(430,325,480,380) im=47 PASTE IMAGE Pic(47), pox(47),poy(47) ENDIF IF mx>480 AND mx<530 AND my>325 AND my<380 AND zona(48)=1 Anim_Button(480,325,530,380) im=48 PASTE IMAGE Pic(48), pox(48),poy(48) ENDIF ENDIF SYNC UNTIL im>0 inc mosse FOR i=0 to 1500:NEXT i IF game_over=1 stringa$="CLICK TO REPEATING" GOSUB click GOTO main ENDIF Rem Have pushed STOP button ? IF im=99 n=1 FOR i=1 TO 48 IF zona(n)=1 PASTE IMAGE Pic(n),pox(n),poy(n) ENDIF INC n SYNC NEXT i Make_Button(grigio,190,400,460,430,white,black,1) Testo(190,400,460,400,"BY ERMANNO -ITALY-",black) stringa$="CLICK TO END" GOSUB click CLS 0 END ENDIF zona(im)=0 GOSUB check IF akan=0 THEN GOTO mainloop ultime=1 : PLAY SOUND 3 GOSUB controllo GOSUB scritte stringa$="CLICK TO START" :GOSUB click INC ini IF ini>10 THEN ini=1 GOTO main click: Make_Button(grigio,190,10,460,40,white,black,1) Make_Button(verde,230,15,420,35,white,black,2):Testo(230,15,420,5,stringa$,white) w=0 WHILE w=0 mx=MOUSEX():my=MOUSEY() IF MOUSECLICK()=1 IF mx>230 AND mx<420 AND my>15 AND my<35 Anim_Button(230,15,420,35) w=1 ENDIF ENDIF SYNC ENDWHILE RETURN Rem writes something scritte: Make_Button(black,5,5,80,300,red,red,0) Make_Button(red,7,6,78-ti,48,red,white,2):Testo(7,6,78,8,"TIME",giallo) i$=RIGHT$(STR$(100+pa),2) Testo(7,6,78,38,i$,white) INK white,0 TEXT 15,70,"MEMORY" TEXT 15,100,"LEVEL" TEXT 15,120,RIGHT$(STR$(ini+100),2) TEXT 15,150,"BLOCKS" TEXT 15,170,RIGHT$(STR$(no+100),2) TEXT 15,200,"MOVES" TEXT 15,220,RIGHT$(STR$(mosse+1000),3) yo=yo+1 IF yo>no*3 THEN yo=0: INC ti : INC pa IF ti>72 AND no>0 Make_Button(grigio,100,100,540,250,red,red,2):Testo(100,100,540,220,"TIME EXPIRED!",white) SYNC : PLAY SOUND 2 : SLEEP 50 game_over=1 ENDIF RETURN check: INC ju IF ju=3 THEN GOSUB wrong IF ju=1 ax=im immagine_a=pic(im) RETURN ENDIF IF ju=2 bx=im immagine_b=pic(im) GOTO controllo ENDIF controllo: SLEEP 500 IF immagine_a=immagine_b Make_Button(blu,pox(ax),poy(ax),pox(ax)+52,poy(ax)+57,blu,blu,0) Make_Button(blu,pox(bx),poy(bx),pox(bx)+52,poy(bx)+57,blu,blu,0) ju=0 IF ultime=0 no=no-2 : PLAY SOUND 1 : SLEEP 50 ENDIF IF no=0 THEN akan=1:RETURN ENDIF RETURN wrong: Make_Button(azzurro,pox(ax),poy(ax),pox(ax)+50,poy(ax)+55,white,black,1) Make_Button(azzurro,pox(bx),poy(bx),pox(bx)+50,poy(bx)+55,white,black,1) ju=1 zona(ax)=1:zona(bx)=1 RETURN Mischia: RANDOMIZE RND(500) FOR i=1 TO no/2 a4: x=RND(58)+1 IF flag(x)=1 THEN GOTO a4 flag(x)=1 face(i)=x NEXT i GOSUB azzera FOR t=1 TO no a3: x=RND(no/2) IF x=0 THEN GOTO a3 IF flag(x)=2 THEN GOTO a3 flag(x)=flag(x)+1 image(t)=face(x) NEXT t RETURN azzera: FOR i=1 TO 59 flag(i)=0 NEXT i RETURN Rem You can vary each L,but be always multiple of 2 L1: rem 10 DATA 0,0,0,0,0,0,0,0 DATA 1,0,0,0,0,0,0,0 DATA 1,1,1,1,1,1,1,1 DATA 0,0,0,0,0,0,0,1 DATA 0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,0,0,0 L2: Rem 18 DATA 1,0,0,1,0,0,0,0 DATA 0,0,0,1,0,0,1,1 DATA 1,1,1,0,1,1,1,1 DATA 1,1,0,1,0,0,0,0 DATA 0,0,0,1,0,0,0,0 DATA 0,0,0,1,0,0,0,1 L3: rem 30 DATA 1,0,1,0,1,0,1,0 DATA 0,1,0,1,0,1,0,1 DATA 1,0,1,0,1,0,1,0 DATA 0,1,0,1,0,1,0,1 DATA 1,0,1,0,1,0,1,0 DATA 0,1,0,1,0,1,0,1 L4: rem 18 DATA 0,0,1,1,1,1,0,0 DATA 0,0,1,0,0,1,0,0 DATA 0,0,1,0,0,1,0,0 DATA 0,1,1,1,1,1,1,0 DATA 0,1,0,0,0,0,1,0 DATA 0,1,0,0,0,0,1,0 L5: rem 22 DATA 0,0,1,1,1,1,0,0 DATA 0,1,0,0,0,0,1,0 DATA 1,0,0,1,1,0,0,1 DATA 1,0,1,1,1,1,0,1 DATA 0,1,0,0,0,0,1,0 DATA 0,0,1,1,1,1,0,0 L6: rem 36 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,0 DATA 1,1,1,1,1,1,0,0 DATA 1,1,1,1,1,0,0,0 DATA 1,1,1,1,0,0,0,0 DATA 1,1,0,0,0,0,0,0 L7: rem 40 DATA 0,0,1,1,1,1,0,0 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 0,0,1,1,1,1,0,0 DATA 1,1,1,1,1,1,1,1 L8: Rem 42 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,0,1,1,1,1 DATA 1,1,1,1,0,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 L9: Rem 44 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,0,0,1,1,1 DATA 1,1,1,0,0,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 L10: Rem 48 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1 FUNCTION Make_Button(co1,Left,Top,Right,Bottom,co2,co3,shadow) INK 0,0 IF shadow=1 THEN BOX left,top,right,bottom IF shadow=2 THEN BOX left-2,top-2,right+2,bottom+2 INK co1,co1 BOX left+1,top+1,right-1,bottom-1 INK co2,co2 LINE Left,Bottom,Left,Top : LINE Left,Top,Right,Top INK co3,co3 LINE Right,Top,Right,Bottom : LINE Right,Bottom,Left,Bottom ENDFUNCTION FUNCTION Testo(x,y,x1,y1,txt$,ct) INK ct,ct c=((x1-x)/2)-((8*LEN(txt$))/2) TEXT x+c,y1-((y1-y)/2)+8,txt$ ENDFUNCTION FUNCTION Anim_Button(Ax,Ay,Bx,By) COPY BITMAP 0,Ax-1,Ay-1,Bx,By,0,Ax,Ay,Bx+1,By+1 WHILE MOUSECLICK()=1 : SYNC : ENDWHILE COPY BITMAP 0,Ax,Ay,Bx+1,By+1,0,Ax-1,Ay-1,Bx,By ENDFUNCTION |