Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
刷新不带系统的控制台值(“cls”);_C_Console_Refresh - Fatal编程技术网

刷新不带系统的控制台值(“cls”);

刷新不带系统的控制台值(“cls”);,c,console,refresh,C,Console,Refresh,我试图用C语言编写Snake,但目前我刚刚编写了一个可变长度和宽度的矩阵。因为我想让游戏(所以地图)不断刷新,所以我试着用这种方式编写代码,但是“刷新效果”不太好。我能做什么 #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <time.h> int main() { int larghezza = 0

我试图用C语言编写Snake,但目前我刚刚编写了一个可变长度和宽度的矩阵。因为我想让游戏(所以地图)不断刷新,所以我试着用这种方式编写代码,但是“刷新效果”不太好。我能做什么

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

int main()
{
    int larghezza = 0, altezza = 0, i = 0, j = 0, **griglia;

    printf("Inserire la larghezza della mappa(max 79):");
    while(scanf("%d", &larghezza) == 1) /* Inserimento larghezza */
    {
        if(larghezza >= 15 && larghezza <= 79)
        {
            break;
        }
        else
        {
            printf("Numero di larghezza non valido.\n");
            continue;
        }
    }

    printf("Inserire l'altezza della matrice:");
    while(scanf("%d", &altezza) == 1) /* Inserimento altezza */
    {
        if(altezza >= 15 && altezza <= 79)
        {
            break;
        }
        else
        {
            printf("Numero di altezza non valido.\n");
            continue;
        }
    }

    griglia = malloc(altezza * sizeof(int*));  /* griglia si estende solo in larghezza */
    for(i = 0; i < altezza; i++)
    {
        griglia[i] = malloc(larghezza * sizeof(int)); /* poi ogni elemento "i" di griglia */
    }                                               /*avrà una lunghezza pari ad "altezza" */

    for(i = 0; i < altezza; i++) /* Inizializza la matrice griglia */
    {
        for(j = 0; j < larghezza; j++)
        {
            griglia[i][j]= 254;
        }
    }

    while(1) /* refresh infinito mappa */
    {
        for(i = 0; i < altezza; i++)
        {
            for(j = 0; j < larghezza; j++)
            {
                printf("%c", griglia[i][j]);
            } /* end for colonne */
            printf("\n");
        } /*end for righe */
        Sleep(100);
        system("cls");
    }/* end while di refresh */
#包括
#包括
#包括
#包括
#包括
int main()
{
int-larghezza=0,altezza=0,i=0,j=0,**格里利亚;
printf(“地图插图(最大79):”;
而(scanf(“%d”,&larghezza)==1)/*插入larghezza*/
{

如果(larghezza>=15&&larghezza=15&&altezza您可以清除蛇所在的最后位置

我只需要清除蛇末尾的最后一个字符。这样,刷新问题将停止,您只需控制蛇的大小和位置(您无论如何都需要这样做)

干杯


LEslie

我需要哪些工具来做这些?因为我是C编程新手,我只知道循环、向量和其他一些小东西。Granpasso,你需要一个库来为你绘制它。你可以尝试一下ncurses。CheesPerhaps,
conio.h
中的
gotoxy
对这种情况也有帮助。如果是这样,请离开
ncurses
对于未来:-)只更新“使用”snake的空间和空白空间。