
代碼如下
x #include<stdio.h>#include<Windows.h>#include<conio.h>?#define MAP_WIDTH 60 //平均寬度#define MAP_HEIGHT 20 //平均高度?struct snake{ //x坐標 int x;? //y坐標 int y;? //@或者* char ch;};//結構體陣列:代表蛇struct snake g_snake[MAP_WIDTH*MAP_HEIGHT];//蛇實際的長度int g_snake_length = 5;void SetPos(int x, int y){? COORD point = { x , y }; //游標要設定的位置x,y HANDLE HOutput = GetStdHandle(STD_OUTPUT_HANDLE); //使用GetStdHandle(STD_OUTPUT_HANDLE)來獲取標準輸出的句柄 SetConsoleCursorPosition(HOutput, point); //設定游標位置}?void DrawSnake(){ int i = 0; for (i = 0; i < g_snake_length; i++) { //設定坐標到(0,0)位置 SetPos(g_snake[i].x, g_snake[i].y);? //繪制貪吃蛇**** printf("%c", g_snake[i].ch); }??}?void HideCorsor()?{? HANDLE fd = GetStdHandle(STD_OUTPUT_HANDLE);? CONSOLE_CURSOR_INFO cinfo;? cinfo.bVisible = 0;? cinfo.dwSize = 1;? if (SetConsoleCursorInfo(fd, &cinfo))? printf("執行成功\n");? else? printf("執行失敗\n");? ?}int main(){ //隱藏游標 HideCorsor(); int i, j; //[0,21) for (j = 0; j < MAP_HEIGHT + 1; j++) { if (j == MAP_HEIGHT) { //繪制一行 for (i = 0; i < MAP_WIDTH; i++) { printf("-"); } printf("\n");? } else { //繪制空行 for (i = 0; i < MAP_WIDTH; i++) { printf(" "); } printf("|"); printf("\n"); }? } g_snake_length = 5;? g_snake[0].x = 0; g_snake[0].y = 0; g_snake[0].ch = '*';? g_snake[1].x [align=center][align=left][align=left][align=left][align=center][align=right][align=left]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250299.html
標籤:C語言
