源**
#define _crt_secure_no_warnings
#pragma warning(disable:4996)
#include#include#include#include#include#include#define high 20
#define wide 60
int speed = 0; //定義乙個全域性變數控制小蛇蛇的速度
char name[100] = "遊客選手"; //使用者名稱
void snake_menu()
void register()
void draw_map()
else
} if (i == 5)
if (i == 6)
if (i == 7)
if (i == 8)
if (i == 9)
if (i == 10)
if (i == 11)
printf("\n"); }}
typedef struct body
body;
typedef struct snake
snake;
void init_food(snake *snake) //食物初始化
void init_snake(snake *snake)
//移動游標
void test()
//隱藏游標
void hide_cur()
//4.列印蛇和食物
void show_ui(snake *snake)
else
}//顯示食物
//把食物的座標給游標
snake->coord.x = snake->food.x;
snake->coord.y = snake->food.y;
setconsolecursorposition(getstdhandle(std_output_handle), snake->coord);
printf("$");
//將原來的蛇尾列印為空。
snake->coord.x = snake->tail.x;
snake->coord.y = snake->tail.y;
setconsolecursorposition(getstdhandle(std_output_handle), snake->coord);
printf(" ");
}//移動蛇
void move_snake(snake *snake)
//更新蛇頭的位置
snake->list[0].x += snake->dx;
snake->list[0].y += snake->dy;
}void eat_food(snake * snake)
}char key2 = 0; //儲存上乙個按鍵值,通過兩次按鍵比較防止小蛇可以反身撞擊自己
void control_snake(snake * snake)
else
break;
case 's':
case 's':
case '2':
case 80:
if (key2 == 'w' || key2 == 'w' || key2 == 72||key2=='8')
else
break;
case 'a':
case 'a':
case '4':
case 75:
if (key2 == 'd' || key2 == 'd' || key2 == 77||key2=='6')
else
break;
case 'd':
case 'd':
case '6':
case 77:
if (key2 == 'a' || key2 == 'a' || key2 == 75||key2=='4')
else
break;
case 32:
pos.x = wide/2-10;
pos.y = high/2;
//設定游標的位置
setconsolecursorposition(getstdhandle(std_output_handle), pos);
printf("遊戲暫停!任意鍵繼續!\n");
_getch();
system("cls");
draw_map();
break;
default:
break;
} } }
//遊戲結束
void game_over(snake * snake)
//蛇是否碰到自己
void snake_eat_body(snake *snake) }}
void currentscoreanduser(snake* snake)
//5.遊戲業務邏輯
void start_game(snake *snake)
system("cls");
game_over(snake);
}int main(void)
draw_map();
//2.申請蛇的結構體空間
snake *snake = (snake *)malloc(sizeof(snake));
start_game(snake);
printf("\n");
system("pause");
return 0;
}
結果展示
vs2017實現乙個簡單計算器
工程 初學vs,如有出錯請多指正。部分 於網路,其中 大多重複,自行搜尋與體會 1.工程命名 2.基於對話方塊類,這跟工具集的呼叫也有關聯,3.工具箱的灰名,消失,參考csdn的解決 4.mfc中未定義識別符號的解決,在resource.h把函式定義 5 類新增函式,會有無法識別該函式的警告,可重啟...
用vs2017寫貪吃蛇小遊戲
編譯環境是vs2017 include include include include define high 15 遊戲畫面尺寸 define width 35 define enemynum 5 敵機個數 全域性變數 int fond x,fond y 食物 2 int movedirectio...
VS2017開發C語言出現「no init
當你的編譯器出現這種錯誤時,只需要在winnt.h標頭檔案中 即可消除錯誤提示 補充一點 這一 塊是微軟工程師用於在舊版本的vs中消除該錯誤提示的預編譯頭 雖然微軟的工程師們宣稱他們在最新的vs2019tkuzu中已經修復了該程式設計客棧錯誤,但是仍有很多程式設計客棧人受到程式設計客棧了該錯誤的困擾...