| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 752 人关注过本帖
标题:我想问一下,如果我想实现,键盘不输入的时候,小蛇按上一次输入的字符自己 ...
只看楼主 加入收藏
卜算子
Rank: 1
等 级:新手上路
帖 子:86
专家分:8
注 册:2016-9-18
结帖率:82.35%
收藏
 问题点数:0 回复次数:0 
我想问一下,如果我想实现,键盘不输入的时候,小蛇按上一次输入的字符自己运行,输入的时候,变换方向。程序如下,因为是草稿,所以没有编写头文件,有点长,也不怎么规范
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#define N 23
#define M 80
main()
{
int a[N][M];
int i, j, x, y;
char c;
    x=10;
    y=2;
    while(1)
    {
        system("cls");
        for(i = 0; i <N ; i++)
        {
            for(j = 0; j <M ; j++)
            {
                a[i][j]=0;
            }
        }
         a[x][y]=1;
         a[x][y-1]=2;
         a[x][y-2]=2;
        for(i = 0; i < N; i++)
        {
            for(j = 0; j < M; j++)

            {
                if(i==0||j==79||j==0||i==22)
                printf("-");
                else if(a[i][j]==0)
                    printf(" ");
                if(a[i][j]==1||a[i][j]==2)
                    printf("*");
            }
            printf("\n");
        }
        c=getch();
        if(c=='w')
            { if(x>0)  x=x-1;
                   else x=x+N-1;
                   if(x==0)
                   {
                       printf("游戏结束\n");
                       Sleep(1000);
                   break;}
            }
            else if(c=='a')
            {    if(y>0)
                { y=y-1;}
                else y=M-1;
                 if(y==0||y==79)
                   {
                       printf("游戏结束\n");
                       Sleep(1000);
                   break;}
            }
            else if(c=='s')
            {
                if(x<N-1)
                    x=x+1;
                else  x=0;
                 if(x==22)
                   {
                       printf("游戏结束\n");
                       Sleep(1000);
                   break;}
            }
            else if(c=='d')
            {    if(y<M-1)
                { y=y+1;}
              else y=0;
               if(y==0||y==79)
                   {
                       printf("游戏结束\n");
                       Sleep(1000);
                   break;}
                }
        if(c=='t') break;
     
       Sleep(500);
    }
}
(还没有实现蛇转弯的时候身体的变化,用链表可以很容易做到,但是我有点犟,想用数组做,慢慢来,用了很多方法,我先在c=getch()后面加了如果C!=a&&c!=w&&c!=s&&c!=d,就往头所在的行走//这里的行是因为我用二维数组区域编程坐标系来做//,但是出现问题了,无论我输入什么,他都只往前走)

[此贴子已经被作者于2016-11-16 18:36编辑过]

搜索更多相关主题的帖子: include system 键盘 
2016-11-16 18:28
快速回复:我想问一下,如果我想实现,键盘不输入的时候,小蛇按上一次输入的字符 ...
数据加载中...
 
   



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

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