²é¿´: 1650  |  »Ø¸´: 7

viking1992

гæ (³õÈëÎÄ̳)

[ÇóÖú] ´ó¶þ±à³Ì·ÏÇóÖú¸ßÊÖ½â´ðÒ»ÏÂÕâ¸ö̰³ÔÉßµÄC++³ÌÐò

¿´µ½Ò»¸ö̰³ÔÉßµÄC++³ÌÐò  ÖмäÓм¸¸öµØ·½²»¶® ÇóÖ¸½Ì£¡

#include
#include
#include
#include
#include   //ʹÓõ±Ç°Ê±¼ä×öÖÖ×Ó;
enum dir{up,down,left,right};  //ö¾ÙÀàÐÍenum dir;
//Χǽ;
class Fence{
public:
        void InitFence();
        void OutputF();
public:
        char game[20][20];
}f; //¶¨Òå¶ÔÏó;
//»­¿ò¿ò;
void Fence::InitFence(){
        for(int i=0; i<20; i++)
                for(int j=0; j<20; j++){
                        if(i==0||i==19||j==0||j==19)
                                game[j]= '*';
                        else game[j]= ' ';
        }
}
//ÏÔʾ¿ò¿ò;
void Fence::OutputF(){
        for(int i=0; i<20; i++){
                for(int j=0; j<20; j++)
                        cout<[j]<<' ';
                        cout<                 }
}

//Éß½áµã;
class SnakeNode{
private:
        int x,y;
        SnakeNode *prior,*next;
public:
        void add_head(int x,int y);
        int get_x();
        int get_y();
        void delete_tail();
}*head=NULL, *tail =NULL;
//²åÈëÍ·½áµã;
void SnakeNode::add_head(int x,int y){
        SnakeNode *q=new SnakeNode;
        q->x =x; q->y =y;
        q->next =head;         
        q->prior =NULL;
        if(head) head->prior =q;
        head =q;
        if(!tail) tail =head;
        f.game[x][y]= '*';  //f¶ÔÏó¿ÉÒÔÔÚ¶¨ÒåFenceÀàʱ¶¨Òå; ÇÒFenceÀàÔÚSnakeNodeÀàǰ¶¨Òå;
}
int SnakeNode::get_x(){
        return x;
}
int SnakeNode::get_y(){
        return y;
}
//ɾ³ýβ½áµã;
void SnakeNode::delete_tail(){
        SnakeNode *p =tail;
        f.game[tail->get_x()][tail->get_y()]= ' ';//°Ñβ½áµãµÄ×ø±ê±íʾµÄ'*'ÖÃΪ¿Õ¸ñ;
        if(tail==head)
                tail= head= NULL;
        else{
                tail= tail->prior;
                tail->next= NULL;
        }
        delete p;
}

//moveÒÆ¶¯;
class move{
public:
        dir point;    //ö¾Ù±äÁ¿point: ¿ØÖÆ·½Ïò;
        int food_x;
        int food_y;
public:
        void moving();
        void change_point(char);  //¸Ä±ä·½Ïò;
        void get_food();
};

void move::moving(){
        int a,b;
        a= head->get_x();  //È¡µÃÍ·½áµãºá×ø±ê
        b= head->get_y();  //Í·½áµã×Ý×ø±ê
        switch(point){
        case up: --a; break;
        case down: ++a; break;
        case left: --b; break;
        case right: ++b; break;
        }
        if(a==19||b==19||a==0||b==0){                                //ÅжÏÊÇ·ñײǽ;                                               
                cout<<"game over!!!"<                 exit(0);
        }
        if(a==food_x && b==food_y){                                        //³Ôfood;
                head->add_head(a,b);
                get_food();
        }
        else{
                head->add_head(a,b); //²åÈëÍ·½áµã;
                head->delete_tail(); //ɾ³ýβ½áµã;
        }
}

void move::change_point(char keydown){
        switch(keydown){
        case 'w': point= up; break;
        case 's': point= down; break;
        case 'a': point= left; break;
        case 'd': point= right; break;
        }
}
void move::get_food(){
        srand((unsigned int) time(NULL)); //×öÖÖ×Ó(³ÌÐòÔËÐÐʱ¼ä);
        food_x= rand()%18+1;
        food_y= rand()%18+1;
        f.game[food_x][food_y]= '*';
}

//main();
int main(){
        cout<<"Using 'w,s,a,d'to control direction!!!\n\n\n";
        //»­¿ò¿òºÍСÉß;
        move m;
        f.InitFence();
        head->add_head(4,3);
        head->add_head(4,4);
        head->add_head(4,5);
        m.get_food();
        f.OutputF();
        while (true){
                char keydown= getch(); //getch()·µ»Ø¼üÅÌÉ϶ÁÈ¡µÄ×Ö·û;°üº¬Í·Îļþ
                m.change_point(keydown);
                while(!kbhit()){ //ÅжÏÓÐûÓа´¼üÂäÏÂ;
                         system("cls" );  //ÇåÆÁº¯Êý               
                                 m.moving();
                        f.OutputF();
                        Sleep(200);
                }
        }
        return 0;
}
ÎÊһϺì×Ö²¿·Ö³ÌÐòµÄÉèÖÃÄ¿µÄ ÒÔ¼°ÔõôÔËÐкÍʵÏֵġ­¡­£¨¼òÒªµÄ˵ ¾ÍÊÇʲôÒâ˼= =£©
ÌØ±ðÊǽáµãÄÇÒ»¿é¡­¡­¶¯Ì¬Êý×éºÍ¸÷ÖÖÖ¸ÕëʲôµÄ ¿´×žÍÍ·´ó¡­¡­¡­¡­¡­¡­
¶àлÁË

[ Last edited by ΢³¾¡¢ÃÎÏë on 2011-8-27 at 20:06 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÓÄÈËÖñÉ£ˆ@ šwÅP¼ÅŸoÐú ÎïÇé½ñÒÑÒŠ ?Ä´ËÓûŸoÑÔ
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

viking1992

гæ (³õÈëÎÄ̳)

»°Ëµ¡­¡­ÄǸö¹îÒìµÄ³öÏÖÔÚ³ÌÐòÖмäµÄ±íÇéÕæµÄ²»¹ØÎÒµÄÊ¡­¡­
ÓÄÈËÖñÉ£ˆ@ šwÅP¼ÅŸoÐú ÎïÇé½ñÒÑÒŠ ?Ä´ËÓûŸoÑÔ
2Â¥2011-08-27 18:57:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

imyourkobe

Ìú¸Ëľ³æ (ÖøÃûдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï
viking1992(½ð±Ò+5): ËäÈ»ÒÀ¾É²»ÊǺܶ®¡­¡­²»¹ýллÁË~¶¼Ä¾ÓÐÈËÀíÎÒTUT 2011-08-28 15:00:05
ÓàÔó³É(½ð±Ò+2): лл²ÎÓëÓ¦Öú£¡ 2011-09-01 15:38:46
Êý¾Ý½á¹¹Öеġ£
1£©Ë«ÏòÁ´±í²åÈë²Ù×÷£º²åÈëµ½±íÍ·µÄ´¦Àí
q->next =head; //°Ñq¶ÔÓ¦½áµã²åÈëµ½ headλÖÃ,¼´headΪqºó¼Ì¡£      
q->prior =NULL;//q¶ÔÓ¦½áµãÊDZíÍ·ÁË£¬¶ÔÓ¦µÄprior Ó¦¸ÃΪ¿Õ¡£
if(head)
head->prior =q;//Èç¹ûÒѾ­´æÔÚÍ·½áµã£¬Òª´¦ÀíÔ­Í·½áµã£¬°ÑÆäǰÇýÉèÖÃΪq½áµã
head =q;        //q×÷ΪÐÂÍ·½áµã
2£©É¾³ý²Ù×÷ÀàËÆµÄ¡£
3Â¥2011-08-28 12:15:06
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

imyourkobe

Ìú¸Ëľ³æ (ÖøÃûдÊÖ)

¡ï
dubo(½ð±Ò+1): »¶Ó­ÌÖÂÛ 2011-09-01 19:47:31
ºÃºÃ¿´¿´Êý¾Ý½á¹¹µÄÁ´±í²Ù×÷£º²åÈëºÍɾ³ýÄÚÈݰ¡£¡
4Â¥2011-08-28 15:59:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

viking1992

гæ (³õÈëÎÄ̳)

¡ï
dubo(½ð±Ò+1): »¶Ó­ÌÖÂÛ 2011-09-01 19:47:40
ÒýÓûØÌû:
4Â¥: Originally posted by imyourkobe at 2011-08-28 15:59:56:
ºÃºÃ¿´¿´Êý¾Ý½á¹¹µÄÁ´±í²Ù×÷£º²åÈëºÍɾ³ýÄÚÈݰ¡£¡

ÎÒ¡­¡­ß€Ä¾ÓÐŒW”µ“þ½Y˜‹¡­¡­¡­¡­ÏÂŒWÆÚµÄÕn³Ì
ÓÄÈËÖñÉ£ˆ@ šwÅP¼ÅŸoÐú ÎïÇé½ñÒÑÒŠ ?Ä´ËÓûŸoÑÔ
5Â¥2011-09-01 10:09:07
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

imyourkobe

Ìú¸Ëľ³æ (ÖøÃûдÊÖ)

ÒýÓûØÌû:
5Â¥: Originally posted by viking1992 at 2011-09-01 10:09:07:
ÎÒ¡­¡­ß€Ä¾ÓÐŒW”µ“þ½Y˜‹¡­¡­¡­¡­ÏÂŒWÆÚµÄÕn³Ì

ÄÇ¿´²»¶®²»¹ÖÄã°¡¡£ÂýÂýѧϰ°É¡£
6Â¥2011-09-01 13:42:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÎÄ¿¡µãµã

ľ³æ (ÖøÃûдÊÖ)

¡ï
dubo(½ð±Ò+1): »¶Ó­ÌÖÂÛ 2011-09-01 19:47:49
Êý¾Ý½á¹¹²»ÓÃѧµÄ  ¿´¿´¾Í¿ÉÒÔÁË   ÄǸöÂß¼­Êǹ̶¨µÄ¡¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤
ÕâÊÇÄãËùÓµÓеÄʱ¼ä¡¤¡¤¡¤¡¤¡¤ÕâÊÇÄãËùÄܸıäµÄÉú»î¡¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤
7Â¥2011-09-01 18:21:02
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

viking1992

гæ (³õÈëÎÄ̳)

ÒýÓûØÌû:
7Â¥: Originally posted by ÎÄ¿¡µãµã at 2011-09-01 18:21:02:
Êý¾Ý½á¹¹²»ÓÃѧµÄ  ¿´¿´¾Í¿ÉÒÔÁË   ÄǸöÂß¼­Êǹ̶¨µÄ¡¤¡¤¡¤¡¤¡¤¡¤¡¤¡¤

·´ÕýÊDZØÐÞÕn=_,=
ÓÄÈËÖñÉ£ˆ@ šwÅP¼ÅŸoÐú ÎïÇé½ñÒÑÒŠ ?Ä´ËÓûŸoÑÔ
8Â¥2011-09-04 08:48:46
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ viking1992 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 08¹¤¿Æ 320×Ü·Ö Çóµ÷¼Á +3 À滨çóÍí·ç 2026-03-17 3/150 2026-03-17 09:04 by êÏêϵ÷¼ÁÉϰ¶
[¿¼ÑÐ] 11408 Ò»Ö¾Ô¸Î÷µç£¬277·ÖÇóµ÷¼Á +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[¿¼ÑÐ] ²ÄÁÏר˶306Ó¢Ò»Êý¶þ +4 z1z2z3879 2026-03-16 6/300 2026-03-16 19:38 by z1z2z3879
[¿¼ÑÐ] 326Çóµ÷¼Á +4 ŵ±´¶û»¯Ñ§½±êéê 2026-03-15 7/350 2026-03-16 17:11 by ŵ±´¶û»¯Ñ§½±êéê
[¿¼ÑÐ] 070303 ×Ü·Ö349Çóµ÷¼Á +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[¿¼ÑÐ] 308Çóµ÷¼Á +3 ÊÇLupa°¡ 2026-03-16 3/150 2026-03-16 10:07 by Çóµ÷¼Ázz
[¿¼ÑÐ] 326Çóµ÷¼Á +3 mlpqaz03 2026-03-15 3/150 2026-03-16 07:33 by Iveryant
[¿¼ÑÐ] »úеר˶µ÷¼Á +3 ±¿±¿ÍÃ×Ó 2026-03-12 3/150 2026-03-15 20:02 by Àõ×ÓÖà?
[¿¼ÑÐ] 26¿¼ÑÐÒ»Ö¾Ô¸ÖйúʯÓÍ´óѧ(»ª¶«)305·ÖÇóµ÷¼Á +3 ¼ÎÄêÐÂ³Ì 2026-03-15 3/150 2026-03-15 13:58 by ¹þ¹þ¹þ¹þºÙºÙºÙ
[¿¼ÑÐ] 289Çóµ÷¼Á +5 ²½´¨¿á×Ï123 2026-03-11 5/250 2026-03-15 00:45 by kruisytel
[¿¼ÑÐ] 297Çóµ÷¼Á +4 ѧº£Æ¯²´ 2026-03-13 4/200 2026-03-14 11:51 by ÈÈÇéɳĮ
[¿¼ÑÐ] ²ÄÁÏ080500µ÷¼ÁÇóÊÕÁô +3 Ò»¿Åmeteor 2026-03-13 3/150 2026-03-14 10:54 by peike
[¿¼ÑÐ] 308Çóµ÷¼Á +3 ÊÇLupa°¡ 2026-03-10 3/150 2026-03-14 00:30 by JourneyLucky
[¿¼ÑÐ] ¡¾0856¡¿»¯Ñ§¹¤³Ì£¨085602£©313 ·Ö£¬±¾¿ÆÑ§¿ÆÆÀ¹ÀAÀàԺУ»¯Ñ§¹¤³ÌÓ빤ÒÕ£¬³ÏÇóµ÷¼Á +7 СÁõ¿ì¿ìÉϰ¶ 2026-03-11 7/350 2026-03-13 16:06 by ruiyingmiao
[¿¼ÑÐ] ¹¤¿Æµ÷¼Á +4 Jiang191123£¡ 2026-03-11 4/200 2026-03-13 15:15 by Miko19
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤ 309·ÖÇëÇóµ÷¼Á +7 dtdxzxx 2026-03-12 8/400 2026-03-13 14:43 by jxchenghu
[¿¼ÑÐ] 290Çóµ÷¼Á +3 ADT 2026-03-13 3/150 2026-03-13 10:19 by peike
[¿¼ÑÐ] 270Çóµ÷¼Á 085600²ÄÁÏÓ뻯¹¤×¨Ë¶ +3 YXCT 2026-03-11 3/150 2026-03-13 10:13 by houyaoxu
[¿¼ÑÐ] 420Çóµ÷¼Á +4 ĪÏòÍâÇó11 2026-03-10 6/300 2026-03-12 14:41 by ruiyingmiao
[¿¼²©] ¶Á²©ÉêÇë +5 ¸Ðdd 2026-03-10 7/350 2026-03-11 17:02 by QGZDSYS
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û