项目: 最简单的飞机大战游戏
生活随笔
收集整理的這篇文章主要介紹了
项目: 最简单的飞机大战游戏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 一、項目描述和最終的成果展示
- 二、輸出一個飛機模型。
- 三、實現(xiàn)控制飛機移動的功能
- 四、添加發(fā)射激光功能
- 五、添加靶子和分?jǐn)?shù)統(tǒng)計功能
一、項目描述和最終的成果展示
項目描述: 顯示出一個飛機,并可以控制移動,發(fā)出激光,打靶練習(xí)。效果展示:
二、輸出一個飛機模型。
先輸出一個飛機模型。后面再進(jìn)一步完成控制飛機的功能。代碼如下:
//輸出飛機圖案 #include<stdio.h> #include<stdlib.h> #include<conio.h> int main(void) {int i,j;int x=10;int y=10;char input;//輸出飛機上面的空行for(i=0;i<x;i++){printf("\n");}//輸出飛機左邊的空格for(j=0;j<y;j++){printf(" ");}printf(" *\n");for(j=0;j<y;j++){printf(" ");}printf("*****\n");for(j=0;j<y;j++){printf(" ");}printf(" * * \n"); return 0; }效果圖如下:
三、實現(xiàn)控制飛機移動的功能
用scanf()函數(shù)來實現(xiàn)控制飛機移動的功能
代碼如下:
效果圖如下:
用getch()函數(shù)來實現(xiàn)控制飛機移動的功能
代碼如下:
效果圖如下:
四、添加發(fā)射激光功能
代碼如下:
#include<stdio.h> #include<stdlib.h> #include<conio.h> //用getch來完成飛機的移動 int main(void) {int i,j;int x=10;int y=10;char input;int isFire=0;//用來判斷是否發(fā)射while(1){if(isFire == 0){//輸出飛機上面的空行for(i=0;i<x;i++)printf("\n");}else{for(i=0;i<x;i++){for(j=0;j<y;j++)printf(" ");printf(" |\n");}isFire = 0;}//輸出飛機左邊的空格for(j=0;j<y;j++){printf(" ");}printf(" *\n");for(j=0;j<y;j++){printf(" ");}printf("*****\n");for(j=0;j<y;j++){printf(" ");}printf(" * * \n");input=getch();fflush(stdin);system("cls");if(input == 'a' || input == 'A'){y--;}if(input == 'd' || input == 'D'){y++;}if(input == 'w' || input == 'W'){x--;}if(input == 's' || input == 'S'){x++;}if( input == ' ')isFire = 1;}return 0; }效果圖如下:
五、添加靶子和分?jǐn)?shù)統(tǒng)計功能
代碼如下:
#include<stdio.h> #include<stdlib.h> #include<Windows.h> #include<time.h> #include<conio.h> //用getch來完成飛機的移動 int main(void) {int i,j;int x=10;int y=10;char input;int isFire=0;//用來判斷是否發(fā)射int score=10;int ny = 30; // 靶子的位置int isKilled = 0; //判斷是否擊中int yanshi=0; // 延時靶子的時間system("color 09");while(1){if(yanshi<66)//延時 讓靶子顯示{yanshi++;}else{srand(time(0));ny=rand()%80+5;yanshi=0;}printf("分?jǐn)?shù):%d\n",score);if(!isKilled)//沒有擊中靶子,繼續(xù)顯示靶子{for(j=0;j<ny;j++){printf(" ");}printf("▼\n");}else//說明擊中靶子,刷新靶子{yanshi=66;isKilled=0;}if(isFire == 0){//輸出飛機上面的空行for(i=0;i<x;i++)printf("\n");}else//開火{for(i=0;i<x;i++){for(j=0;j<y;j++)printf(" ");printf(" |\n");}isFire = 0;}//輸出飛機左邊的空格for(j=0;j<y;j++){printf(" ");}printf(" *\n");for(j=0;j<y;j++){printf(" ");}printf("*****\n");for(j=0;j<y;j++){printf(" ");}printf(" * * \n");input=getch();fflush(stdin);system("cls");if(input == 'a' || input == 'A'){y--;}if(input == 'd' || input == 'D'){y++;}if(input == 'w' || input == 'W'){x--;}if(input == 's' || input == 'S'){x++;}if( input == ' ')isFire = 1;if( (ny==y+2) && (input==' ') )//判斷是否擊中靶子{isKilled=1;score=score+5;//分?jǐn)?shù)增加}}return 0; }效果圖如下:
總結(jié)
以上是生活随笔為你收集整理的项目: 最简单的飞机大战游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目:弹跳的小球
- 下一篇: 项目: 用封装的方法实现飞机大战游戏