| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 690 人关注过本帖
标题:贪吃蛇怎么不对?
只看楼主 加入收藏
呵呵、
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-7-1
结帖率:100%
收藏
 问题点数:0 回复次数:6 
贪吃蛇怎么不对?
#include<stdio.h>
#include<string.h>
#include<process.h>
#include<conio.h>
#define SIZEMAX   100  /*长度*/
#define SNAKELEN  10   /*移动距离*/
#define SPEED     100  /*初始速度*/
typedef enum
{
    left,right,up,donw
}DIR;
typedef struct
{
    int x;
    int y;
}COOR;
struct FOOD
{
    COOR crd;
    int flag;
}food;
struct SNAKE
{
    COOR crd[SIZEMAX];
    int node;
    DIR dir;
}snake;
int speed=SPEED;

/*主函数*/
void main()
{
    init();
    while(1){
        while(!kbhit())   {
            if(!food.flag)   setfoodcrd();
            showfood();
            judgerlod();
            judgesef();
            snakemove();
            Sleep(speed);
        }
        changeskdir();
    }
}
void init()
{
    initgraph(640,480);
    srand(time(NULL));
    food.flag=0;
    snake.crd[0].x=0+SNAKELEN;
    snake.crd[0].y=0;
    snake.crd[1].x=0;
    snake.crd[1].y=0;
    snake.node=2;
    snake.dir=right;    /*默认向右*/
}
/*随机生成食物*/
void setfoodcrd()
{
    food.crd.x=rand()%(600/SNAKELEN)*SNAKELEN;
    food.crd.y=rand()%(480/SNAKELEN)*SNAKELEN;
    food.flag=1;
}
/*画食物*/
void showfood()
{
    rectangle(food.crd.x,food.crd.y,food.crd.x+SNAKELEN,food.crd.y+SNAKELEN);
}
/*蛇*/
void showsnake()
{
    int i;
    for(i=snake.node-1;i>=0;i--)
        rectangle(snake.crd[i].x,snake.crd[i].y,snake.crd[i].x+SNAKELEN,snake.crd[i].y+SNAKELEN);
    setcolor(BLACK);
    rectangle(snake.crd[snake.node].x,snake.crd[snake.node].y,snake.crd[snake.node].x+SNAKELEN,snake.crd[snake.node].y+SNAKELEN);
    setcolor(WHITE);
    rectangle(snake.crd[snake.node-1].x,snake.crd[snake.node-1].y,snake.crd[snake.node-1].x+SNAKELEN,snake.crd[snake.node-1].y+SNAKELEN);
}
/*移动*/
void snakemove()
{
    int i,for(i=snake.crd;i>0;i--)
    {
        snake.crd[i].x=snake.crd[i-1].x;
        snake.crd[i].y=snake.crd[i-1].y;
    }
    switch(snake.dir)
    {
    case up:snake.crd[0].y-=SNAKELEN;break;
    case donw:snake.crd[0].y+=SNAKELEN;break;
    case left:snake.crd[0].x-=SNAKELEN;break;
    case right:snake.crd[0].x+=SNAKELEN;
    }showsnake;
}
/*改变方向*/
void changeskdir()
{
    char key;
    key=getch();
    switch(key)
    {
    case'w':    case'W':    if(snake.dir!=donw)snake.dir=up;break;
    case's':    case'S':    if(snake.dir!=up)snake.dir=donw;break;
    case'a':    case'A':    if(snake.dir!=right)snake.dir=left;break;
    case'd':    case'D':    if(snake.dir!=left)snake.dir=right;break;
    }
}
/*Game Over*/
void judgeslod()
{
    int i;
    if(snake.crd[0].x<0||snake.crd[0].x>=640||snake.crd[0].y<0||snake.crd[0].y>=480)
        gameover();
    for(i=snake.node-1;i>0;i--)
        if(snake.crd[0].x==snake.crd[i].x&&snake.crd[0].y==snake.crd[i].y)
            gameover();
}
/*吃到食物*/
void judgefood()
{
    if(snake.crd[0].x==food.crd.x&&snake.crd[0].y==food.crd.y)
    {
        snake.node++;        setcolor(BLACK);
        rectangle(food.crd.x,food.crd.y,food.crd.x+SNAKELEN,food.crd.y+SNAKELEN);
        setcolor(WHITE);    food.flag=0;
    }
}
搜索更多相关主题的帖子: include 贪吃蛇 speed 
2014-07-03 15:02
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
哪儿抄的代码?少头文件呗,呵呵

梦想拥有一台龙芯3A-4000
2014-07-03 16:43
呵呵、
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-7-1
收藏
得分:0 
那应该怎么改?
2014-07-05 08:33
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
程序能写到这个水平,可但是然而仿佛却不知道怎么改,不匹配呀……

梦想拥有一台龙芯3A-4000
2014-07-05 13:15
红手指
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2014-7-6
收藏
得分:0 
只可意会不可言传  楼主慢慢摸索吧
2014-07-06 15:45
xiaozi2013
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:四川成都
等 级:蒙面侠
威 望:6
帖 子:830
专家分:4331
注 册:2013-12-13
收藏
得分:0 
甭改了

  链接:
       https://down.bccn.net/6662.html

  可供参考...不是残废code

--整天敲那些破代码能找着媳妇儿吗。。。---
2014-07-06 19:53
孤独一生
Rank: 2
来 自:四川达县
等 级:论坛游民
帖 子:45
专家分:55
注 册:2013-4-1
收藏
得分:0 
马化腾说过:抄袭是在懂的情况下去抄袭别人的成果,这样可以学到别人的思路和方法,你都不懂你去抄袭别人的代码有意思吗
2014-07-06 20:23
快速回复:贪吃蛇怎么不对?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014631 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved