飞机大战源码
bool game_loop()
{
///// 游戏速度控制////////////
int delay = 30;
static long tt1 = 0;
if (GetTickCount() - tt1 < delay)return true;
tt1 = GetTickCount();
////////////////////////////////
Backbuffer::buffer_cls();
// Backbuffer::Outtext (100, 100, "ni 好",255,40);
for (int i = 0; i < gameobjecj.size(); i )
{
gameobjecj[i]->Update();
gameobjecj[i]->draw();
}
bool gameover = true;
for (int i= gameobjecj.size()-1;i>-1; i--)
{
if (gameobjecj[i]->state == State::死亡)
{
// OutputDebugStringA(gameobjecj[i]->Gettype().c_str() ); /////////////
// OutputDebugString(L"\n");////////////////////
delete gameobjecj[i];
gameobjecj.erase(gameobjecj.begin() i);
}
else
{
if (gameobjecj[i]->Gettype() == "玩家")
gameover = false;
}
}
if (gameover)
{
Backbuffer::Outtext(Backbuffer::Bufferwidth/4, Backbuffer::Bufferheight*2/3, "\nGameOver 重玩[Enter]?", 0xff00ee, 40);
if ((GetKeyState('d') & 0x8000) || (GetKeyState(VK_RETURN) & 0x8000)) gameobjecj.push_back((IMyEntity*)(new 玩家()));
}
extern float memuse();//////////////////
Backbuffer::Outtext(0, 0, "已使用内存:" to_string(memuse()).substr(0, 5), 0x00ffff, 20);////////////////
小飞机::refresh_time ; 大飞机::refresh_time ; Boss::refresh_time ; Supply::refresh_time ;
if (小飞机::refresh_time > 小飞机::frequency)
{
小飞机::refresh_time = 0;
gameobjecj.push_back((IMyEntity*) new 小飞机(rand()% (Backbuffer::Bufferwidth - 小飞机::Pic[0].widths), -小飞机::Pic[0].heights));
}
if (大飞机::refresh_time > 大飞机::frequency)
{
大飞机::refresh_time = 0;
gameobjecj.push_back((IMyEntity*) new 大飞机(rand() % (Backbuffer::Bufferwidth - 大飞机::Pic[0].widths), -大飞机::Pic[0].heights));
}
if (Boss::refresh_time > Boss::frequency)
{
Boss::refresh_time = 0;
gameobjecj.push_back((IMyEntity*) new Boss(rand() % (Backbuffer::Bufferwidth - Boss::Pic[0].widths), -Boss::Pic[0].heights));
}
if (Supply::refresh_time > Supply::frequency)
{
Supply::refresh_time = 0;
int tmp = rand() % 10;
// gameobjecj.push_back((IMyEntity*) new 炸弹箱(rand() % (Backbuffer::Bufferwidth - 炸弹箱::Pic.widths), -炸弹箱::Pic.heights));
if (tmp >= 0 && tmp <3) //炸弹
{
gameobjecj.push_back((IMyEntity*) new 炸弹箱(rand() % (Backbuffer::Bufferwidth - 炸弹箱::Pic.widths), -炸弹箱::Pic.heights));
}
else if (tmp >2 && tmp<7)
{
gameobjecj.push_back((IMyEntity*) new 弹夹(rand() % (Backbuffer::Bufferwidth - 弹夹::Pic.widths), -弹夹::Pic.heights));
}
else
{
gameobjecj.push_back((IMyEntity*) new 血瓶(rand() % (Backbuffer::Bufferwidth - 血瓶::Pic.widths), -血瓶::Pic.heights));
}
}
_repaint();
return 1;
}.
├── Debug
│ ├── DirectSound.obj
│ ├── Dsounds.log
│ ├── Dsounds.res
│ ├── Dsounds.vcxproj.FileListAbsolute.txt
│ ├── class.obj
│ ├── image.obj
│ ├── vc142.idb
│ ├── vc142.pdb
│ ├── 飞机大战.Build.CppClean.log
│ ├── 飞机大战.exe
│ ├── 飞机大战.ilk
│ ├── 公用函数.obj
│ ├── 飞机大战.pdb
│ ├── 飞机大战.tlog
│ │ ├── CL.command.1.tlog
│ │ ├── CL.read.1.tlog
│ │ ├── CL.write.1.tlog
│ │ ├── link.command.1.tlog
│ │ ├── link.read.1.tlog
│ │ ├── link.write.1.tlog
│ │ ├── rc.command.1.tlog
│ │ ├── rc.read.1.tlog
│ │ ├── rc.write.1.tlog
│ │ └── 飞机大战.lastbuildstate
│ ├── 查看内存占用.obj
│ └── 飞机大战窗体.obj
├── Dsounds
│ ├── DirectSound.cpp
│ └── DirectSound.h
├── Dsounds.ico
├── Dsounds.rc
├── Dsounds.sln
├── Dsounds.vcxproj
├── Dsounds.vcxproj.filters
├── Dsounds.vcxproj.user
├── Release
│ ├── DirectSound.obj
│ ├── Dsounds.log
│ ├── Dsounds.res
│ ├── Dsounds.vcxproj.FileListAbsolute.txt
│ ├── class.obj
│ ├── image.obj
│ ├── vc142.pdb
│ ├── 飞机大战.Build.CppClean.log
│ ├── 飞机大战.exe
│ ├── 飞机大战.iobj
│ ├── 飞机大战.ipdb
│ ├── 公用函数.obj
│ ├── 飞机大战.pdb
│ ├── 飞机大战.tlog
│ │ ├── CL.command.1.tlog
│ │ ├── CL.read.1.tlog
│ │ ├── CL.write.1.tlog
│ │ ├── link.command.1.tlog
│ │ ├── link.read.1.tlog
│ │ ├── link.write.1.tlog
│ │ ├── rc.command.1.tlog
│ │ ├── rc.read.1.tlog
│ │ ├── rc.write.1.tlog
│ │ ├── 飞机大战.lastbuildstate
│ │ └── 飞机大战.write.1u.tlog
│ ├── 查看内存占用.obj
│ └── 飞机大战窗体.obj
├── Resource.h
├── Resources
│ ├── Bz_Music1.wav
│ ├── DiJi1.bmp
│ ├── DiJi2.bmp
│ ├── LifePrize.wav
│ ├── Zd_Music1.wav
│ ├── Zd_Music2.wav
│ ├── Zd_Music3.wav
│ ├── Zd_Music4.wav
│ ├── ZiDan.bmp
│ ├── ZiDan1.bmp
│ ├── ZiDan3_1.bmp
│ ├── ZiDan3_2.bmp
│ ├── ZiDan4_1.bmp
│ ├── ZiDan4_2.bmp
│ ├── again.bmp
│ ├── behit2.wav
│ ├── behit3.wav
│ ├── bomb_supply.bmp
│ ├── bullet_supply.bmp
│ ├── button.wav
│ ├── enemy1.bmp
│ ├── enemy1_down.wav
│ ├── enemy1_down1.bmp
│ ├── enemy1_down2.bmp
│ ├── enemy1_down3.bmp
│ ├── enemy1_down4.bmp
│ ├── enemy2.bmp
│ ├── enemy2_down.wav
│ ├── enemy2_down1.bmp
│ ├── enemy2_down2.bmp
│ ├── enemy2_down3.bmp
│ ├── enemy2_down4.bmp
│ ├── enemy2_hit.bmp
│ ├── enemy2shoot.bmp
│ ├── enemy3_down.wav
│ ├── enemy3_down1.bmp
│ ├── enemy3_down2.bmp
│ ├── enemy3_down3.bmp
│ ├── enemy3_down4.bmp
│ ├── enemy3_down5.bmp
│ ├── enemy3_down6.bmp
│ ├── enemy3_flying.wav
│ ├── enemy3_hit.bmp
│ ├── enemy3_n1.bmp
│ ├── enemy3_n2.bmp
│ ├── enemy3shoot.bmp
│ ├── font.ttf
│ ├── gameover.bmp
│ ├── get_bomb.wav
│ ├── get_bullet.wav
│ ├── icon.ico
│ ├── icon.png
│ ├── life.bmp
│ ├── me1.bmp
│ ├── me2.bmp
│ ├── me_destroy_1.bmp
│ ├── me_destroy_2.bmp
│ ├── me_destroy_3.bmp
│ ├── me_destroy_4.bmp
│ ├── me_down.wav
│ ├── pause_nor.bmp
│ ├── pause_pressed.bmp
│ ├── resume_nor.bmp
│ ├── resume_pressed.bmp
│ ├── supply.wav
│ ├── throw_boomb.wav
│ ├── upgrade.wav
│ ├── use_bomb.wav
│ ├── zhadan.wav
│ ├── 云1.bmp
│ ├── 云2.bmp
│ ├── 云3.bmp
│ ├── 云4.bmp
│ ├── 云5.bmp
│ ├── 云6.bmp
│ ├── 医疗.bmp
│ ├── 炸弹图标.bmp
│ ├── 炸弹爆炸0.bmp
│ ├── 炸弹爆炸1.bmp
│ ├── 炸弹爆炸10.bmp
│ ├── 炸弹爆炸11.bmp
│ ├── 炸弹爆炸2.bmp
│ ├── 炸弹爆炸3.bmp
│ ├── 炸弹爆炸4.bmp
│ ├── 炸弹爆炸5.bmp
│ ├── 炸弹爆炸6.bmp
│ ├── 炸弹爆炸7.bmp
│ ├── 炸弹爆炸8.bmp
│ └── 炸弹爆炸9.bmp
├── class.cpp
├── framework.h
├── image.cpp
├── image.h
├── lib
│ └── dsound2.lib
├── properties.h
├── small.ico
├── stdafx.h
├── targetver.h
├── x64
│ └── Debug
│ ├── DirectSound.obj
│ ├── Dsounds.log
│ ├── Dsounds.vcxproj.FileListAbsolute.txt
│ ├── class.obj
│ ├── image.obj
│ ├── vc142.idb
│ ├── vc142.pdb
│ ├── 飞机大战.Build.CppClean.log
│ ├── 公用函数.obj
│ ├── 飞机大战.tlog
│ │ ├── CL.command.1.tlog
│ │ ├── CL.read.1.tlog
│ │ ├── CL.write.1.tlog
│ │ ├── unsuccessfulbuild
│ │ └── 飞机大战.lastbuildstate
│ └── 飞机大战窗体.obj
├── 公用函数.cpp
├── 飞机大战.h
├── 找例子网_Dsounds 飞机大战.rar
├── 查看内存占用.cpp
└── 飞机大战窗体.cpp
10 directories, 178 files
评论