資源簡介
源代碼以及exe文件。 c語言 雷霆戰機 vc成功運行,有不添加ege圖形庫實現的版本,請去我的其他資源尋找。(vc++6.0欲調試需安裝ege圖形庫)

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#define?Higt?15
#define?Width?15
#define?EnemyNum?5
#define?difficulty?2
int?position_xposition_y?;
int?enemy_x[EnemyNum]enemy_y[EnemyNum]?;
int?canvas[Higt][Width]?=?{0}?;
int?score?;
int?BulletWidth?;
int?EnemyMoveSpeed?;
????PIMAGE?img_my;
????PIMAGE?img_enemy;
????PIMAGE?img_arrow;
????PIMAGE?img_new;
????PIMAGE?img_erha;
void?gotoxy?(int?int?)?;
void?startup()?;
void?show()?;
void?updateWithoutInput()?;
void?updateWithInput()?;
int?main()
{
????initgraph(800800);
????img_my=newimage();
????img_enemy=newimage();
????img_arrow=newimage();
????img_new=newimage();
????img_erha=newimage();
????getimage(img_my“our_fly.png“00);//獲得我方戰機的圖片
????getimage(img_enemy“enemy_fly.png“00);
????getimage(img_arrow“arrow.png“00);
????getimage(img_new“new.png“00);
????getimage(img_erha“erha.png“00);
????srand(time(NULL));
????startup();
????while(1)
????{
????????show();
????????updateWithoutInput();
????????updateWithInput();
????}
????closegraph();
????return?0;
}
void?gotoxy?(int?xint?y)
{
????HANDLE?handle?=
????GetStdHandle(STD_OUTPUT_HANDLE);
????COORD?pos?;
????pos.X?=?x?;
????pos.Y?=?y?;
????SetConsoleCursorPosition(handle??pos);
}
void?startup()
{
????position_x?=?Higt?-?1?;
????position_y?=?Width/2?;//初始位置
????canvas[position_x][position_y]?=?1?;
????int?k?;
????for?(k?=?0?;?k?????{
????????enemy_x[k]?=?rand()%difficulty;
????????enemy_y[k]?=?rand()%Width;
????????canvas[enemy_x[k]][enemy_y[k]]?=?3;
????}
????score?=?0?;
????BulletWidth?=?0?;
????EnemyMoveSpeed?=?5?;
}
void?show()
{
????gotoxy(00);
????int?i??j?;
????for?(i?=?0?;i?????{
????????for(j=0;j ????????{
????????????if?(canvas[i][j]==0)//零代表空
????????????{
????????????????putimage(i*50j*50img_new);
????????????}
????????????else?if(canvas[i][j]==1)//1代表自己的戰機
????????????{
?????????????????putimage(i*50j*50img_my);
????????????}
????????????else?if(canvas[i][j]==2)//2代表子彈
????????????{
?????????????????putimage(i*50j*50img_arrow);
????????????}
????????????else?if?(canvas[i][j]==3)//3代表敵機
????????????{
????????????????putimage(i*50j*50img_enemy);
????????????}
????}
???????xyprintf(700700“score:%d“score);
????Sleep(5);//每10毫秒更新一次
}
}
void?updateWithoutInput()
{
????int?i?j?k?;
????for?(i=0;i ????{
????????for(j=0;j ????????{
????????????if(canvas[i][j]==2)//對子彈進行判斷
????????????{
????????????????for(k=0;k ????????????????{
????????????????????if((i==enemy_x[k])&&(j==enemy_y[k]))//子彈和敵機碰撞
????????????????????{
???????????????????????score++;
???????????????????????if(score%5==0&&EnemyMoveSpeed>3)
???????????????????????{
???????????????????????????EnemyMoveSpeed--;
??????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????16175??2017-02-07?15:05??flight\arrow.png
?????文件?????557116??2017-02-09?14:54??flight\Debug\flight.exe
?????文件?????692688??2017-02-09?14:54??flight\Debug\flight.ilk
?????文件????3778420??2017-02-09?14:54??flight\Debug\flight.pch
?????文件?????369664??2017-02-09?14:54??flight\Debug\flight.pdb
?????文件??????21808??2017-02-09?14:54??flight\Debug\main.obj
?????文件?????140288??2017-02-09?14:56??flight\Debug\vc60.idb
?????文件??????77824??2017-02-09?14:54??flight\Debug\vc60.pdb
?????文件??????16836??2017-02-07?15:05??flight\enemy_fly.png
?????文件??????42223??2017-02-09?11:49??flight\erha.png
?????文件???????4282??2017-02-09?15:06??flight\flight.dsp
?????文件????????518??2017-02-09?14:52??flight\flight.dsw
?????文件??????33792??2017-02-09?15:06??flight\flight.ncb
?????文件??????48640??2017-02-09?15:06??flight\flight.opt
?????文件????????886??2017-02-09?14:54??flight\flight.plg
?????文件???????6037??2017-02-09?14:54??flight\main.cpp
?????文件????????147??2017-02-07?13:54??flight\new.png
?????文件??????16530??2017-02-07?15:06??flight\our_fly.png
?????目錄??????????0??2017-02-09?14:54??flight\Debug
?????目錄??????????0??2017-02-09?15:06??flight
-----------?---------??----------?-----??----
??????????????5823874????????????????????20
- 上一篇:Linux軟件工程師(C語言)實用教程_.
- 下一篇:掃雷源代碼C++
評論
共有 條評論