<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了C語言實現簡單飛機大戰遊戲的具體程式碼,供大家參考,具體內容如下
專案描述: 顯示出一個飛機,並可以控制移動,發出鐳射,打靶練習。
效果展示:
先輸出一個飛機模型。後面再進一步完成控制飛機的功能。
程式碼如下:
//輸出飛機圖案 #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; }
效果圖如下:
用scanf()函數來實現控制飛機移動的功能
程式碼如下:
#include<stdio.h> #include<stdlib.h> //用scanf來完成飛機的移動 int main(void) { int i,j; int x=5; int y=10; char input; while(1) { system("cls"); //輸出飛機上面的空行 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"); scanf("%c",&input); if(input == 'a' || input == 'A') { y--; } if(input == 'd' || input == 'D') { y++; } if(input == 'w' || input == 'W') { x--; } if(input == 's' || input == 'S') { x++; } } return 0; }
效果圖如下:
你會發現一個弊端 就是它會顯示你輸入了啥,這樣是特別的不友好的。
所以我們要用 getch() 這個函數, 它是不會顯示回顯的。即,不會出現我們輸入的是啥。
這樣就很好了,達到了我們的目的。
用getch()函數來實現控制飛機移動的功能
程式碼如下:
#include<stdio.h> #include<stdlib.h> #include<conio.h> //用scanf來完成飛機的移動 int main(void) { int i,j; int x=5; int y=10; char input; while(1) { system("cls"); //輸出飛機上面的空行 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"); input=getch(); if(input == 'a' || input == 'A') { y--; } if(input == 'd' || input == 'D') { y++; } if(input == 'w' || input == 'W') { x--; } if(input == 's' || input == 'S') { x++; } } return 0; }
效果圖如下:
程式碼如下:
#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;//用來判斷是否發射 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; }
效果圖如下:
程式碼如下:
#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;//用來判斷是否發射 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("分數:%dn",score); if(!isKilled)//沒有擊中靶子,繼續顯示靶子 { 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;//分數增加 } } return 0; }
效果圖如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45