C語言實現(xiàn)飛機小游戲
更新時間:2020年12月28日 17:13:02 作者:xiaoChhhhh
這篇文章主要為大家詳細介紹了C語言實現(xiàn)飛機小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C語言實現(xiàn)飛機小游戲的具體代碼,供大家參考,具體內(nèi)容如下
#include<stdio.h> #include<windows.h> int zdj_x,zdj_y; int zd_x,zd_y; int dj_x,dj_y; int speed; int map[21][41]; int score; int H=20,C=40; //墻是1;飛機2;子彈3;敵機4; void start()//設置初始值 { zdj_x=15; zdj_y=20; zd_x=0; zd_y=20; dj_x=2; dj_y=15; score=0; } void startMAP()//繪制戰(zhàn)場框架 { int i, j; for (i = 1; i <=19; i++) { map[i][1] = 1; for (j = 2; j <=39; j++) { map[i][j] = 0; map[i][40] = 1; } } i = 20; for (j = 1; j <= 40; j++) { map[i][j] = 1; } map[zd_x][zd_y] = 3; map[zdj_x ][zdj_y] = 2; map[dj_x][dj_y+1] = 4; } void HideCursor()//隱藏光標 { CONSOLE_CURSOR_INFO cursor_info={1,0};//0表示對光標的隱藏 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info); } void gotoxy(int x,int y)//清屏,使屏幕保持 { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle,pos); } void upguize()//游戲規(guī)則(不唯一)如果有其他想法可以加入 { int i,j; if(zd_x>0)//子彈單軌 { zd_x--; } if((zd_x==dj_x)&&(zd_y==dj_y+1))//打中規(guī)則 { score++; dj_x=0; dj_y=rand()%40; zd_x=0; } if(dj_x>20)//敵機出界 { dj_x=0; dj_y=rand()%40; } static int speed=0;//靜態(tài)控制speed if(speed<10)//速度控制 { speed++; } if(speed==10) { if(dj_x<20) dj_x++; else { dj_x=0; dj_y=rand()%39+1; } speed=0; } } void upinput()//對按鍵的處理以 { char input; if(kbhit())//if(kbhit)判斷鍵盤是否進行操作 { input=getch(); if((input=='w')&&(zdj_x>1))//防止飛機走出戰(zhàn)場框架 { zdj_x--; } if((input=='a')&&(zdj_y>2)) { zdj_y--; } if((input=='s')&&(zdj_x<19)) { zdj_x++; } if((input=='d')&&(zdj_y<39)) { zdj_y++; } if(input==' ') { zd_x=zdj_x-1; zd_y=zdj_y; } } } void show()//對數(shù)組中對應數(shù)的字符表達,繪制地圖 { int i,j; for(i=1;i<=20;i++) { for(j=1;j<=40;j++) { if(map[i][j]==0) { printf(" "); } if(map[i][j]==1) { printf("+"); } if(map[i][j]==2) { printf("*"); } if(map[i][j]==3) { printf("|"); } if(map[i][j]==4) { printf("#"); } } printf("\n"); } printf("\n%d\n",score); printf("按'w''a''s''d'進行移動"); } int main()//代碼總運行 { system("color a4");//a控制背景色4控制前景色 start(); while(1) { gotoxy(0,0);//使光標處于(0,0)位置 HideCursor(); startMAP(); show(); upguize(); upinput(); } return 0; }
游戲界面
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
opencv3/C++ 使用Tracker實現(xiàn)簡單目標跟蹤
今天小編就為大家分享一篇opencv3/C++ 使用Tracker實現(xiàn)簡單目標跟蹤,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12C++右值引用與move和forward函數(shù)的使用詳解
為了支持移動操作,新標準引入了一種新的引用類型——右值引用(rvalue reference)。所謂右值引用就是必須綁定到右值的引用,這篇文章主要介紹了C++右值引用與move和forward的使用2022-08-08