刷新不带系统的控制台值(“cls”);
我试图用C语言编写Snake,但目前我刚刚编写了一个可变长度和宽度的矩阵。因为我想让游戏(所以地图)不断刷新,所以我试着用这种方式编写代码,但是“刷新效果”不太好。我能做什么刷新不带系统的控制台值(“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
#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的空间和空白空间。