| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1309 人关注过本帖
标题:求解c语言关于getch 和getchar
只看楼主 加入收藏
小学一班
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-6-9
结帖率:0
收藏
 问题点数:0 回复次数:1 
求解c语言关于getch 和getchar
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
int i,j;
void xianshiditu(int ditu[10][12]);        //申明界面函数
void yanse(int b);                         //颜色函数
int main ()
{
    char input;
    int fenshu=0;  //定义分数变量 用来判断游戏结束
    int ditu[10][12]={
        {2,2,2,2,2,1,1,1,1,1,2,2},
        {1,1,1,1,2,1,0,0,0,1,1,2},
        {1,0,0,1,1,1,0,1,0,0,1,2},
        {1,0,4,3,3,3,3,3,1,0,1,1},
        {1,0,0,1,1,3,3,3,4,0,0,1},
        {1,0,0,0,0,4,1,1,4,1,0,1},
        {1,0,4,1,4,0,0,0,4,0,0,1},
        {1,1,0,6,0,1,1,1,4,1,0,1},
        {2,1,1,1,1,1,2,1,0,0,0,1},
        {2,2,2,2,2,2,2,1,1,1,1,1}
    };
    while(1)
    {
        system("cls");
        printf("c语言推箱子游戏\n");
        xianshiditu(ditu);
        printf("当前分数为:%d \n",fenshu);
        for(i=0;i<10;i++)
        {
         for(j=0;j<12;j++)
         {
             if (ditu[i][j]==6||ditu[i][j]==9)
                 break;
         }
          if (ditu[i][j]==6||ditu[i][j]==9)
                 break;
        }
        printf("你当前位置 (%d,%d)\n");
        input=getch();  //用来控制人移动,不用回车
        switch (input)
        {
        case 'w':                                      //上移
            if (ditu[i-1][j]==0&&ditu[i-1][j]==3)
            {
                ditu[i-1][j]=+6;
                ditu[i][j]=-6;
                break;
            }
            if (ditu[i-1][j]==4||(ditu[i-2][j]==0&&ditu[i-1][j]==3))
            {
            }
            break;
        }
    }

    return 0;
};

    void xianshiditu(int ditu[10][12])
    {
        for(i=0;i<10;i++)
        {
        for(j=0;j<12;j++)
        {
            switch (ditu[i][j])
            {
            case 0:
                printf("  "); break;  //
            case 1:yanse(12);
                printf(""); break;  //
            case 2: printf("  "); break;  //界面外部空地
            case 3: yanse(11);
                printf(""); break;  //目的地
            case 4: yanse(9);
                printf(""); break;  //箱子
            case 6: yanse(13);
                printf(""); break;  //
            case 7: yanse(10);
                printf("");break;  //箱子与目的地重合
            case 9: yanse(18);
                printf(""); break;  //人在目的地
           
            }
        }
        printf("\n");
        }
    }
                             
    void yanse(int b)                  //颜色函数
    {
        HANDLE hConsole=GetStdHandle((STD_OUTPUT_HANDLE));
        SetConsoleTextAttribute(hConsole,b);
    }



错误    1    error C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.    e:\vc2012\测试\测试\测试.c    44
为什么getch不能用但是换getchar就行
搜索更多相关主题的帖子: c语言 
2016-08-13 23:37
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
编译器的问题。提醒你将getch改成_getch.
2016-08-14 08:29
快速回复:求解c语言关于getch 和getchar
数据加载中...
 
   



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

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