标题:帮帮看贪吃蛇遇到的问题
只看楼主
沓炅
Rank: 2
等 级:论坛游民
帖 子:22
专家分:63
注 册:2017-8-13
结帖率:100%
已结贴  问题点数:20 回复次数:3 
帮帮看贪吃蛇遇到的问题

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define snake_length 3//定义蛇身的长度为3

 char   map[20][20];//定义地图的大小

 void initial_snake()//初始蛇的位置
 {
     srand((unsigned int)time(NULL));
     int i = rand() % 19,j = rand() % 19;
     
     printf("■", map[i][j]);
 }

void initial_map()//设计初始地图
{
    for (int i = 0; i < 20; i++)
    {
        for (int j = 0; j < 20; j++)
        {
            if (i == 0 || i == 19)
                printf("■", map[i][j]);
            else if (j == 0||j==19)
                printf("■", map[i][j]);
            else printf("  ", map[i][j]);
        }
        printf("\n");
    }
}


int main()
{
    initial_map();//初始地图
    initial_snake();
    getchar();
    return 0;
}

为什么最后“■”不是那地图里呢?
搜索更多相关主题的帖子: map 地图 初始 int printf 
2017-08-20 21:51
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:10 
int i = rand() % 19,j = rand() % 19;
这一句改成这样试试:
i=(int)(20.0*rand()/(RAND_MAX+1.0));
j=(int)(20.0*rand()/(RAND_MAX+1.0));

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2017-08-21 08:39
沓炅
Rank: 2
等 级:论坛游民
帖 子:22
专家分:63
注 册:2017-8-13
得分:0 

依然不行
2017-08-21 14:59
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:10 
最后一个是蛇,因为蛇的位置是最后一个输出,所以会在后面,若想要定位在地图里,得用定位函数gotoxy(i,j)

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2017-08-21 21:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480177-1-1.html




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

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