資源簡介
siki的windows游戲開發視頻教程源碼

代碼片段和文件信息
#include?
#include?
#include?
#include?//用來進行字符相關的操作
#pragma?comment(lib“Msimg32.lib“)
#pragma?comment(lib“Winmm.lib“)
#define?WINDOW_title?L“plane?fight“
#define?WINDOW_WIDTH?480
#define?WINDOW_HEIGHT?852
LRESULT?CALLBACK?WndProc(HWND?hwnd?UINT?message?WPARAM?wparam?LPARAM?lparam);
enum?GameState?{
GS_MENU
GS_PLAYING
GS_RESULT
};
GameState?gameState;
HDC?g_hdc;
HDC?g_mdc;
HDC?g_bufdc;
void?ChangeToState(GameState?gs?HWND?hwnd);
int?iScore?=?0;
struct?GameMenu
{
HBITMAP?hBackground;
HBITMAP?htitle;
HBITMAP?hGameLoading;
void?Init(HWND?hwnd)?{
hBackground?=?(HBITMAP)LoadImage(NULL?L“image/background.bmp“?IMAGE_BITMAP?WINDOW_WIDTH?WINDOW_HEIGHT?LR_LOADFROMFILE);
htitle?=?(HBITMAP)LoadImage(NULL?L“image/title.bmp“?IMAGE_BITMAP?429?84?LR_LOADFROMFILE);
hGameLoading?=?(HBITMAP)LoadImage(NULL?L“image/game_loading.bmp“?IMAGE_BITMAP?176?36?LR_LOADFROMFILE);
}
void?Start(HWND?hwnd)?{
Selectobject(g_bufdc?hBackground);
BitBlt(g_mdc?0?0?WINDOW_WIDTH?WINDOW_HEIGHT?g_bufdc?0?0?SRCCOPY);
Selectobject(g_bufdc?htitle);
TransparentBlt(g_mdc?20?50?429?84?g_bufdc?0?0?429?84?RGB(0?0?0));
Selectobject(g_bufdc?hGameLoading);
TransparentBlt(g_mdc?150?600?176?36?g_bufdc?0?0?176?36?RGB(255?255?255));
BitBlt(g_hdc?0?0?WINDOW_WIDTH?WINDOW_HEIGHT?g_mdc?0?0?SRCCOPY);
}
void?Update(HWND?hwnd)?{
}
void?OnWindowMessage(HWND?hwnd?UINT?message?WPARAM?wparam?LPARAM?lparam)?{
switch?(message)
{
case?WM_LBUTTONDOWN:
ChangeToState(GS_PLAYING?hwnd);?break;
}
}
void?Destroy(HWND?hwnd)?{
}
};
struct?Bullet
{
int?x;
int?y;
bool?isExist?=?false;
};
struct?Enemy
{
int?x;
int?y;
bool?isExist?=?false;//表示這個敵人是否被生成?
bool?isDie?=?false;//當這個敵人存在(isExist=true)的時候這個屬性才會起作用??isDie?=?true表示敵人死亡,正在播放死亡動畫??isDie?=?false表示敵人還活著
int?iDieAnimationIndex?=?0;
int?iDieAnimationTimer?=?0;
};
struct?GamePlaying
{
HBITMAP?hBackground;
int?iBackgroundOffset?=?0;
HBITMAP?hHeroArray[2];
int?iHeroIndex?=?0;
int?iHeroTimer?=?0;
int?iPlayerPositionX?=?190;
int?iPlayerPositionY?=?600;
Bullet?bulletArray[30];
HBITMAP?hBullet;
int?iBulletTimer?=?0;
bool?bIsMouseDown?=?false;
POINT?pPreMousePoint;
Enemy?enemyArray[30];
int?iEnemySpawnTimer?=?0;
HBITMAP?hEnemyArray[5];
void?Init(HWND?hwnd)?{
hBackground?=?(HBITMAP)LoadImage(NULL?L“image/background.bmp“?IMAGE_BITMAP?WINDOW_WIDTH?WINDOW_HEIGHT?LR_LOADFROMFILE);
hHeroArray[0]?=?(HBITMAP)LoadImage(NULL?L“image/hero1.bmp“?IMAGE_BITMAP?100?124?LR_LOADFROMFILE);
hHeroArray[1]?=?(HBITMAP)LoadImage(NULL?L“image/hero2.bmp“?IMAGE_BITMAP?100?124?LR_LOADFROMFILE);
hBullet?=?(HBITMAP)LoadImage(NULL?L“image/bullet1.bmp“?IMAGE_BITMAP?9?21?LR_LOADFROMFILE);
hBullet?=?(HBITMAP)LoadImage(NULL?L“image/bullet1.bmp“?IMAGE_BITMAP?9?21?LR_LOADFROMFILE);
hEnemyArray[0]?=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????13016??2016-07-09?13:44??Plane?-?副本\GameMain.cpp
?????文件????1226936??2015-10-08?16:06??Plane?-?副本\image\background.bmp
?????文件????????644??2015-10-12?16:11??Plane?-?副本\image\bullet1.bmp
?????文件???????6140??2015-10-12?16:32??Plane?-?副本\image\enemy0.bmp
?????文件???????6140??2015-10-12?22:33??Plane?-?副本\image\enemy1.bmp
?????文件???????9644??2015-10-12?22:43??Plane?-?副本\image\enemy2.bmp
?????文件??????11684??2015-10-12?22:44??Plane?-?副本\image\enemy3.bmp
?????文件???????5672??2015-10-12?22:34??Plane?-?副本\image\enemy4.bmp
?????文件????1226936??2015-10-13?20:05??Plane?-?副本\image\gameover.bmp
?????文件??????19064??2015-10-11?07:42??Plane?-?副本\image\game_loading.bmp
?????文件??????37256??2015-10-08?16:28??Plane?-?副本\image\hero1.bmp
?????文件??????36656??2015-10-12?12:32??Plane?-?副本\image\hero2.bmp
?????文件??????16958??2015-10-08?16:27??Plane?-?副本\image\icon.ico
?????文件?????108248??2015-10-11?08:04??Plane?-?副本\image\ti
?????文件???????7247??2016-07-04?18:10??Plane?-?副本\Plane.vcxproj
?????文件????????960??2016-07-04?16:29??Plane?-?副本\Plane.vcxproj.filters
?????文件??????39214??2015-10-09?12:24??Plane?-?副本\sound\achievement.wav
?????文件?????106030??2015-10-09?12:24??Plane?-?副本\sound\big_spaceship_flying.wav
?????文件??????18478??2015-10-09?12:24??Plane?-?副本\sound\bullet.wav
?????文件??????11566??2015-10-09?12:24??Plane?-?副本\sound\button.wav
?????文件??????36910??2015-10-09?12:24??Plane?-?副本\sound\enemy0_down.wav
?????文件?????145198??2015-10-09?12:24??Plane?-?副本\sound\enemy1_down.wav
?????文件??????29998??2015-10-09?12:24??Plane?-?副本\sound\enemy2_down.wav
?????文件????2177326??2015-10-09?12:24??Plane?-?副本\sound\game_music.wav
?????文件??????92206??2015-10-09?12:24??Plane?-?副本\sound\game_over.wav
?????文件??????23086??2015-10-09?12:24??Plane?-?副本\sound\get_bomb.wav
?????文件?????106030??2015-10-09?12:24??Plane?-?副本\sound\get_double_laser.wav
?????文件??????34606??2015-10-09?12:24??Plane?-?副本\sound\out_porp.wav
?????文件??????85294??2015-10-09?12:24??Plane?-?副本\sound\use_bomb.wav
?????目錄??????????0??2016-07-18?11:41??Plane?-?副本\image
............此處省略5個文件信息
- 上一篇:基于小波變換的電價預測
- 下一篇:riscv-spec-v2.1中文版
評論
共有 條評論