| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 404 人关注过本帖
标题:这个怎么弄得啊?不理解为什么。。。
只看楼主 加入收藏
小夏雨
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-10-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
这个怎么弄得啊?不理解为什么。。。
程序代码:
void keyjiance()          //按键检测函数定义
{
    char key;               //好像两个函数衔接不上。。。我的按键不起作用。。它只按我最初设定的方向走。。
    if(_kbhit())
{
        key = getch();
        switch(key)
        {
            case 'w' : headir -> direction == 'w';break;
            case 's' : headir -> direction == 's';break;
            case 'd' : headir -> direction == 'd';break;
            case 'a' : headir -> direction == 'a';break;
            default :  break;
        }
    }
}
void snake_move()                    //蛇身移动函数定义
{
    p = head;
    if(headir -> direction == 'w')
    {
        if(food -> x == head -> x && food -> y == head -> y)
        {
            gotoxy(food -> x,food -> y);
            printf(" ");
            creat_node(head -> x,head -> y -1);    //添加结点
            creat_food();                          //产生食物
        }
        else
        {
            creat_node(head -> x,head -> y -1);
            shanchu_tail();                        //删除尾结点
        }
    }
    if(headir -> direction == 's')
    {
         if(food -> x == head -> x && food -> y == head -> y)
        {
            gotoxy(food -> x,food -> y);
            printf(" ");
            creat_node(head -> x,head -> y + 1);
            creat_food();
        }
        else
        {
            creat_node(head -> x,head -> y + 1);
            shanchu_tail();
        }
    }
     if(headir -> direction == 'd')
    {
         if(food -> x == head -> x && food -> y == head -> y)
         {
            gotoxy(food -> x,food -> y);
            printf(" ");
            creat_node(head -> x + 1,head -> y);
            creat_food();
        }
        else
        {
            creat_node(head -> x + 1,head -> y);
            shanchu_tail();
        }
    }
     if(headir -> direction == 'a')
    {
         if(food -> x == head -> x && food -> y == head -> y)
        {
            gotoxy(food -> x,food -> y);
            printf(" ");
            creat_node(head -> x -1,head -> y);
            creat_food();
        }
        else
        {
            creat_node(head -> x - 1,head -> y);
            shanchu_tail();
        }
    }
}
2015-10-12 18:48
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:7 
看看你的 switch


莫问前尘有愧,但求今生无悔
2015-10-13 08:12
ztory
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:62
注 册:2015-10-12
收藏
得分:7 
switch();
只能对int类型的整数使用,不能对其他用
可以用if (key = 'w') else if
2015-10-13 13:25
voiceshen
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2015-9-8
收藏
得分:7 
            case 'w' : headir -> direction == 'w';break;
            case 's' : headir -> direction == 's';break;
            case 'd' : headir -> direction == 'd';break;
            case 'a' : headir -> direction == 'a';break;

"==" 改成 “=”
2015-10-13 14:41
快速回复:这个怎么弄得啊?不理解为什么。。。
数据加载中...
 
   



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

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