您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“C語言如何實現飛機大戰”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C語言如何實現飛機大戰”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
具體代碼如下
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<Windows.h> int score = 0; int plane_col, plane_row;//·é?ú???? int bullet_col,bullet_row;//×óμˉμ????? int area_height, area_width;//ó??·??óò 0-n-1 int enemy_col, enemy_row; int enemy_vh, enemy_vv; int a[100][100] = { 0 }; void gotoxy(int x, int y) {//?¢D? HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle, pos); } void HideCursor() { CONSOLE_CURSOR_INFO cursor_info = { 1,0 }; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } void startup()//3?ê??ˉ { area_height = 20; area_width = 30; plane_col = 14; plane_row = 10; bullet_col = 0; bullet_row = -1; enemy_col = rand() % area_width; enemy_row = 0; enemy_vh = 0; enemy_vv = 1; } //int[][] planeArray() { // // a[plane_col][plane_row] = 1; // for (int i = plane_col - 2; i < plane_col + 2; i++) // a[i][plane_row + 1] = 1; // a[plane_col - 1][plane_row + 2] = 1; a[plane_col + 1][plane_row + 2] = 1; // // return a; //} void show()//?e??×?·?é¨?è2¢′òó? { gotoxy(0, 0); int i, j; //??ê? //system("cls"); for (i = 0; i < area_height; i++)//DD±éàú { for (j = 0; j < area_width; j++)//áD±éàú { if (i == plane_row && j == plane_col) { printf("*"); } else if (i == bullet_row && j == bullet_col) printf("|"); else if (i == enemy_row && j == enemy_col) printf("@"); else printf(" "); } printf("\n"); } printf("score:%d\n",score); } void updateWithInput()//???¥£?????·é?úò??ˉ£?é??÷ { char input; //μè′yó??§μ?ê?è?£????¥ if (kbhit()) { input = getch(); switch (input) { case 'w': if(plane_row != 0) plane_row--; break; case 'a': if(plane_col != 0) plane_col--; break; case 'd': if(plane_col != area_width) plane_col++; break; case 's': if(plane_row != area_height) plane_row++; break; case ' ': if (bullet_row < 0)//?á??à???óD×óμˉ { bullet_row = plane_row - 1; bullet_col = plane_col; } break; default: break; } } } int IsCrash() { //?D???ò·?·é?úê?·?×1?ù if (enemy_col == plane_col && enemy_row == plane_row) { return 1; } return 0; } void updateWithourInput()//×óμˉò??ˉó?μDè?ò??ˉ { //?üD? bullet_row--; static int count = 0; count ++; if (count == 40) { enemy_row += enemy_vv; enemy_col += enemy_vh; count = 0; } } void crack() {//?÷?ùμDè? if(enemy_row > area_height){ bullet_row = -1; enemy_row = -1; enemy_col = rand() % area_height; } else if (bullet_col == enemy_col && bullet_row == enemy_row) { score += 10; bullet_row = -1; enemy_row = -1; enemy_col = rand() % area_height; } } int IsFinish() {//ó??·ê?·??áê? if (score == 100) { system("cls"); printf("congretulations!!!"); score = 0; _sleep(500);//?è?Yí£?ú??êμ·?o?è?D??ˉ system("pause"); return 1; } else if (IsCrash() == 1) { system("cls"); printf("you have lost!!!"); score = 0; _sleep(500); system("pause"); return 1; } return 0; } int main() { HideCursor(); startup(); while (1) { show(); updateWithInput(); updateWithourInput(); crack(); if(IsFinish()==1){ startup(); continue; } } return 0; }
讀到這里,這篇“C語言如何實現飛機大戰”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。