Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: Source Code Game Rắn săn mồi

  1. #1
    Ngày gia nhập
    10 2009
    Nơi ở
    Close All
    Bài viết
    993

    Mặc định Source Code Game Rắn săn mồi

    Thể theo yêu cầu Mod langman.Hôm nay share cho anh em cái source code game code từ hồi năm nhất (mới đc renew giao diện DOS)
    -Anh em coi chơi nha:
    -Code này cũng ngắn ah.Chỉ tại code phần giao diện nên nó mói dài ra thêm thôi ( bản thân không ưa thằng graphics.h nên tự tay code cả giao diện luôn)
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<ctype.h>
    #include<dos.h>
    #include<stdlib.h>
    #include<ctype.h>
    #include"mouse.inc"
    #define LEFT 5
    #define RIGHT 75
    #define TOP 6
    #define BOTTOM 36
    #define M_LEFT 1
    #define M_RIGHT 2
    #define M_UP 3
    #define M_DOWN 4
    int KetThucGame=0;
    typedef struct 
    {
        
    int x,y;
    }
    Point;
    char KLEFT=75,KRIGHT=77,KUP=72,KDOWN=80,PAUSE=59;
    int  KL=0,KR=0,KU=0,KD=0,P=0;
    Point SNACK[100];
    Point ThucAn;
    int len;
    int head,tail;
    int score=0;
    int level=1;
    int speed=300;
    int DiemTangLevel=10;
    int HuongDi=2;
    typedef struct
    {
        
    int xbutton;
        
    int ybutton;
        
    char *name;
        
    int statusbutton;
    }
    Button;
    void VarButton(Button &B,char *s,int x,int y)
    {
        
    B.xbutton=x;
        
    B.ybutton=y;
        
    B.statusbutton=1;
        
    B.name=s;
    }
    void ShowButton(Button B)
    {
       if(
    B.statusbutton==1)
       {
        
    textbackground(15);
        
    gotoxy(B.xbutton,B.ybutton);textcolor(LIGHTRED);cprintf("%s",B.name);
        
    textbackground(BLACK);
        }
    }
    void EnableButton(ButtonB)
    {
        
    B.statusbutton=1;
    }
    void DisableButton(ButtonB)
    {
        
    textbackground(15);
        
    gotoxy(B.xbutton,B.ybutton);textcolor(LIGHTGRAY);cprintf("%s",B.name);
        
    B.statusbutton=0;
        
    textbackground(BLACK);
    }
    int ClickButton(Button B,int xchuot,int ychuot)
    {
        if(
    B.statusbutton==1)
        {
            if(
    xchuot>=(B.xbutton-1)*8&&xchuot<=(B.xbutton+strlen(B.name)-1-1)*8&&ychuot==(B.ybutton-1)*8)
            return 
    1;
        }
        return 
    0;
    }
    void EffectClick(Button B)
    {
        
    gotoxy(B.xbutton,B.ybutton);textcolor(LIGHTCYAN+BLINK);cprintf("%s",B.name);
        
    delay(200);
        
    ShowButton(B);
    }
    void EffectClickNonButton(int x,int y)
    {
        
    gotoxy(x,y);textbackground(WHITE);textcolor(WHITE);cprintf(".");
        
    textbackground(BLACK);
        
    delay(200);
    }
    void GanToaDo(Point &P,int xx,int yy)
    {
        
    P.x=xx;
        
    P.y=yy;
    }
    void HienThiLoGo(int x,int y,int color)
    {
          
    gotoxy(x,y);textcolor(color);cprintf("ÛßßßßÛ Û   Û ÛßßÛ Ûßßß Û Üß Ûßßß");
         
    gotoxy(x,y+1);textcolor(LIGHTRED);cprintf("ÈÍÍÍÍ» ºßÜ º ̀Í͹ Û    ºÛ   ̀Í");
        
    gotoxy(x,y+2);textcolor(color);cprintf("ÛÜÜÜÜÛ Û  ßÛ Û  Û ÛÜÜÜ Û ßÜ ÛÜÜÜ");
    }
    void VeBanDo()
    {
        
    int i,j;
        for(
    i=LEFT;i<=RIGHT;i++)
        for(
    j=TOP;j<=BOTTOM;j++)
        {
            if((
    j==TOP||j==BOTTOM)&&i>LEFT&&i<RIGHT)
            {
                
    gotoxy(i,j);textcolor(7);cprintf("%c",205);
            }
            if((
    i==LEFT||i==RIGHT)&&j>TOP&&j<BOTTOM)
            {
                
    gotoxy(i,j);textcolor(7);cprintf("%c",186);
            }    
        }
        
    gotoxy(LEFT,TOP);textcolor(LIGHTRED);cprintf("%c",219);
        
    gotoxy(RIGHT,TOP);textcolor(LIGHTRED);cprintf("%c",219);
        
    gotoxy(LEFT,BOTTOM);textcolor(LIGHTRED);cprintf("%c",219);
        
    gotoxy(RIGHT,BOTTOM);textcolor(LIGHTRED);cprintf("%c",219);
    }
    void KhoiTaoConRan()
    {
        
    len=2;
        
    head=0;
        
    tail=len-1;
        
    GanToaDo(SNACK[tail],LEFT+1,TOP+1);
        
    GanToaDo(SNACK[head],LEFT+2,TOP+1);
        
    }
    int KiemTraThuocThanConRan(Point P)
    {
        
    int i;
        
    i=1;
        for(
    i=1;i<=tail;i++)
        {
            if(
    P.x==SNACK[i].x&&P.y==SNACK[i].y)
            {
                return 
    1;break;
            }
        }
        return 
    0;
    }
    void TaoThucAn()//tao thuc an va ve thuc an ra man hinh
    {
        
    ThucAn=SNACK[head];
        
    randomize();
        while(
    KiemTraThuocThanConRan(ThucAn)==1||(ThucAn.x==SNACK[head].x&&ThucAn.y==SNACK[head].y))
        {
            
    GanToaDo(ThucAn,LEFT+1+random(RIGHT-1-LEFT-2),TOP+1+random(BOTTOM-1-TOP-2));
        }
    }
    void VeThucAn()
    {
        
    gotoxy(ThucAn.x,ThucAn.y);textcolor(LIGHTRED);cprintf("%c",3);
    }
    void XoaThucAn()
    {
        
    gotoxy(ThucAn.x,ThucAn.y);textcolor(BLACK);cprintf(" ");
    }
    void VeConRan()
    {
        
    int i;
        for(
    i=head;i<=tail;i++)
        {
            if(
    i==head)
            {
                
    gotoxy(SNACK[i].x,SNACK[i].y);textcolor(LIGHTRED);cprintf("@");
            }
            else
            {
                
    gotoxy(SNACK[i].x,SNACK[i].y);
                if(
    i%2==0textcolor(15);
                if(
    i%2!=0textcolor(LIGHTBLUE);
                
    cprintf("%c",254);
                
            }
        }
    }
    void XoaConRan()
    {
        
    int i;
        for(
    i=head;i<=tail;i++)
        {
            
    gotoxy(SNACK[i].x,SNACK[i].y);textcolor(BLACK);cprintf(" ");
        }
    }
    int KiemTraRanDungThanRan()
    {
        
    int i;
        for(
    i=1;i<len;i++)
        {
            if(
    SNACK[0].x==SNACK[i].x&&SNACK[0].y==SNACK[i].y) break;
        }
        if(
    i<len-1) return 1;
        else return 
    0;
    }
    int KiemTraRanDie()
    {
        if(
    SNACK[head].x>LEFT&&SNACK[head].x<RIGHT&&SNACK[head].y>TOP&&SNACK[head].y<BOTTOM&&KiemTraRanDungThanRan()==0) return 0;//khong chet
        
    else return 1;//chet ngum cu toi.
    }
    void DieuChinhToaDoConRan()
    {
        
    int i;
        for(
    i=len-1;i>0;i--)
        {
            
    SNACK[i]=SNACK[i-1];
        }
    }
    void SetLevelScore()
    {
        
    score++;
        if(
    score>=DiemTangLevel&&level<10)
        {
            
    level++;
            
    DiemTangLevel+=10;
            if(
    level<7)  speed-=50;
            if(
    level==7speed-=15;
            if(
    level==8speed-=10;
            if(
    level==9speed-=15;
        }
    }
    void BangBaoLevel(int x,int y,int z)
    {
        
    gotoxy(1,38);textcolor(GREEN); cprintf("LEVEL: %3d",x);
        
    gotoxy(1,39);textcolor(GREEN); cprintf("SCORE: %3d",y);
        
    gotoxy(1,40);textcolor(GREEN);cprintf("SPEED: %3d",z);
    }
    void AnThucAn()
    {
        
    Point temp;
        
    GanToaDo(temp,SNACK[tail].x-1,SNACK[tail].y);
        
    len++;
        
    tail=len-1;
        
    SNACK[tail]=temp;
        
    SetLevelScore();
        
    TaoThucAn();
    }
    void ResetGame()
    {
        
    KhoiTaoConRan();
        
    TaoThucAn();
        
    score=0;
        
    level=1;
        
    DiemTangLevel=10;
        
    HuongDi=2;
        
    speed=300;
    }
    //============CAC CHUC NANG CAP CAO CHO GAME.
    int LayKeyBanPhim(char &c)
    {
            do
            {
                
    c=toupper(getch());
                if(
    c==0)
                {
                    
    c=getch();
                    if(
    c==75||c==77||c==72||c==80)
                    {
                        return 
    0;
                        break;
                    }
                }
                else
                {
                    if((
    c>=65&&c<=90)||c==32||c==13)
                    {
                     return 
    1;
                     break;
                    }
                }
            }while(
    1);
    }
    void HienThiKiTu(char c)
    {
           switch(
    c)
           {
              case 
    32:cprintf("SPACE");break;
              case 
    13:cprintf("ENTER");break;
              case 
    72:cprintf("KEYUP");break;
              case 
    80:cprintf("KEYDOWN");break;
              case 
    75:cprintf("KEYLEFT");break;
              case 
    77:cprintf("KEYRIGHT");break;
              default:
    cprintf("%c",c);
           }
    }
    int Save(charlink)//luu trang thai con ran va thong tin game vao file co duong dan link (bao gom ten)
    {
        
    FILEfile=fopen(link,"w+b");
        if(
    file!=NULL)
        {
            
    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.
            
    for(int i=0;i<len;i++)
            {
                
    fprintf(file,"%d %d ",SNACK[i].x,SNACK[i].y);
            }
            
    fclose(file);
            return 
    1;
        }
        return 
    0;
    }
    int Load(charlink)
    {
        
    int i,ii;
        
    FILEfile=fopen(link,"r+b");
        if(
    file==NULL){ fclose(file);return 0;}//khong luu dc.
        
    else
        {
            
    XoaConRan();
            
    XoaThucAn();
             
    //luu giu cac bien trang thai.
            
    fscanf(file,"%d%d%d%d%d%d%d%d",&level,&score,&speed,&HuongDi,&DiemTangLevel,&ThucAn.x,&ThucAn.y,&len);
            for(
    i=0;i<len;i++)
            {
                
    fscanf(file,"%d%d",&SNACK[i].x,&SNACK[i].y);
            }
            
    head=0;
            
    tail=len-1;
            
    fclose(file);
            return 
    1;
        }
    }
    void MenuSaveGame(int x,int y)
    {
        
    unsigned char lbutton,rbutton;
        
    int xmouse,ymouse;
        
    char c;
        
    char tenodia[2];
        
    char tenfile[6];
        
    int i,j;
        
    _setcursortype(0);
        
    MOUSE_THERE=1;
        
    Button ODIA,SAVENAME,CANCEL,OK;
        
    VarButton(ODIA,"O Dia:",x,y);
        
    VarButton(SAVENAME,"SaveName:",x,y+2);
        
    VarButton(OK,"[OK]",x+25,y+3);
        
    VarButton(CANCEL,"[CANCLE]",x+30,y+3);
        
    //=======phan do hoa giao dien========================
        
    for(i=x-1;i<=x+38;i++)
        {
          if(
    i==x-1)
          {
              
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",201);
              
    gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",200);
          }
          if(
    i==x+38)
          {
              
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",187);
              
    gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",188);
          }
          if(
    i!=(x-1)&&i!=(x+38))
          {
               
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",205);
               
    gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",205);
           }
        }
            
    gotoxy((39-strlen("Save Game Menu"))/2+x-1,y-1);textcolor(YELLOW);cprintf("Save Game Menu");
        
    //---------------------------------------------------------------------------------------------------------------------------
        
    do
        {
             
    ShowButton(ODIA);
             
    ShowButton(SAVENAME);
             
    ShowButton(OK);
             
    ShowButton(CANCEL);
            do
            {
                 if(
    kbhit()) getch();
                 
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
            if(
    ClickButton(ODIA,xmouse,ymouse))
            {
               
    _setcursortype(1);
               
    EffectClick(ODIA);
               do{ 
                  
    c=toupper(getch());
               }while(
    c<=65&&c>=90);
               
    tenodia[0]=c;tenodia[1]=NULL;
               
    gotoxy(x+6,y);textcolor(YELLOW);cprintf("%s",tenodia);
               
    _setcursortype(0);
            }
            if(
    ClickButton(SAVENAME,xmouse,ymouse))
            {
               
    _setcursortype(1);
               
    EffectClick(SAVENAME);
               
    gotoxy(x+9,y+2);textcolor(15);
               
    i=-1;
               
    int DaGoXong=0;
               do
               {
                    do
                    {
                        
    c=toupper(getch());
                        
    j=1;
                        if((
    c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1)||((c==13||c==8)&&j==1)) break;
                    }while(
    1);
                    if(((
    c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1))&&i<1//go ki tu abcdef.....w..z
                    
    {
                       
    tenfile[++i]=c;
                       
    gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",tenfile[i]);
                    }
                    if(
    c==8&&j==1&&i!=-1)
                    {
                       
    gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",32);gotoxy(x+9+i,y+2);
                       
    tenfile[i]=NULL;
                       --
    i;
                    }
                    if(
    c==13&&j==1&&i>=0)
                    {
                       
    tenfile[++i]=NULL;
                       
    DaGoXong=1;
                    }
               }while(
    DaGoXong==0);
               
    gotoxy(x+9,y+2);textcolor(YELLOW);cprintf("%s",tenfile);
               
    _setcursortype(0);
            }
            if(
    ClickButton(OK,xmouse,ymouse))
            {
               
    EffectClick(OK);
               
    chars1="";
               
    chars="";
               
    s1=strcat((char*)tenodia,":\\");
               
    s=strcat(s1,tenfile);
               
    s=strcat(s,".RTA");
               
    gotoxy(1,50);clreol();
               if(
    Save(s)==1)
               {
                 
    gotoxy((80-strlen("Save Thanh Cong"))/2,50);textcolor(BLUE);cprintf("Save Thanh Cong");
               }
               else
               {
                   
    gotoxy((80-strlen("Save That Bai"))/2,50);textcolor(BLUE);cprintf("Save That Bai");
               }
               
    delay(500);
               break;
            }
            if(
    ClickButton(CANCEL,xmouse,ymouse))
            {
                
    EffectClick(CANCEL);
                break;
            }
        }while(
    1);
        
    gotoxy(x-1,y-1);clreol();
        
    gotoxy(x,y);clreol();
        
    gotoxy(x,y+2);clreol();
        
    gotoxy(x,y+3);clreol();
        
    gotoxy(x-1,y+4);clreol();
        
    gotoxy(1,50);clreol();
    }
    void MenuLoadGame(int x,int y)
    {
        
    unsigned char lbutton,rbutton;
        
    int i,j,xmouse,ymouse;
        
    char c;
        
    char tenodia[2];
        
    char tenfile[6];
        
    _setcursortype(0);
        
    MOUSE_THERE=1;
        
    Button ODIA,SAVENAME,CANCEL,OK;
        
    VarButton(ODIA,"O Dia:",x,y);
        
    VarButton(SAVENAME,"SaveName:",x,y+2);
        
    VarButton(OK,"[OK]",x+20,y+3);
        
    VarButton(CANCEL,"[CANCLE]",x+27,y+3);
        
    //=======phan do hoa giao dien========================
        
    for(i=x-1;i<=x+35;i++)
        {
          if(
    i==x-1)
          {
              
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",201);
              
    gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",200);
          }
          if(
    i==x+35)
          {
              
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",187);
              
    gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",188);
          }
          if(
    i!=(x-1)&&i!=(x+35))
          {
               
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",205);
               
    gotoxy(i,y+4);textcolor(WHITE);cprintf("%c",205);
           }
        }
        
    gotoxy((36-strlen("Load Game Menu"))/2+x-1,y-1);textcolor(YELLOW);cprintf("Load Game Menu");
        
    //---------------------------------------------------------------------------------------------------------------------------
        
    do
        {
             
    ShowButton(ODIA);
             
    ShowButton(SAVENAME);
             
    ShowButton(OK);
             
    ShowButton(CANCEL);
            do
            {
                 if(
    kbhit()) getch();
                 
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
            if(
    ClickButton(ODIA,xmouse,ymouse))
            {
               
    _setcursortype(1);
               
    EffectClick(ODIA);
               do{
                   
    c=toupper(getch());
               }while(
    c<=65&&c>=90);
               
    tenodia[0]=c;tenodia[1]=NULL;
               
    gotoxy(x+6,y);textcolor(YELLOW);cprintf("%s",tenodia);
               
    _setcursortype(0);
            }
            if(
    ClickButton(SAVENAME,xmouse,ymouse))
            {
               
    _setcursortype(1);
               
    EffectClick(SAVENAME);
               
    gotoxy(x+9,y+2);textcolor(LIGHTBLUE);
               
    i=-1;
               
    int DaGoXong=0;
               do
               {
                    do
                    {
                        
    c=toupper(getch());
                        if(
    c==0){ c=getch();j=0;}
                        else 
    j=1;
                        if((
    c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1)||((c==13||c==8)&&j==1)) break;
                    }while(
    1);
                    if(((
    c>=65&&c<=90&&j==1)||(c>=48&&c<=57&&j==1))&&i<1//go ki tu abcdef.....w..z
                    
    {
                       
    tenfile[++i]=c;
                       
    gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",tenfile[i]);
                    }
                    if(
    c==8&&j==1&&i>=0)
                    {
                       
    gotoxy(x+9+i,y+2);textcolor(15);cprintf("%c",32);gotoxy(x+9+i,y+2);
                       
    tenfile[i]=NULL;
                       
    i=i-1;
                    }
                    if(
    c==13&&j==1&&i>=0)
                    {
                       
    tenfile[++i]=NULL;
                       
    DaGoXong=1;
                    }
               }while(
    DaGoXong==0);
               
    gotoxy(x+9,y+2);textcolor(YELLOW);cprintf("%s",tenfile);
               
    _setcursortype(0);
            }
            if(
    ClickButton(OK,xmouse,ymouse))
            {
               
    EffectClick(OK);
               
    chars1="";
               
    chars="";
               
    s1=strcat(tenodia,":\\");
               
    s=strcat(s1,tenfile);
               
    s=strcat(s,".RTA");
               
    gotoxy(1,50);clreol();
               if(
    Load(s)==1)
               {
                 
    BangBaoLevel(level,score,speed);
                 
    VeThucAn();
                 
    gotoxy((80-strlen("Load Game Thanh Cong"))/2,50);textcolor(BLUE);cprintf("Load Game Thanh Cong");
               }
               else
               {
                   
    gotoxy((80-strlen("Load Game That Bai"))/2,50);textcolor(BLUE);cprintf("Load Game That Bai");
               }
               
    delay(500);
               break;
            }
            if(
    ClickButton(CANCEL,xmouse,ymouse))
            {
                
    EffectClick(CANCEL);
                break;
            }
        }while(
    1);
        
    gotoxy(x-1,y-1);clreol();
        
    gotoxy(x,y);clreol();
        
    gotoxy(x,y+2);clreol();
        
    gotoxy(x,y+3);clreol();
        
    gotoxy(x-1,y+4);clreol();
        
    gotoxy(1,50);clreol();
    }
    void MenuControl(int x,int y)
    {
        
    unsigned char lbutton,rbutton;
        
    int xmouse,ymouse;
        
    char tempUP=KUP,tempDOWN=KDOWN,tempLEFT=KLEFT,tempRIGHT=KRIGHT;
        
    int  tempu=KU,tempd=KD,templ=KL,tempr=KR,i;
        
    MOUSE_THERE=1;
        
    Button U,D,L,R,OK,DEFAULT,CANCEL;
        
    VarButton(U,"[  M_UP  ]",x,y);
        
    VarButton(D,"[ M_DOWN ]",x,y+2);
        
    VarButton(L,"[ M_LEFT ]",x,y+4);
        
    VarButton(R,"[M_RIGHT ]",x+25,y+2);
        
    VarButton(OK,"[SAVE ALL]",x+25,y+4);
        
    VarButton(DEFAULT,"[DEFAUTL]",x+36,y+4);
        
    VarButton(CANCEL,"[CANCEL]",x+46,y+4);
        
    //=======phan do hoa giao dien========================
        
    _setcursortype(0);
        for(
    i=x-1;i<=x+54;i++)
        {
          if(
    i==x-1)
          {
              
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",201);
              
    gotoxy(i,y+5);textcolor(WHITE);cprintf("%c",200);
          }
          if(
    i==x+54)
          {
              
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",187);
              
    gotoxy(i,y+5);textcolor(WHITE);cprintf("%c",188);
          }
          if(
    i!=(x-1)&&i!=(x+54))
          {
               
    gotoxy(i,y-1);textcolor(WHITE);cprintf("%c",205);
               
    gotoxy(i,y+5);textcolor(WHITE);cprintf("%c",205);
           }
        }
        
    gotoxy((55-strlen("Menu CONTROL"))/2+x-1,y-1);textcolor(YELLOW);cprintf("Menu Control");
        
    //---------------------------------------------------------------------------------------------------------------------------
        
    do
        {
            
    ShowButton(U);
            
    ShowButton(D);
            
    ShowButton(L);
            
    ShowButton(R);
            
    ShowButton(OK);
            
    ShowButton(DEFAULT);
            
    ShowButton(CANCEL);
            do
            {
                 if(
    kbhit()) getch(); //chan fim rac
                 
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
            if(
    ClickButton(U,xmouse,ymouse))
            {
               
    EffectClick(U);
               
    _setcursortype(1);
               
    gotoxy(x+12,y);textcolor(BLACK);cprintf("        ");
               
    gotoxy(x+12,y);textcolor(YELLOW);
               
    KU=LayKeyBanPhim(KUP);
               
    HienThiKiTu(KUP);
            }
            if(
    ClickButton(D,xmouse,ymouse))
            {
               
    EffectClick(D);
               
    _setcursortype(1);
               
    gotoxy(x+12,y+2);textcolor(BLACK);cprintf("        ");
               
    gotoxy(x+12,y+2);textcolor(YELLOW);
               
    KD=LayKeyBanPhim(KDOWN); 
               
    HienThiKiTu(KDOWN);
            }
            if(
    ClickButton(L,xmouse,ymouse))
            {
               
    EffectClick(L);
               
    _setcursortype(1);
               
    gotoxy(x+12,y+4);textcolor(BLACK);cprintf("        ");
               
    gotoxy(x+12,y+4);textcolor(YELLOW);
               
    KL=LayKeyBanPhim(KLEFT);
               
    HienThiKiTu(KLEFT);
            }
            if(
    ClickButton(R,xmouse,ymouse))
            {
               
    EffectClick(R);
               
    _setcursortype(1);
               
    gotoxy(x+37,y+2);textcolor(BLACK);cprintf("        ");
               
    gotoxy(x+37,y+2);textcolor(YELLOW);
               
    KR=LayKeyBanPhim(KRIGHT); 
               
    HienThiKiTu(KRIGHT);
            }
            if(
    ClickButton(OK,xmouse,ymouse))
            {
               
    EffectClick(OK);
               
    _setcursortype(0);    
                break;           
            }
            if(
    ClickButton(DEFAULT,xmouse,ymouse))
            {
               
    EffectClick(DEFAULT);
               
    _setcursortype(0);
               
    KLEFT=75;KRIGHT=77;KUP=72;KDOWN=80;
               
    KL=0,KR=0,KU=0,KD=0;
               break;
            }
            if(
    ClickButton(CANCEL,xmouse,ymouse))
            {
               
    EffectClick(CANCEL);
               
    _setcursortype(0);
               
    KLEFT=tempLEFT;KRIGHT=tempRIGHT;KUP=tempUP;KDOWN=tempDOWN;
               
    KL=templ,KR=tempr,KU=tempu,KD=tempd;
               break;
            }
        
    _setcursortype(0);
        }while(
    1);
        
    gotoxy(x-10,y-1);clreol();
        
    gotoxy(x,y);clreol();
        
    gotoxy(x,y+2);clreol();
        
    gotoxy(x,y+4);clreol();
        
    gotoxy(x-1,y+5);clreol();
    }
    void MenuAbout()
    {
        
    unsigned char lbutton,rbutton;
        
    int i,j,xmouse,ymouse;
        
    char c;
        
    char tenodia[2];
        
    char tenfile[10];
        
    MOUSE_THERE=1;
        
    Button BACK;
        
    VarButton(BACK,"BACK TO MAIN MENU",6,48);
        
    _setcursortype(0);
        
    //=======phan do hoa giao dien========================
        
    for(i=5;i<=75;i++)
        {
          if(
    i==5)
          {
              
    gotoxy(i,41);textcolor(WHITE);cprintf("%c",201);
              
    gotoxy(i,49);textcolor(WHITE);cprintf("%c",200);
          }
          if(
    i==75)
          {
              
    gotoxy(i,41);textcolor(WHITE);cprintf("%c",187);
              
    gotoxy(i,49);textcolor(WHITE);cprintf("%c",188);
          }
          if(
    i!=5&&i!=75)
          {
               
    gotoxy(i,41);textcolor(WHITE);cprintf("%c",205);
               
    gotoxy(i,49);textcolor(WHITE);cprintf("%c",205);
           }
        }
        
    gotoxy((70-strlen("Thong Tin Chuong Trinh"))/2+5,41);textcolor(YELLOW);cprintf("Thong Tin Chuong Trinh");
        
    //---------------------------------------------------------------------------------------------------------------------------
        
    textcolor(LIGHTGREEN);
        
    gotoxy(6,43);cprintf("Nguoi viet:Le Tuan Anh - Mang May Tinh");
        
    gotoxy(6,44);cprintf("DH Cong Nghe Thong Tin - DH Quoc Gia TP.HoChiMinh");
        
    gotoxy(6,45);cprintf("Email:tauit_dnmd@yahoo.com.vn");
        
    gotoxy(6,46);cprintf("Ten chuong trinh:SNACKE - Ran San Moi");
        
    gotoxy(6,47);cprintf("Chuc nang kem theo:save,load game,pause,resume game...");
        do
        {
             
    ShowButton(BACK);
            do
            {
                 if(
    kbhit()) getch();
                 
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
        if(
    ClickButton(BACK,xmouse,ymouse))
            {
                
    EffectClick(BACK);
                break;
            }        
        }while(
    1);
        
    gotoxy(1,41);clreol();
        
    gotoxy(1,43);clreol();
        
    gotoxy(1,44);clreol();
        
    gotoxy(1,45);clreol();
        
    gotoxy(1,46);clreol();
        
    gotoxy(1,47);clreol();
        
    gotoxy(1,48);clreol();
        
    gotoxy(1,49);clreol();
    }
    void MenuHelp()
    {
        
    unsigned char lbutton,rbutton;
        
    int i,j,xmouse,ymouse;
        
    MOUSE_THERE=1;
        
    Button BACK;
        
    VarButton(BACK,"BACK TO MAIN MENU",20,49);
        
    _setcursortype(0);
        
    //=======phan do hoa giao dien========================
        
    for(i=5;i<=75;i++)
        {
          if(
    i==5)
          {
              
    gotoxy(i,41);textcolor(WHITE);cprintf("%c",201);
              
    gotoxy(i,50);textcolor(WHITE);cprintf("%c",200);
          }
          if(
    i==75)
          {
              
    gotoxy(i,41);textcolor(WHITE);cprintf("%c",187);
              
    gotoxy(i,50);textcolor(WHITE);cprintf("%c",188);
          }
          if(
    i!=5&&i!=75)
          {
               
    gotoxy(i,41);textcolor(WHITE);cprintf("%c",205);
               
    gotoxy(i,50);textcolor(WHITE);cprintf("%c",205);
           }
        }
        
    gotoxy((70-strlen("Tro Giup Cach Choi"))/2+5,41);textcolor(YELLOW);cprintf("Tro Giup Cach Choi");
        
    //---------------------------------------------------------------------------------------------------------------------------
        
    textcolor(LIGHTGREEN);
        
    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);
        
    gotoxy(6,44);cprintf("lai phim khac neu ban muon.Trong luc choi game F1 de pause game lai ");
        
    gotoxy(6,45);cprintf("Tren thanh Menu co 1 so tinh nang nhu:save,load,control,resume...");
        
    gotoxy(6,46);cprintf("Nhan Resume de tiep tuc choi game.");
        
    gotoxy(6,47);cprintf("Game co tat ca 7 cap do choi.Hihi.Chuc vui ve nha.");
        do
        {
             
    ShowButton(BACK);
            do
            {
                 if(
    kbhit()) getch();
                 
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
        if(
    ClickButton(BACK,xmouse,ymouse))
            {
                
    EffectClick(BACK);
                break;
            }        
        }while(
    1);
        
    gotoxy(1,41);clreol();
        
    gotoxy(1,43);clreol();
        
    gotoxy(1,44);clreol();
        
    gotoxy(1,45);clreol();
        
    gotoxy(1,46);clreol();
        
    gotoxy(1,47);clreol();
        
    gotoxy(1,48);clreol();
        
    gotoxy(1,49);clreol();
        
    gotoxy(1,50);clreol();
    }
    void ShowMessenger(int x,int y,int loai)
    {
        switch(
    loai)
       {
           case 
    1:
           
    textcolor(LIGHTGREEN);
         
    gotoxy(x+3,y);cprintf("Û   Û ÛßßßÛ Û   Û   Û   Û Û Û   Û");
           
    gotoxy(x+3,y+1);cprintf(" ßÜß  º   º º   º   ºÜßܺ º ºßÜ º");
           
    gotoxy(x+3,y+2);cprintf("  Û   ÛÜÜÜÛ ÛÜÜÜÛ   Ûß ßÛ Û Û  ßÛ");
           break;
           case 
    0:
           
    textcolor(LIGHTGREEN);
         
    gotoxy(x,y);cprintf("Û   Û ÛßßßÛ Û   Û   Û   ÛßßßÛ ÛßßßÛ Ûßß");
           
    gotoxy(x,y+1);cprintf(" ßÜß  º   º º   º   º   º   º ÈÍÍÍ» ̀Í");
           
    gotoxy(x,y+2);cprintf("  Û   ÛÜÜÜÛ ÛÜÜÜÛ   ÛÜÜ ÛÜÜÜÛ ÛÜÜÜÛ ÛÜÜ");
           break;
       }
    }
    void HideMessenger(int x,int y)
    {
        
    textcolor(BLACK);
        
    gotoxy(x,y);clreol();
        
    gotoxy(x,y+1);clreol();
        
    gotoxy(x,y+2);clreol();
    }
    int MenuWinLose(int x,int y,int loai)
    {
        
    unsigned char lbutton,rbutton;
        
    int xmouse,ymouse;
        
    Button AGAIN,EXIT;
        
    VarButton(AGAIN,"[PLAY AGAIN]",x+8,y+5);
        
    VarButton(EXIT,"[EXIT GAME]",x+5+18,y+5);
        
    ShowMessenger(x,y,loai);
        do
        {
            
    ShowButton(AGAIN);
            
    ShowButton(EXIT);
            do
            {
                
    MOUSE_THERE=1;
                if(
    kbhit()) getch();
                
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
            
    MOUSE_THERE=0;
            if(
    ClickButton(AGAIN,xmouse,ymouse))
            {
                
    EffectClick(AGAIN);
                
    XoaConRan();
                if(
    SNACK[head].y==TOP||SNACK[head].y==BOTTOM){
                     
    gotoxy(SNACK[head].x,SNACK[head].y);textcolor(7);cprintf("%c",205);}
                if(
    SNACK[head].x==LEFT||SNACK[head].x==RIGHT){
                    
    gotoxy(SNACK[head].x,SNACK[head].y);textcolor(7);cprintf("%c",186);
                }
                  
    gotoxy(ThucAn.x,ThucAn.y);cprintf(" ");
                
    ResetGame();
                
    VeThucAn();
                
    HideMessenger(x,y);
                
    gotoxy(1,y+5);clreol();
                return 
    1;
            }
            if(
    ClickButton(EXIT,xmouse,ymouse))
            {
                
    EffectClick(EXIT);
                
    HideMessenger(x,y);
                
    gotoxy(1,y+5);clreol();
                return 
    0;
            }
        }while(
    1);
    }
    void ThuTucChucNangGame()
    {
        
    unsigned char lbut,rbut;
        
    int xm,ym;
        
    int xmouse,ymouse;
        
    Button RESUME,SAVE,LOAD,CONTROL,HELP,ABOUT,EXIT;
        
    VarButton(SAVE,"[SAVE]",21,38);
        
    VarButton(LOAD,"[LOAD]",28,38);
        
    VarButton(CONTROL,"[CONTROL]",35,38);
        
    VarButton(HELP,"[HELP]",45,38);
        
    VarButton(ABOUT,"[ABOUT]",52,38);
        
    VarButton(RESUME,"[RESUME]",60,38);
        
    VarButton(EXIT,"[EXIT]",69,38);
        
    int i=0;
        do
        {
            
    gotoxy(1,50);clreol();
            
    gotoxy((80-strlen("[RESUME] De Tiep Tuc Choi Game."))/2,50);textcolor(BLUE);cprintf("[RESUME] De Tiep Tuc Choi Game.");
            
    ShowButton(SAVE);
            
    ShowButton(LOAD);
            
    ShowButton(CONTROL);
            
    ShowButton(HELP);
            
    ShowButton(ABOUT);
            
    ShowButton(RESUME);
            
    ShowButton(EXIT);
            
    MOUSE_THERE=1;
            do
            {
                if(
    kbhit()) getch();
                
    get_mouse_button(&lbut,&rbut,&xmouse,&ymouse);
            }while(
    lbut==0);
            
    xm=xmouse;
            
    ym=ymouse;
            if(
    ClickButton(RESUME,xm,ym))
            {
                
    EffectClick(RESUME);
                break;
            }
            if(
    ClickButton(SAVE,xm,ym))
            {
                
    EffectClick(SAVE);
                
    MenuSaveGame(25,42);
            }
            if(
    ClickButton(LOAD,xm,ym))
            {
                
    EffectClick(LOAD);
                
    MenuLoadGame(25,42);
            }
            if(
    ClickButton(CONTROL,xm,ym))
            {
                
    EffectClick(CONTROL);
                
    MenuControl(15,42);
            }
            if(
    ClickButton(HELP,xm,ym))
            {
                
    EffectClick(HELP);
                
    MenuHelp();
            }
            if(
    ClickButton(ABOUT,xm,ym))
            {
                
    EffectClick(ABOUT);
                
    MenuAbout();
            }
            if(
    ClickButton(EXIT,xm,ym))
            {
                
    EffectClick(EXIT);
                
    KetThucGame=1;
                break;
            }
        }while(
    1);
        
    DisableButton(SAVE);
        
    DisableButton(LOAD);
        
    DisableButton(CONTROL);
        
    DisableButton(HELP);
        
    DisableButton(ABOUT);
        
    DisableButton(RESUME);
        
    DisableButton(EXIT);
    }
    void KhoiDongGame(int x,int y)
    {
        
    unsigned char lbutton,rbutton;
        
    int xmouse,ymouse;
        
    Button START;
        
    VarButton(START,"[ START GAME ]",x,y);
        
    ShowButton(START);
        
    MOUSE_THERE=1;
        do
        {
            do
            {
                if(
    kbhit()) getch();
                
    get_mouse_button(&lbutton,&rbutton,&xmouse,&ymouse);
            }while(
    lbutton==0);
            if(
    ClickButton(START,xmouse,ymouse))
            {
                
    EffectClick(START);
                break;
            }
        }while(
    1);
        
    gotoxy(x,y);textcolor(BLACK);cprintf("              ");
    }
    void main()
    {
        
    char key;
        
    int TrangThaiKey=1;
        
    clrscr();
        
    textmode(C4350);
        
    _setcursortype(0);
        
    HienThiLoGo(25,2,15);
        
    VeBanDo();
        
    ResetGame();
        
    BangBaoLevel(level,score,speed);
        
    KhoiDongGame(30,20);
        
    VeThucAn();
        
    VeConRan();
        do
        {
             
    gotoxy(1,50);clreol();
             
    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");
             
    XoaConRan();
             if(
    kbhit())
             {
                 
                
    key=toupper(getch());
                if(
    key==0)
                {
                    
    key=getch(); 
                   
    TrangThaiKey=0;
                }
                else 
    TrangThaiKey=1;
                if(
    key==KLEFT&&TrangThaiKey==KL&&HuongDi!=2)  HuongDi=4;
                if(
    key==KRIGHT&&TrangThaiKey==KR&&HuongDi!=4HuongDi=2;
                if(
    key==KUP&&TrangThaiKey==KU&&HuongDi!=3)    HuongDi=1;
                if(
    key==KDOWN&&TrangThaiKey==KD&&HuongDi!=1)  HuongDi=3;
                if(
    key==PAUSE&&TrangThaiKey==P)
                {
                    
    ThuTucChucNangGame(); 
                    if(
    KetThucGame==1) break;
                }
             }
             
    DieuChinhToaDoConRan();
             switch(
    HuongDi)
             {
                 
                case 
    4:GanToaDo(SNACK[head],--SNACK[head].x,SNACK[head].y);break;
                case 
    2:GanToaDo(SNACK[head],++SNACK[head].x,SNACK[head].y);break;
                case 
    1:GanToaDo(SNACK[head],SNACK[head].x,--SNACK[head].y);break;
                case 
    3:GanToaDo(SNACK[head],SNACK[head].x,++SNACK[head].y);break;
             } 
             
    VeConRan();
             if(
    ThucAn.x==SNACK[head].x&&ThucAn.y==SNACK[head].y)
             {
                 
    AnThucAn();VeThucAn();BangBaoLevel(level,score,speed);
                 if(
    level==10)
                 {
                     if(
    MenuWinLose(20,42,1)==0) break;
                 }
             }
             if(
    KiemTraRanDie()==1)
             {
                if(
    MenuWinLose(20,42,0)==0) break;
             }
             
    delay(speed);
        }while(
    1);

    Attached Files Attached Files
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi peterdrew : 28-08-2010 lúc 08:31 AM. Lý do: Sửa "Ran san moi" thành "Rắn săn mồi" (Do ko có dấu)

  2. #2
    Ngày gia nhập
    05 2010
    Bài viết
    1

    Bạn ơi cho mình hỏi là sao mình bị lỗi này vậy ?
    Cannot open include file: 'mouse.inc' ?? làm sao để fix lỗi này vậy ?? file mouse.inc ở đâu ra vậy bạn ?

  3. #3
    Ngày gia nhập
    10 2009
    Nơi ở
    Close All
    Bài viết
    993

    Trích dẫn Nguyên bản được gửi bởi someone Xem bài viết
    Bạn ơi cho mình hỏi là sao mình bị lỗi này vậy ?
    Cannot open include file: 'mouse.inc' ?? làm sao để fix lỗi này vậy ?? file mouse.inc ở đâu ra vậy bạn ?
    À,sory bạn ,tại mình có xài thêm thư viện ngoài mà quên không up lên cho bạn.
    -Mình up file mouse.inc rồi đó.:
    Attached Files Attached Files

  4. #4
    Ngày gia nhập
    05 2010
    Bài viết
    1

    có file mouse.inc rồi làm sao nữa hả bạn
    thanks

  5. #5
    Ngày gia nhập
    10 2009
    Nơi ở
    Close All
    Bài viết
    993

    Trích dẫn Nguyên bản được gửi bởi xuancuongspk Xem bài viết
    có file mouse.inc rồi làm sao nữa hả bạn
    thanks
    thì bỏ nó cùng thư mục với file source code và biên dịch thôi

  6. #6
    Ngày gia nhập
    08 2010
    Bài viết
    3

    Mặc định Source Code Game Rắn săn mồi

    Chà chà, vấn đề thế này, em dùng C-free để biên dịch thì không ổn . Có bác nào dùng cái này rồi thì chỉ cho em biết với ạ.

  7. #7
    Ngày gia nhập
    10 2009
    Nơi ở
    Close All
    Bài viết
    993

    Trích dẫn Nguyên bản được gửi bởi cauvaido1610 Xem bài viết
    Chà chà, vấn đề thế này, em dùng C-free để biên dịch thì không ổn . Có bác nào dùng cái này rồi thì chỉ cho em biết với ạ.
    lấy BC31,TC mà biên dịch

  8. #8
    Ngày gia nhập
    05 2011
    Nơi ở
    Đi về nơi xa lắm
    Bài viết
    39

    Cái này em dùng TC 3.0 run sao chỉ load được cái màn hình chính lên, còn lại là không làm được gì, chuơng trình treo luôn là sao nhỉ ?
    "Chẳng cần ai,không cần ai
    Tiền sẽ mua cho ta niềm vui."
    Yahoo and Skype :misterphantuan_ceoit

  9. #9
    Ngày gia nhập
    11 2012
    Nơi ở
    Thành Phố Thây Ma
    Bài viết
    22

    turbo 3.0 làm sao biên dịch đồ họa được == xài borland ấy

  10. #10
    Ngày gia nhập
    12 2011
    Bài viết
    1

    Mặc định tuyệt

    bạn giỏi quá. mình học năm 2 rồi nhưng giờ bảo code cái này thì chịu.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Lập trình C Code Game rắn săn mồi trên ngôn ngữ C
    Gửi bởi ductrikt94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 12
    Bài viết cuối: 13-08-2013, 04:28 PM
  2. Cần Xin Source Code C# Game đánh cờ gánh
    Gửi bởi logitechhcm trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 16-06-2012, 12:41 PM
  3. Code Game Rắn Săn Mồi trong C. Mong nhận được góp ý
    Gửi bởi bibibi trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 4
    Bài viết cuối: 19-03-2012, 11:16 PM
  4. Code Game Rắn Săn mồi trên C#
    Gửi bởi kendy92 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 06-04-2010, 10:32 AM
  5. code C# game rắn săn mồi
    Gửi bởi pine8xproit trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 07-10-2009, 01:47 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn