1. #include<stdio.h>
2.
3. #include<conio.h>
4.
5. #include<string.h>
6.
7. #include<stdlib.h>
8.
9. #include<ctype.h>
10.
11. #include<dos.h>
12.
13. #include<stdlib.h>
14.
15. #include<ctype.h>
16.
17. #include"mouse.inc"
18.
19. #define LEFT 5
20.
21. #define RIGHT 75
22.
23. #define TOP 6
24.
25. #define BOTTOM 36
26.
27. #define M_LEFT 1
28.
29. #define M_RIGHT 2
30.
31. #define M_UP 3
32.
33. #define M_DOWN 4
34.
35. int KetThucGame=0;
36.
37. typedef struct
38.
39. {
40.
41. int x,y;
42.
43. }Point;
44.
45. char KLEFT=75,KRIGHT=77,KUP=72,KDOWN=80,PAUSE=59;
46.
47. int KL=0,KR=0,KU=0,KD=0,P=0;
48.
49. Point SNACK[100];
50.
51. Point ThucAn;
52.
53. int len;
54.
55. int head,tail;
56.
57. int score=0;
58.
59. int level=1;
60.
61. int speed=300;
62.
63. int DiemTangLevel=10;
64.
65. int HuongDi=2;
66.
67. typedef struct
68.
69. {
70.
71. int xbutton;
72.
73. int ybutton;
74.
75. char *name;
76.
77. int statusbutton;
78.
79. }Button;
80.
81. void VarButton(Button &B,char *s,int x,int y)
82.
83. {
84.
85. B.xbutton=x;
86.
87. B.ybutton=y;
88.
89. B.statusbutton=1;
90.
91. B.name=s;
92.
93. }
94.
95. void ShowButton(Button B)
96.
97. {
98.
99. if(B.statusbutton==1)
100.
101. {
102.
103. textbackground(15);
104.
105. gotoxy(B.xbutton,B.ybutton);textcolor(LIGHTRED);cprintf("%s",B.name);
106.
107. textbackground(BLACK);
108.
109. }
110.
111. }
112.
113. void EnableButton(Button& B)
114.
115. {
116.
117. B.statusbutton=1;
118.
119. }
120.
121. void DisableButton(Button& B)
122.
123. {
124.
125. textbackground(15);
126.
127. gotoxy(B.xbutton,B.ybutton);textcolor(LIGHTGRAY);cprintf("%s",B.name);
128.
129. B.statusbutton=0;
130.
131. textbackground(BLACK);
132.
133. }
134.
135. int ClickButton(Button B,int xchuot,int ychuot)
136.
137. {
138.
139. if(B.statusbutton==1)
140.
141. {
142.
143. if(xchuot>=(B.xbutton-1)*8&&xchuot<=(B.xbutton+strlen(B.name)-1-1)*8&&ychuot==(B.ybutton-1)*
144.
145. return 1;
146.
147. }
148.
149. return 0;
150.
151. }
152.
153. void EffectClick(Button B)
154.
155. {
156.
157. gotoxy(B.xbutton,B.ybutton);textcolor(LIGHTCYAN+BLINK);cprintf("%s",B.name);
158.
159. delay(200);
160.
161. ShowButton(B);
162.
163. }
164.
165. void EffectClickNonButton(int x,int y)
166.
167. {
168.
169. gotoxy(x,y);textbackground(WHITE);textcolor(WHITE);cprintf(".");
170.
171. textbackground(BLACK);
172.
173. delay(200);
174.
175. }
176.
177. void GanToaDo(Point &P,int xx,int yy)
178.
179. {
180.
181. P.x=xx;
182.
183. P.y=yy;
184.
185. }
186.
187. void HienThiLoGo(int x,int y,int color)
188.
189. {
190.
191. gotoxy(x,y);textcolor(color);cprintf("ÛßßßßÛ Û Û ÛßßÛ Ûßßß Û Üß Ûßßß");
192.
193. gotoxy(x,y+1);textcolor(LIGHTRED);cprintf("ÈÍÍÍÍ» ºßÜ º ̀Í͹ Û ºÛ ̀Í");
194.
195. gotoxy(x,y+2);textcolor(color);cprintf("ÛÜÜÜÜÛ Û ßÛ Û Û ÛÜÜÜ Û ßÜ ÛÜÜÜ");
196.
197. }
198.
199. void VeBanDo()
200.
201. {
202.
203. int i,j;
204.
205. for(i=LEFT;i<=RIGHT;i++)
206.
207. for(j=TOP;j<=BOTTOM;j++)
208.
209. {
210.
211. if((j==TOP||j==BOTTOM)&&i>LEFT&&i<right)>
212. {
213.
214. gotoxy(i,j);textcolor(7);cprintf("%c",205);
215.
216. }
217.
218. if((i==LEFT||i==RIGHT)&&j>TOP&&j<bottom)>
219. {
220.
221. gotoxy(i,j);textcolor(7);cprintf("%c",186);
222.
223. }
224.
225. }
226.
227. gotoxy(LEFT,TOP);textcolor(LIGHTRED);cprintf("%c",219);
228.
229. gotoxy(RIGHT,TOP);textcolor(LIGHTRED);cprintf("%c",219);
230.
231. gotoxy(LEFT,BOTTOM);textcolor(LIGHTRED);cprintf("%c",219);
232.
233. gotoxy(RIGHT,BOTTOM);textcolor(LIGHTRED);cprintf("%c",219);
234.
235. }
236.
237. void KhoiTaoConRan()
238.
239. {
240.
241. len=2;
242.
243. head=0;
244.
245. tail=len-1;
246.
247. GanToaDo(SNACK[tail],LEFT+1,TOP+1);
248.
249. GanToaDo(SNACK[head],LEFT+2,TOP+1);
250.
251.
252.
253. }
254.
255. int KiemTraThuocThanConRan(Point P)
256.
257. {
258.
259. int i;
260.
261. i=1;
262.
263. for(i=1;i<=tail;i++)
264.
265. {
266.
267. if(P.x==SNACK[i].x&&P.y==SNACK[i].y)
268.
269. {
270.
271. return 1;break;
272.
273. }
274.
275. }
276.
277. return 0;
278.
279. }
280.
281. void TaoThucAn()//tao thuc an va ve thuc an ra man hinh
282.
283. {
284.
285. ThucAn=SNACK[head];
286.
287. randomize();
288.
289. while(KiemTraThuocThanConRan(ThucAn)==1||(ThucAn.x==SNACK[head].x&&ThucAn.y==SNACK[head].y))
290.
291. {
292.
293. GanToaDo(ThucAn,LEFT+1+random(RIGHT-1-LEFT-2),TOP+1+random(BOTTOM-1-TOP-2));
294.
295. }
296.
297. }
298.
299. void VeThucAn()
300.
301. {
302.
303. gotoxy(ThucAn.x,ThucAn.y);textcolor(LIGHTRED);cprintf("%c",3);
304.
305. }
306.
307. void XoaThucAn()
308.
309. {
310.
311. gotoxy(ThucAn.x,ThucAn.y);textcolor(BLACK);cprintf(" ");
312.
313. }
314.
315. void VeConRan()
316.
317. {
318.
319. int i;
320.
321. for(i=head;i<=tail;i++)
322.
323. {
324.
325. if(i==head)
326.
327. {
328.
329. gotoxy(SNACK[i].x,SNACK[i].y);textcolor(LIGHTRED);cprintf("@");
330.
331. }
332.
333. else
334.
335. {
336.
337. gotoxy(SNACK[i].x,SNACK[i].y);
338.
339. if(i%2==0) textcolor(15);
340.
341. if(i%2!=0) textcolor(LIGHTBLUE);
342.
343. cprintf("%c",254);
344.
345. }
346.
347. }
348.
349. }
350.
351. void XoaConRan()
352.
353. {
354.
355. int i;
356.
357. for(i=head;i<=tail;i++)
358.
359. {
360.
361. gotoxy(SNACK[i].x,SNACK[i].y);textcolor(BLACK);cprintf(" ");
362.
363. }
364.
365. }
366.
367. int KiemTraRanDungThanRan()
368.
369. {
370.
371. int i;
372.
373. for(i=1;i<len;i++)>
374. {
375.
376. if(SNACK[0].x==SNACK[i].x&&SNACK[0].y==SNACK[i].y) break;
377.
378. }
379.
380. if(i<len-1) return="" 1;="">
381. else return 0;
382.
383. }
384.
385. int KiemTraRanDie()
386.
387. {
388.
389. if(SNACK[head].x>LEFT&&SNACK[head].x<right&&snack[head].y>TOP&&SNACK[head].y<bottom&&kiemtrarandungthanran()==0) return="" 0;="" khong="" chet="">
390. else return 1;//chet ngum cu toi,toi doi nha ma.
391.
392. }
393.
394. void DieuChinhToaDoConRan()
395.
396. {
397.
398. int i;
399.
400. for(i=len-1;i>0;i--)
401.
402. {
403.
404. SNACK[i]=SNACK[i-1];
405.
406. }
407.
408. }
409.
410. void SetLevelScore()
411.
412. {
413.
414. score++;
415.
416. if(score>=DiemTangLevel&&level<10)
417.
418. {
419.
420. level++;
421.
422. DiemTangLevel+=10;
423.
424. if(level<7) speed-=50;
425.
426. if(level==7) speed-=15;
427.
428. if(level==
speed-=10;
429.
430. if(level==9) speed-=15;
431.
432. }
433.
434. }
435.
436. void BangBaoLevel(int x,int y,int z)
437.
438. {
439.
440. gotoxy(1,38);textcolor(GREEN); cprintf("LEVEL: %3d",x);
441.
442. gotoxy(1,39);textcolor(GREEN); cprintf("SCORE: %3d",y);
443.
444. gotoxy(1,40);textcolor(GREEN);cprintf("SPEED: %3d",z);
445.
446. }
447.
448. void AnThucAn()
449.
450. {
451.
452. Point temp;
453.
454. GanToaDo(temp,SNACK[tail].x-1,SNACK[tail].y);
455.
456. len++;
457.
458. tail=len-1;
459.
460. SNACK[tail]=temp;
461.
462. SetLevelScore();
463.
464. TaoThucAn();
465.
466. }
467.
468. void ResetGame()
469.
470. {
471.
472. KhoiTaoConRan();
473.
474. TaoThucAn();
475.
476. score=0;
477.
478. level=1;
479.
480. DiemTangLevel=10;
481.
482. HuongDi=2;
483.
484. speed=300;
485.
486. }
487.
488. //============CAC CHUC NANG CAP CAO CHO GAME.
489.
490. int LayKeyBanPhim(char &c)
491.
492. {
493.
494. do
495.
496. {
497.
498. c=toupper(getch());
499.
500. if(c==0)
501.
502. {
503.
504. c=getch();
505.
506. if(c==75||c==77||c==72||c==80)
507.
508. {
509.
510. return 0;
511.
512. break;
513.
514. }
515.
516. }
517.
518. else
519.
520. {
521.
522. if((c>=65&&c<=90)||c==32||c==13)
523.
524. {
525.
526. return 1;
527.
528. break;
529.
530. }
531.
532. }
533.
534. }while(1);
535.
536. }
537.
538. void HienThiKiTu(char c,int loai)
539.
540. {
541.
542. if(c>=48&&c<=90&&loai==1)
543.
544. {
545.
546. cprintf("%c",c);
547.
548. }
549.
550. if(loai==1)
551.
552. {
553.
554. switch(c)
555.
556. {
557.
558. case 32:cprintf("SPACE");break;
559.
560. case 13:cprintf("ENTER");break;
561.
562. }
563.
564. }
565.
566. if(loai==0)
567.
568. {
569.
570. switch(c)
571.
572. {
573.
574. case 72:cprintf("KEYUP");break;
575.
576. case 80:cprintf("KEYDOWN");break;
577.
578. case 75:cprintf("KEYLEFT");break;
579.
580. case 77:cprintf("KEYRIGHT");break;
581.
582. }
583.
584. }
585.
586. }
587.
588. int Save(char* link)//luu trang thai con ran va thong tin game vao file co duong dan link (bao gom ten)
589.
590. {
591.
592. FILE* file=fopen(link,"w+b");
593.
594. if(file!=NULL)
595.
596. {
597.
598. fprintf(file,"%d %d %d %d %d %d %d %d ",level,score,speed,HuongDi,DiemTangLevel,ThucAn.x,ThucAn.y,len); //luu giu cac bien trang thai.
599.
600. for(int i=0;i<len;i++)>
601. {
602.
603. fprintf(file,"%d %d ",SNACK[i].x,SNACK[i].y);
604.
605. }
606.
607. fclose(file);
608.
609. return 1;
610.
611. }
612.
613. return 0;
614.
615. }
616.
617. int Load(char* link)
618.
619. {
620.
621. int i,ii;
622.
623. FILE* file=fopen(link,"r+b");
624.
625. if(file==NULL){ fclose(file);return 0;}//khong luu dc.
626.
627. else
628.
629. {
630.
631. XoaConRan();
632.
633. XoaThucAn();
634.
635. //luu giu cac bien trang thai.
636.
637. fscanf(file,"%d%d%d%d%d%d%d%d",&level,&score,&speed,&HuongDi,&DiemTangLevel,&ThucAn.x,&ThucAn.y,&len);
638.
639. for(i=0;i<len;i++)>
640. {
641.
642. fscanf(file,"%d%d",&SNACK[i].x,&SNACK[i].y);
643.
644. }
645.
646. head=0;
647.
648. tail=len-1;
649.
650. fclose(file);
651.
652. return 1;
653.
654. }
655.
656. }
657.
658. void MenuSaveGame(int x,int y)
659.
660. {
661.
662. unsigned char lbutton,rbutton;
663.
664. int xmouse,ymouse;
665.
666. char c;
667.
668. char tenodia[2];
669.
670. char tenfile[6];
671.
672. int i,j;
673.
674. _setcursortype(0);
675.
676. MOUSE_THERE=1;
677.
678. Button ODIA,SAVENAME,CANCEL,OK;
679.
680. VarButton(ODIA,"O Dia:",x,y);
681.
682. VarButton(SAVENAME,"SaveName:",x,y+2);
683.
684. VarButton(OK,"[OK]",x+25,y+3);
685.
686. VarButton(CANCEL,"[CANCLE]",x+30,y+3);
687.
688. //=======phan do hoa giao dien========================
689.
690. for(i=x-1;i<=x+38;i++)
691.
692. {
693.
694. if(i==x-1)
695.
696. {
697.
698. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",201);
699.
700. gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",200);
701.
702. }
703.
704. if(i==x+38)
705.
706. {
707.
708. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",187);
709.
710. gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",188);
711.
712. }
713.
714. if(i!=(x-1)&&i!=(x+38))
715.
716. {
717.
718. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",205);
719.
720. gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",205);
721.
722. }
723.
724. }
725.
726. gotoxy((39-strlen("Save Game Menu"))/2+x-1,y-1);textcolor(YELLOW);cprintf("Save Game Menu");
727.
728. //---------------------------------------------------------------------------------------------------------------------------
729.
730. do
731.
732. {
733.
734. ShowButton(ODIA);
735.
736. ShowButton(SAVENAME);
737.
738. ShowButton(OK);
739.
740. ShowButton(CANCEL);
741.
742. do
743.
744. {
745.
746. if(kbhit()) getch();
747.
748. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
749.
750. }while(lbutton==0);
751.
752. if(ClickButton(ODIA,xmouse,ymouse))
753.
754. {
755.
756. _setcursortype(1);
757.
758. EffectClick(ODIA);
759.
760. do{
761.
762. c=toupper(getch());
763.
764. }while(c<=65&&c>=90);
765.
766. tenodia[0]=c;tenodia[1]=NULL;
767.
768. gotoxy(x+6,y);textcolor(YELLOW);cprintf("%s",tenodia);
769.
770. _setcursortype(0);
771.
772. }
773.
774. if(ClickButton(SAVENAME,xmouse,ymouse))
775.
776. {
777.
778. _setcursortype(1);
779.
780. EffectClick(SAVENAME);
781.
782. gotoxy(x+9,y+2);textcolor(15);
783.
784. i=-1;
785.
786. int DaGoXong=0;
787.
788. do
789.
790. {
791.
792. do
793.
794. {
795.
796. c=toupper(getch());
797.
798. j=1;
799.
800. if((c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1)||((c==13||c==
&&j==1)) break;
801.
802. }while(1);
803.
804. if(((c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1))&&i<1) //go ki tu abcdef.....w..z
805.
806. {
807.
808. tenfile[++i]=c;
809.
810. gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",tenfile[i]);
811.
812. }
813.
814. if(c==8&&j==1&&i!=-1)
815.
816. {
817.
818. gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",32);gotoxy(x+9+i,y+2);
819.
820. tenfile[i]=NULL;
821.
822. --i;
823.
824. }
825.
826. if(c==13&&j==1&&i>=0)
827.
828. {
829.
830. tenfile[++i]=NULL;
831.
832. DaGoXong=1;
833.
834. }
835.
836. }while(DaGoXong==0);
837.
838. gotoxy(x+9,y+2);textcolor(YELLOW);cprintf("%s",tenfile);
839.
840. _setcursortype(0);
841.
842. }
843.
844. if(ClickButton(OK,xmouse,ymouse))
845.
846. {
847.
848. EffectClick(OK);
849.
850. char* s1="";
851.
852. char* s="";
853.
854. s1=strcat((char*)tenodia,":");
855.
856. s=strcat(s1,tenfile);
857.
858. s=strcat(s,".RTA");
859.
860. gotoxy(1,50);clreol();
861.
862. if(Save(s)==1)
863.
864. {
865.
866. gotoxy((80-strlen("Save Thanh Cong"))/2,50);textcolor(BLUE);cprintf("Save Thanh Cong");
867.
868. }
869.
870. else
871.
872. {
873.
874. gotoxy((80-strlen("Save That Bai"))/2,50);textcolor(BLUE);cprintf("Save That Bai");
875.
876. }
877.
878. delay(500);
879.
880. break;
881.
882. }
883.
884. if(ClickButton(CANCEL,xmouse,ymouse))
885.
886. {
887.
888. EffectClick(CANCEL);
889.
890. break;
891.
892. }
893.
894. }while(1);
895.
896. gotoxy(x-1,y-1);clreol();
897.
898. gotoxy(x,y);clreol();
899.
900. gotoxy(x,y+2);clreol();
901.
902. gotoxy(x,y+3);clreol();
903.
904. gotoxy(x-1,y+4);clreol();
905.
906. gotoxy(1,50);clreol();
907.
908. }
909.
910. void MenuLoadGame(int x,int y)
911.
912. {
913.
914. unsigned char lbutton,rbutton;
915.
916. int i,j,xmouse,ymouse;
917.
918. char c;
919.
920. char tenodia[2];
921.
922. char tenfile[6];
923.
924. _setcursortype(0);
925.
926. MOUSE_THERE=1;
927.
928. Button ODIA,SAVENAME,CANCEL,OK;
929.
930. VarButton(ODIA,"O Dia:",x,y);
931.
932. VarButton(SAVENAME,"SaveName:",x,y+2);
933.
934. VarButton(OK,"[OK]",x+20,y+3);
935.
936. VarButton(CANCEL,"[CANCLE]",x+27,y+3);
937.
938. //=======phan do hoa giao dien========================
939.
940. for(i=x-1;i<=x+35;i++)
941.
942. {
943.
944. if(i==x-1)
945.
946. {
947.
948. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",201);
949.
950. gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",200);
951.
952. }
953.
954. if(i==x+35)
955.
956. {
957.
958. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",187);
959.
960. gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",188);
961.
962. }
963.
964. if(i!=(x-1)&&i!=(x+35))
965.
966. {
967.
968. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",205);
969.
970. gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",205);
971.
972. }
973.
974. }
975.
976. gotoxy((36-strlen("Load Game Menu"))/2+x-1,y-1);textcolor(YELLOW);cprintf("Load Game Menu");
977.
978. //---------------------------------------------------------------------------------------------------------------------------
979.
980. do
981.
982. {
983.
984. ShowButton(ODIA);
985.
986. ShowButton(SAVENAME);
987.
988. ShowButton(OK);
989.
990. ShowButton(CANCEL);
991.
992. do
993.
994. {
995.
996. if(kbhit()) getch();
997.
998. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
999.
1000. }while(lbutton==0);
1001.
1002. if(ClickButton(ODIA,xmouse,ymouse))
1003.
1004. {
1005.
1006. _setcursortype(1);
1007.
1008. EffectClick(ODIA);
1009.
1010. do{
1011.
1012. c=toupper(getch());
1013.
1014. }while(c<=65&&c>=90);
1015.
1016. tenodia[0]=c;tenodia[1]=NULL;
1017.
1018. gotoxy(x+6,y);textcolor(YELLOW);cprintf("%s",tenodia);
1019.
1020. _setcursortype(0);
1021.
1022. }
1023.
1024. if(ClickButton(SAVENAME,xmouse,ymouse))
1025.
1026. {
1027.
1028. _setcursortype(1);
1029.
1030. EffectClick(SAVENAME);
1031.
1032. gotoxy(x+9,y+2);textcolor(LIGHTBLUE);
1033.
1034. i=-1;
1035.
1036. int DaGoXong=0;
1037.
1038. do
1039.
1040. {
1041.
1042. do
1043.
1044. {
1045.
1046. c=toupper(getch());
1047.
1048. if(c==0){ c=getch();j=0;}
1049.
1050. else j=1;
1051.
1052. if((c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1)||((c==13||c==
&&j==1)) break;
1053.
1054. }while(1);
1055.
1056. if(((c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1))&&i<1) //go ki tu abcdef.....w..z
1057.
1058. {
1059.
1060. tenfile[++i]=c;
1061.
1062. gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",tenfile[i]);
1063.
1064. }
1065.
1066. if(c==8&&j==1&&i>=0)
1067.
1068. {
1069.
1070. gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",32);gotoxy(x+9+i,y+2);
1071.
1072. tenfile[i]=NULL;
1073.
1074. i=i-1;
1075.
1076. }
1077.
1078. if(c==13&&j==1&&i>=0)
1079.
1080. {
1081.
1082. tenfile[++i]=NULL;
1083.
1084. DaGoXong=1;
1085.
1086. }
1087.
1088. }while(DaGoXong==0);
1089.
1090. gotoxy(x+9,y+2);textcolor(YELLOW);cprintf("%s",tenfile);
1091.
1092. _setcursortype(0);
1093.
1094. }
1095.
1096. if(ClickButton(OK,xmouse,ymouse))
1097.
1098. {
1099.
1100. EffectClick(OK);
1101.
1102. char* s1="";
1103.
1104. char* s="";
1105.
1106. s1=strcat(tenodia,":");
1107.
1108. s=strcat(s1,tenfile);
1109.
1110. s=strcat(s,".RTA");
1111.
1112. gotoxy(1,50);clreol();
1113.
1114. if(Load(s)==1)
1115.
1116. {
1117.
1118. BangBaoLevel(level,score,speed);
1119.
1120. VeThucAn();
1121.
1122. gotoxy((80-strlen("Load Game Thanh Cong"))/2,50);textcolor(BLUE);cprintf("Load Game Thanh Cong");
1123.
1124. }
1125.
1126. else
1127.
1128. {
1129.
1130. gotoxy((80-strlen("Load Game That Bai"))/2,50);textcolor(BLUE);cprintf("Load Game That Bai");
1131.
1132. }
1133.
1134. delay(500);
1135.
1136. break;
1137.
1138. }
1139.
1140. if(ClickButton(CANCEL,xmouse,ymouse))
1141.
1142. {
1143.
1144. EffectClick(CANCEL);
1145.
1146. break;
1147.
1148. }
1149.
1150. }while(1);
1151.
1152. gotoxy(x-1,y-1);clreol();
1153.
1154. gotoxy(x,y);clreol();
1155.
1156. gotoxy(x,y+2);clreol();
1157.
1158. gotoxy(x,y+3);clreol();
1159.
1160. gotoxy(x-1,y+4);clreol();
1161.
1162. gotoxy(1,50);clreol();
1163.
1164. }
1165.
1166. void MenuControl(int x,int y)
1167.
1168. {
1169.
1170. unsigned char lbutton,rbutton;
1171.
1172. int xmouse,ymouse;
1173.
1174. char tempUP=KUP,tempDOWN=KDOWN,tempLEFT=KLEFT,tempRIGHT=KRIGHT;
1175.
1176. int tempu=KU,tempd=KD,templ=KL,tempr=KR,i;
1177.
1178. MOUSE_THERE=1;
1179.
1180. Button U,D,L,R,OK,DEFAULT,CANCEL;
1181.
1182. VarButton(U,"[ M_UP ]",x,y);
1183.
1184. VarButton(D,"[ M_DOWN ]",x,y+2);
1185.
1186. VarButton(L,"[ M_LEFT ]",x,y+4);
1187.
1188. VarButton(R,"[M_RIGHT ]",x+25,y+2);
1189.
1190. VarButton(OK,"[SAVE ALL]",x+25,y+4);
1191.
1192. VarButton(DEFAULT,"[DEFAUTL]",x+36,y+4);
1193.
1194. VarButton(CANCEL,"[CANCEL]",x+46,y+4);
1195.
1196. //=======phan do hoa giao dien========================
1197.
1198. _setcursortype(0);
1199.
1200. for(i=x-1;i<=x+54;i++)
1201.
1202. {
1203.
1204. if(i==x-1)
1205.
1206. {
1207.
1208. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",201);
1209.
1210. gotoxy(i,y+5);textcolor(WHITE);cprintf("%c",200);
1211.
1212. }
1213.
1214. if(i==x+54)
1215.
1216. {
1217.
1218. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",187);
1219.
1220. gotoxy(i,y+5);textcolor(WHITE);cprintf("%c",188);
1221.
1222. }
1223.
1224. if(i!=(x-1)&&i!=(x+54))
1225.
1226. {
1227.
1228. gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",205);
1229.
1230. gotoxy(i,y+5);textcolor(WHITE);cprintf("%c",205);
1231.
1232. }
1233.
1234. }
1235.
1236. gotoxy((55-strlen("Menu CONTROL"))/2+x-1,y-1);textcolor(YELLOW);cprintf("Menu Control");
1237.
1238. //---------------------------------------------------------------------------------------------------------------------------
1239.
1240. do
1241.
1242. {
1243.
1244. ShowButton(U);
1245.
1246. ShowButton(D);
1247.
1248. ShowButton(L);
1249.
1250. ShowButton(R);
1251.
1252. ShowButton(OK);
1253.
1254. ShowButton(DEFAULT);
1255.
1256. ShowButton(CANCEL);
1257.
1258. do
1259.
1260. {
1261.
1262. if(kbhit()) getch(); //chan fim rac
1263.
1264. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
1265.
1266. }while(lbutton==0);
1267.
1268. if(ClickButton(U,xmouse,ymouse))
1269.
1270. {
1271.
1272. EffectClick(U);
1273.
1274. _setcursortype(1);
1275.
1276. gotoxy(x+12,y);textcolor(BLACK);cprintf(" ");
1277.
1278. gotoxy(x+12,y);textcolor(YELLOW);
1279.
1280. KU=LayKeyBanPhim(KUP);
1281.
1282. HienThiKiTu(KUP,KU);
1283.
1284. }
1285.
1286. if(ClickButton(D,xmouse,ymouse))
1287.
1288. {
1289.
1290. EffectClick(D);
1291.
1292. _setcursortype(1);
1293.
1294. gotoxy(x+12,y+2);textcolor(BLACK);cprintf(" ");
1295.
1296. gotoxy(x+12,y+2);textcolor(YELLOW);
1297.
1298. KD=LayKeyBanPhim(KDOWN);
1299.
1300. HienThiKiTu(KDOWN,KD);
1301.
1302. }
1303.
1304. if(ClickButton(L,xmouse,ymouse))
1305.
1306. {
1307.
1308. EffectClick(L);
1309.
1310. _setcursortype(1);
1311.
1312. gotoxy(x+12,y+4);textcolor(BLACK);cprintf(" ");
1313.
1314. gotoxy(x+12,y+4);textcolor(YELLOW);
1315.
1316. KL=LayKeyBanPhim(KLEFT);
1317.
1318. HienThiKiTu(KLEFT,KL);
1319.
1320. }
1321.
1322. if(ClickButton(R,xmouse,ymouse))
1323.
1324. {
1325.
1326. EffectClick(R);
1327.
1328. _setcursortype(1);
1329.
1330. gotoxy(x+37,y+2);textcolor(BLACK);cprintf(" ");
1331.
1332. gotoxy(x+37,y+2);textcolor(YELLOW);
1333.
1334. KR=LayKeyBanPhim(KRIGHT);
1335.
1336. HienThiKiTu(KRIGHT,KR);
1337.
1338. }
1339.
1340. if(ClickButton(OK,xmouse,ymouse))
1341.
1342. {
1343.
1344. EffectClick(OK);
1345.
1346. _setcursortype(0);
1347.
1348. break;
1349.
1350. }
1351.
1352. if(ClickButton(DEFAULT,xmouse,ymouse))
1353.
1354. {
1355.
1356. EffectClick(DEFAULT);
1357.
1358. _setcursortype(0);
1359.
1360. KLEFT=75;KRIGHT=77;KUP=72;KDOWN=80;
1361.
1362. KL=0,KR=0,KU=0,KD=0;
1363.
1364. break;
1365.
1366. }
1367.
1368. if(ClickButton(CANCEL,xmouse,ymouse))
1369.
1370. {
1371.
1372. EffectClick(CANCEL);
1373.
1374. _setcursortype(0);
1375.
1376. KLEFT=tempLEFT;KRIGHT=tempRIGHT;KUP=tempUP;KDOWN=tempDOWN;
1377.
1378. KL=templ,KR=tempr,KU=tempu,KD=tempd;
1379.
1380. break;
1381.
1382. }
1383.
1384. _setcursortype(0);
1385.
1386. }while(1);
1387.
1388. gotoxy(x-10,y-1);clreol();
1389.
1390. gotoxy(x,y);clreol();
1391.
1392. gotoxy(x,y+2);clreol();
1393.
1394. gotoxy(x,y+4);clreol();
1395.
1396. gotoxy(x-1,y+5);clreol();
1397.
1398. }
1399.
1400. void MenuAbout()
1401.
1402. {
1403.
1404. unsigned char lbutton,rbutton;
1405.
1406. int i,j,xmouse,ymouse;
1407.
1408. char c;
1409.
1410. char tenodia[2];
1411.
1412. char tenfile[10];
1413.
1414. MOUSE_THERE=1;
1415.
1416. Button BACK;
1417.
1418. VarButton(BACK,"BACK TO MAIN MENU",6,48);
1419.
1420. _setcursortype(0);
1421.
1422. //=======phan do hoa giao dien========================
1423.
1424. for(i=5;i<=75;i++)
1425.
1426. {
1427.
1428. if(i==5)
1429.
1430. {
1431.
1432. gotoxy(i,41);textcolor(WHITE);cprintf("%c",201);
1433.
1434. gotoxy(i,49);textcolor(WHITE);cprintf("%c",200);
1435.
1436. }
1437.
1438. if(i==75)
1439.
1440. {
1441.
1442. gotoxy(i,41);textcolor(WHITE);cprintf("%c",187);
1443.
1444. gotoxy(i,49);textcolor(WHITE);cprintf("%c",188);
1445.
1446. }
1447.
1448. if(i!=5&&i!=75)
1449.
1450. {
1451.
1452. gotoxy(i,41);textcolor(WHITE);cprintf("%c",205);
1453.
1454. gotoxy(i,49);textcolor(WHITE);cprintf("%c",205);
1455.
1456. }
1457.
1458. }
1459.
1460. gotoxy((70-strlen("Thong Tin Chuong Trinh"))/2+5,41);textcolor(YELLOW);cprintf("Thong Tin Chuong Trinh");
1461.
1462. //---------------------------------------------------------------------------------------------------------------------------
1463.
1464. textcolor(LIGHTGREEN);
1465.
1466. gotoxy(6,43);cprintf("Nguoi viet:Le Tuan Anh - Mang May Tinh");
1467.
1468. gotoxy(6,44);cprintf("DH Cong Nghe Thong Tin - DH Quoc Gia TP.HoChiMinh");
1469.
1470. gotoxy(6,45);cprintf("Email:tauit_dnmd@yahoo.com.vn");
1471.
1472. gotoxy(6,46);cprintf("Ten chuong trinh:SNACKE - Ran San Moi");
1473.
1474. gotoxy(6,47);cprintf("Chuc nang kem theo:save,load game,pause,resume game...");
1475.
1476. do
1477.
1478. {
1479.
1480. ShowButton(BACK);
1481.
1482. do
1483.
1484. {
1485.
1486. if(kbhit()) getch();
1487.
1488. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
1489.
1490. }while(lbutton==0);
1491.
1492. if(ClickButton(BACK,xmouse,ymouse))
1493.
1494. {
1495.
1496. EffectClick(BACK);
1497.
1498. break;
1499.
1500. }
1501.
1502. }while(1);
1503.
1504. gotoxy(1,41);clreol();
1505.
1506. gotoxy(1,43);clreol();
1507.
1508. gotoxy(1,44);clreol();
1509.
1510. gotoxy(1,45);clreol();
1511.
1512. gotoxy(1,46);clreol();
1513.
1514. gotoxy(1,47);clreol();
1515.
1516. gotoxy(1,48);clreol();
1517.
1518. gotoxy(1,49);clreol();
1519.
1520. }
1521.
1522. void MenuHelp()
1523.
1524. {
1525.
1526. unsigned char lbutton,rbutton;
1527.
1528. int i,j,xmouse,ymouse;
1529.
1530. MOUSE_THERE=1;
1531.
1532. Button BACK;
1533.
1534. VarButton(BACK,"BACK TO MAIN MENU",20,49);
1535.
1536. _setcursortype(0);
1537.
1538. //=======phan do hoa giao dien========================
1539.
1540. for(i=5;i<=75;i++)
1541.
1542. {
1543.
1544. if(i==5)
1545.
1546. {
1547.
1548. gotoxy(i,41);textcolor(WHITE);cprintf("%c",201);
1549.
1550. gotoxy(i,50);textcolor(WHITE);cprintf("%c",200);
1551.
1552. }
1553.
1554. if(i==75)
1555.
1556. {
1557.
1558. gotoxy(i,41);textcolor(WHITE);cprintf("%c",187);
1559.
1560. gotoxy(i,50);textcolor(WHITE);cprintf("%c",188);
1561.
1562. }
1563.
1564. if(i!=5&&i!=75)
1565.
1566. {
1567.
1568. gotoxy(i,41);textcolor(WHITE);cprintf("%c",205);
1569.
1570. gotoxy(i,50);textcolor(WHITE);cprintf("%c",205);
1571.
1572. }
1573.
1574. }
1575.
1576. gotoxy((70-strlen("Tro Giup Cach Choi"))/2+5,41);textcolor(YELLOW);cprintf("Tro Giup Cach Choi");
1577.
1578. //---------------------------------------------------------------------------------------------------------------------------
1579.
1580. textcolor(LIGHTGREEN);
1581.
1582. gotoxy(6,43);cprintf("Su dung 4 phim:%c %c %c %c de di chuyen con ran.Ban co the chinh",24,25,26,27);
1583.
1584. gotoxy(6,44);cprintf("lai phim khac neu ban muon.Trong luc choi game F1 de pause game lai ");
1585.
1586. gotoxy(6,45);cprintf("Tren thanh Menu co 1 so tinh nang nhu:save,load,control,resume...");
1587.
1588. gotoxy(6,46);cprintf("Nhan Resume de tiep tuc choi game.");
1589.
1590. gotoxy(6,47);cprintf("Game co tat ca 7 cap do choi.Hihi.Chuc vui ve nha.");
1591.
1592. do
1593.
1594. {
1595.
1596. ShowButton(BACK);
1597.
1598. do
1599.
1600. {
1601.
1602. if(kbhit()) getch();
1603.
1604. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
1605.
1606. }while(lbutton==0);
1607.
1608. if(ClickButton(BACK,xmouse,ymouse))
1609.
1610. {
1611.
1612. EffectClick(BACK);
1613.
1614. break;
1615.
1616. }
1617.
1618. }while(1);
1619.
1620. gotoxy(1,41);clreol();
1621.
1622. gotoxy(1,43);clreol();
1623.
1624. gotoxy(1,44);clreol();
1625.
1626. gotoxy(1,45);clreol();
1627.
1628. gotoxy(1,46);clreol();
1629.
1630. gotoxy(1,47);clreol();
1631.
1632. gotoxy(1,48);clreol();
1633.
1634. gotoxy(1,49);clreol();
1635.
1636. gotoxy(1,50);clreol();
1637.
1638. }
1639.
1640. void ShowMessenger(int x,int y,int loai)
1641.
1642. {
1643.
1644. switch(loai)
1645.
1646. {
1647.
1648. case 1:
1649.
1650. textcolor(LIGHTGREEN);
1651.
1652. gotoxy(x+3,y);cprintf("Û Û ÛßßßÛ Û Û Û Û Û Û Û");
1653.
1654. gotoxy(x+3,y+1);cprintf(" ßÜß º º º º ºÜßܺ º ºßÜ º");
1655.
1656. gotoxy(x+3,y+2);cprintf(" Û ÛÜÜÜÛ ÛÜÜÜÛ Ûß ßÛ Û Û ßÛ");
1657.
1658. break;
1659.
1660. case 0:
1661.
1662. textcolor(LIGHTGREEN);
1663.
1664. gotoxy(x,y);cprintf("Û Û ÛßßßÛ Û Û Û ÛßßßÛ ÛßßßÛ Ûßß");
1665.
1666. gotoxy(x,y+1);cprintf(" ßÜß º º º º º º º ÈÍÍÍ» ̀Í");
1667.
1668. gotoxy(x,y+2);cprintf(" Û ÛÜÜÜÛ ÛÜÜÜÛ ÛÜÜ ÛÜÜÜÛ ÛÜÜÜÛ ÛÜÜ");
1669.
1670. break;
1671.
1672. }
1673.
1674. }
1675.
1676. void HideMessenger(int x,int y)
1677.
1678. {
1679.
1680. textcolor(BLACK);
1681.
1682. gotoxy(x,y);clreol();
1683.
1684. gotoxy(x,y+1);clreol();
1685.
1686. gotoxy(x,y+2);clreol();
1687.
1688. }
1689.
1690. int MenuWinLose(int x,int y,int loai)
1691.
1692. {
1693.
1694. unsigned char lbutton,rbutton;
1695.
1696. int xmouse,ymouse;
1697.
1698. Button AGAIN,EXIT;
1699.
1700. VarButton(AGAIN,"[PLAY AGAIN]",x+8,y+5);
1701.
1702. VarButton(EXIT,"[EXIT GAME]",x+5+18,y+5);
1703.
1704. MOUSE_THERE=1;
1705.
1706. ShowMessenger(x,y,loai);
1707.
1708. do
1709.
1710. {
1711.
1712. ShowButton(AGAIN);
1713.
1714. ShowButton(EXIT);
1715.
1716. do
1717.
1718. {
1719.
1720. if(kbhit()) getch();
1721.
1722. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
1723.
1724. }while(lbutton==0);
1725.
1726. if(ClickButton(AGAIN,xmouse,ymouse))
1727.
1728. {
1729.
1730. EffectClick(AGAIN);
1731.
1732. XoaConRan();
1733.
1734. if(SNACK[head].y==TOP||SNACK[head].y==BOTTOM){
1735.
1736. gotoxy(SNACK[head].x,SNACK[head].y);textcolor(7);cprintf("%c",205);}
1737.
1738. if(SNACK[head].x==LEFT||SNACK[head].x==RIGHT){
1739.
1740. gotoxy(SNACK[head].x,SNACK[head].y);textcolor(7);cprintf("%c",186);
1741.
1742. }
1743.
1744. gotoxy(ThucAn.x,ThucAn.y);cprintf(" ");
1745.
1746. ResetGame();
1747.
1748. VeThucAn();
1749.
1750. HideMessenger(x,y);
1751.
1752. gotoxy(1,y+5);clreol();
1753.
1754. return 1;
1755.
1756. }
1757.
1758. if(ClickButton(EXIT,xmouse,ymouse))
1759.
1760. {
1761.
1762. EffectClick(EXIT);
1763.
1764. HideMessenger(x,y);
1765.
1766. gotoxy(1,y+5);clreol();
1767.
1768. return 0;
1769.
1770. }
1771.
1772. }while(1);
1773.
1774. }
1775.
1776. void ThuTucChucNangGame()
1777.
1778. {
1779.
1780. unsigned char lbut,rbut;
1781.
1782. int xm,ym;
1783.
1784. int xmouse,ymouse;
1785.
1786. Button RESUME,SAVE,LOAD,CONTROL,HELP,ABOUT,EXIT;
1787.
1788. VarButton(SAVE,"[SAVE]",21,38);
1789.
1790. VarButton(LOAD,"[LOAD]",28,38);
1791.
1792. VarButton(CONTROL,"[CONTROL]",35,38);
1793.
1794. VarButton(HELP,"[HELP]",45,38);
1795.
1796. VarButton(ABOUT,"[ABOUT]",52,38);
1797.
1798. VarButton(RESUME,"[RESUME]",60,38);
1799.
1800. VarButton(EXIT,"[EXIT]",69,38);
1801.
1802. int i=0;
1803.
1804. do
1805.
1806. {
1807.
1808. gotoxy(1,50);clreol();
1809.
1810. gotoxy((80-strlen("[RESUME] De Tiep Tuc Choi Game."))/2,50);textcolor(BLUE);cprintf("[RESUME] De Tiep Tuc Choi Game.");
1811.
1812. ShowButton(SAVE);
1813.
1814. ShowButton(LOAD);
1815.
1816. ShowButton(CONTROL);
1817.
1818. ShowButton(HELP);
1819.
1820. ShowButton(ABOUT);
1821.
1822. ShowButton(RESUME);
1823.
1824. ShowButton(EXIT);
1825.
1826. MOUSE_THERE=1;
1827.
1828. do
1829.
1830. {
1831.
1832. if(kbhit()) getch();
1833.
1834. get_mouse_button(&lbut,&rbut,&xmouse,&ymouse);
1835.
1836. }while(lbut==0);
1837.
1838. xm=xmouse;
1839.
1840. ym=ymouse;
1841.
1842. if(ClickButton(RESUME,xm,ym))
1843.
1844. {
1845.
1846. EffectClick(RESUME);
1847.
1848. break;
1849.
1850. }
1851.
1852. if(ClickButton(SAVE,xm,ym))
1853.
1854. {
1855.
1856. EffectClick(SAVE);
1857.
1858. MenuSaveGame(25,42);
1859.
1860. }
1861.
1862. if(ClickButton(LOAD,xm,ym))
1863.
1864. {
1865.
1866. EffectClick(LOAD);
1867.
1868. MenuLoadGame(25,42);
1869.
1870. }
1871.
1872. if(ClickButton(CONTROL,xm,ym))
1873.
1874. {
1875.
1876. EffectClick(CONTROL);
1877.
1878. MenuControl(15,42);
1879.
1880. }
1881.
1882. if(ClickButton(HELP,xm,ym))
1883.
1884. {
1885.
1886. EffectClick(HELP);
1887.
1888. MenuHelp();
1889.
1890. }
1891.
1892. if(ClickButton(ABOUT,xm,ym))
1893.
1894. {
1895.
1896. EffectClick(ABOUT);
1897.
1898. MenuAbout();
1899.
1900. }
1901.
1902. if(ClickButton(EXIT,xm,ym))
1903.
1904. {
1905.
1906. EffectClick(EXIT);
1907.
1908. KetThucGame=1;
1909.
1910. break;
1911.
1912. }
1913.
1914. }while(1);
1915.
1916. DisableButton(SAVE);
1917.
1918. DisableButton(LOAD);
1919.
1920. DisableButton(CONTROL);
1921.
1922. DisableButton(HELP);
1923.
1924. DisableButton(ABOUT);
1925.
1926. DisableButton(RESUME);
1927.
1928. DisableButton(EXIT);
1929.
1930. }
1931.
1932. void KhoiDongGame(int x,int y)
1933.
1934. {
1935.
1936. unsigned char lbutton,rbutton;
1937.
1938. int xmouse,ymouse;
1939.
1940. Button START;
1941.
1942. VarButton(START,"[ START GAME ]",x,y);
1943.
1944. ShowButton(START);
1945.
1946. MOUSE_THERE=1;
1947.
1948. do
1949.
1950. {
1951.
1952. do
1953.
1954. {
1955.
1956. if(kbhit()) getch();
1957.
1958. get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
1959.
1960. }while(lbutton==0);
1961.
1962. if(ClickButton(START,xmouse,ymouse))
1963.
1964. {
1965.
1966. EffectClick(START);
1967.
1968. break;
1969.
1970. }
1971.
1972. }while(1);
1973.
1974. gotoxy(x,y);textcolor(BLACK);cprintf(" ");
1975.
1976. }
1977.
1978. void main()
1979.
1980. {
1981.
1982. char key;
1983.
1984. int TrangThaiKey=1;
1985.
1986. clrscr();
1987.
1988. textmode(C4350);
1989.
1990. _setcursortype(0);
1991.
1992. HienThiLoGo(25,2,15);
1993.
1994. VeBanDo();
1995.
1996. ResetGame();
1997.
1998. BangBaoLevel(level,score,speed);
1999.
2000. KhoiDongGame(30,20);
2001.
2002. VeThucAn();
2003.
2004. VeConRan();
2005.
2006. do
2007.
2008. {
2009.
2010. gotoxy(1,50);clreol();
2011.
2012. gotoxy((80-strlen("F1 De Pause Game Va Hien Thi Menu Chuc Nang Game"))/2,50);textcolor(BLUE);cprintf("F1 De Pause Game Va Hien Thi Menu Chuc Nang Game");
2013.
2014. XoaConRan();
2015.
2016. if(kbhit())
2017.
2018. {
2019.
2020.
2021.
2022. key=toupper(getch());
2023.
2024. if(key==0)
2025.
2026. {
2027.
2028. key=getch();
2029.
2030. TrangThaiKey=0;
2031.
2032. }
2033.
2034. else TrangThaiKey=1;
2035.
2036. if(key==KLEFT&&TrangThaiKey==KL&&HuongDi!=2) HuongDi=4;
2037.
2038. if(key==KRIGHT&&TrangThaiKey==KR&&HuongDi!=4) HuongDi=2;
2039.
2040. if(key==KUP&&TrangThaiKey==KU&&HuongDi!=3) HuongDi=1;
2041.
2042. if(key==KDOWN&&TrangThaiKey==KD&&HuongDi!=1) HuongDi=3;
2043.
2044. if(key==PAUSE&&TrangThaiKey==P)
2045.
2046. {
2047.
2048. ThuTucChucNangGame();
2049.
2050. if(KetThucGame==1) break;
2051.
2052. }
2053.
2054. }
2055.
2056. DieuChinhToaDoConRan();
2057.
2058. switch(HuongDi)
2059.
2060. {
2061.
2062.
2063.
2064. case 4:GanToaDo(SNACK[head],--SNACK[head].x,SNACK[head].y);break;
2065.
2066. case 2:GanToaDo(SNACK[head],++SNACK[head].x,SNACK[head].y);break;
2067.
2068. case 1:GanToaDo(SNACK[head],SNACK[head].x,--SNACK[head].y);break;
2069.
2070. case 3:GanToaDo(SNACK[head],SNACK[head].x,++SNACK[head].y);break;
2071.
2072. }
2073.
2074. VeConRan();
2075.
2076. if(ThucAn.x==SNACK[head].x&&ThucAn.y==SNACK[head].y)
2077.
2078. {
2079.
2080. AnThucAn();VeThucAn();BangBaoLevel(level,score,speed);
2081.
2082. if(level==10)
2083.
2084. {
2085.
2086. if(MenuWinLose(20,42,1)==0) break;
2087.
2088. }
2089.
2090. }
2091.
2092. if(KiemTraRanDie()==1)
2093.
2094. {
2095.
2096. if(MenuWinLose(20,42,0)==0) break;
2097.
2098. }
2099.
2100. delay(speed);
2101.
2102. }while(1);
2103.
2104. }
2105.
2106.
2107.
2108. </len;i++)></len;i++)></bottom&&kiemtrarandungthanran()==0)></right&&snack[head].y></len-1)></len;i++)></bottom)></right)></ctype.h></stdlib.h></dos.h></ctype.h></stdlib.h></string.h></conio.h></stdio.h>