打飞机--C语言版(是真打飞机!)
生活随笔
收集整理的這篇文章主要介紹了
打飞机--C语言版(是真打飞机!)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
老套路:
閑來無事,在網易云和童老師學了點打發時間小游戲
安利一下童晶老師的C語言教學,有C基礎和對小游戲感興趣的可以看看,做出來成就感爆棚~
傳送門:點擊打開鏈接
打飛機(弱智版):
1. ? ?113行可改通關條件,即分數變量(score)達到多少分游戲終止;
2. ? ?會出現“子彈”穿過“敵機”的情況,目前也不清楚什么情況;
3.? ? 閃屏看著好難受!
上源碼:
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <windows.h> int feiji_x,feiji_y;//飛機位置 int zidan_x,zidan_y;//子彈位置 int diji_x,diji_y;//敵機位置 int h,w; int score=0;//得分 int c=0;void gotoxy(int x,int y){ //定位光標位置到指定坐標HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);COORD pos;pos.X=x;pos.Y=y;SetConsoleCursorPosition(handle,pos); }void startup(){h=20;w=60;feiji_x=h/2;feiji_y=w/2;zidan_y=feiji_y;zidan_x=-1;diji_y=w/2;diji_x=0; } void show(){int i,j;char dad;if(c==0){printf("======================================\n");printf("= ---打飛機--- =\n");printf("= w,a,s,d------控制飛機移動 =\n");printf("= 不要開中文輸入法 =\n");printf("= j------------發射子彈 =\n");printf("= =\n");printf("= 閃屏純屬正常 =\n");printf("= ----傾白白 =\n");printf("======================================\n");c++;dad=getch();system("cls");}gotoxy(0,0);for(i=0;i<h;i++){for(j=0;j<w;j++){if(i==feiji_x && j==feiji_y)printf("▲");else if(i==zidan_x && j==zidan_y)printf("↑");else if(i==diji_x && j==diji_y)printf("●");else printf(" ");}printf("\n");}printf("當前得分:%d",score);Sleep(50); } void wuguan(){static int speed=0;if(speed<5)speed++;if(diji_x>h){diji_x=0;diji_y=rand()%w;}else{if(speed==5){diji_x++;speed=0;}}zidan_x--;if(zidan_y==diji_y&&zidan_x==diji_x){diji_x=0;zidan_x=-1;diji_y=rand()%w;score++;}} void youguan(){char input;if(kbhit()){input=getch();if(input=='w')feiji_x--;if(input=='a')feiji_y--;if(input=='s')feiji_x++;if(input=='d')feiji_y++;if(input=='j'){zidan_y=feiji_y;zidan_x=feiji_x-1;}} } int main(){startup();//數據while(1){show();//顯示畫面wuguan();//與用戶無關變量youguan();//與用戶有關變量if(score==5){printf("通關了的,大佬,嘿嘿\n");break;}}return 0; }每天比昨天更好一些
總結
以上是生活随笔為你收集整理的打飞机--C语言版(是真打飞机!)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端背景粒子线条效果
- 下一篇: 目标检测和感受野的总结和想法