資源簡介
無需配置環境,下載可用,VC6.0編譯環境,完整實現fc藍白機坦克大戰的完整源代碼。

代碼片段和文件信息
//?Game.cpp:?implementation?of?the?CGame?class.
//
//////////////////////////////////////////////////////////////////////
#include?
#include?“Game.h“
#include?“resource.h“
#define?SCREEN_W 640
#define?SCREEN_H 480
#define?OFFSETX 100
#define?OFFSETY 48
#define?Player1_STARTX 130
#define?Player1_STARTY 386
#define?Player2_STARTX 258
#define?Player2_STARTY 386
#define?SAFE_RELEASE(x) if(x){?x->Release();?x?=?NULL;?}
CGame* g_pGame;
inline?int?random(?int?min?int?max?)
{
return?(min?+?rand()?%?(max?-?min?+?1));
}
void?TRACE(?LPCTSTR?format?...?)
{
????char????buf[128];
????va_list?vl;
????va_start(vl?format);
????sprintf(buf?format?vl);
????OutputDebugString(?buf?);
va_end(vl);
}
void?CGame::OutputText(?int?x?int?y?LPCTSTR?string?)
{
HDC?hdc;
if(?m_pddsBackBuffer?&&?
m_pddsBackBuffer->GetDC(&hdc)?==?DD_OK?)
{
SetBkMode(?hdc?TRANSPARENT?);
SetTextColor(?hdc?RGB(2552550)?);
TextOut(?hdc?x?y?string?lstrlen(string)?);
m_pddsBackBuffer->ReleaseDC(?hdc?);
}
}
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CGame::CGame()
{
m_hInst?=?NULL;
m_hWnd?=?NULL;
m_bActive?=?FALSE;
m_bShowStats?=?FALSE;
m_bFullScreen?=?TRUE;
m_bSingle?=?TRUE;
m_pDD?=?NULL;
m_pddsFrontBuffer?=?NULL;
m_pddsBackBuffer?=?NULL;
g_pGame?=?this;
}
CGame::~CGame()
{
}
LRESULT?CALLBACK?WndProc(?HWND?hWnd?UINT?uMsg?WPARAM?wParam?LPARAM?lParam?)
{
if(?g_pGame?)
return?g_pGame->MsgProc(?hWnd?uMsg?wParam?lParam?);
return?DefWindowProc(?hWnd?uMsg?wParam?lParam?);
}
LRESULT?CGame::MsgProc(?HWND?hWnd?UINT?uMsg?WPARAM?wParam?LPARAM?lParam?)
{
switch(?uMsg?)
{
case?WM_ACTIVATEAPP:
if(?m_bActive?=?(BOOL)wParam?)
m_DirectInput.Acquire();
return?0;
case?WM_SETCURSOR:
if(?m_bFullScreen?)
{
SetCursor(?NULL?);
return?TRUE;
}
break;
case?WM_CLOSE:
PostQuitMessage(0);
return?0;
case?WM_MOVE:
m_bActive?=?TRUE;
GetClientRect(?hWnd?&m_rcWindow?);
ClientToScreen(?hWnd?(LPPOINT)&m_rcWindow?);
ClientToScreen(?hWnd?(LPPOINT)&m_rcWindow?+?1?);
return?0;
case?WM_MOVING:
m_bActive?=?FALSE;
break;
case?WM_KEYDOWN:
switch(?wParam?)
{
case?VK_ESCAPE:
if(?m_gameState?==?GS_ACTIVE?)
m_gameState?=?GS_SPLASH;
else?if(?m_gameState?==?GS_SPLASH?)
PostQuitMessage(0);
else?if(?m_gameState?==?GS_OVER?)
m_gameState?=?GS_SPLASH;
break;
case?VK_F4:
DDTerm();
m_bFullScreen?=?!m_bFullScreen;
DDInit();
return?0;
case?VK_F5:
m_bShowStats?=?!m_bShowStats;
return?0;
case?VK_DOWN:
case?VK_UP:
if(?m_gameState?==?GS_SPLASH?)
{
m_bSingle?=?!m_bSingle;
return?0;
}
break;
case?VK_PRIOR:
if(?m_gameState?==?GS_ACTIVE?&&?m_nLevel?>?1
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄??????????0??2012-01-12?09:19??坦克大戰
?????文件??????18000??2011-08-12?11:40??坦克大戰\BattleCity.aps
?????文件???????5273??2000-02-16?19:50??坦克大戰\BattleCity.dsp
?????文件????????545??2004-01-30?04:34??坦克大戰\BattleCity.dsw
?????文件??????52224??2012-01-12?11:50??坦克大戰\BattleCity.ncb
?????文件??????49664??2011-08-12?16:40??坦克大戰\BattleCity.opt
?????文件???????1782??2011-08-12?11:58??坦克大戰\BattleCity.plg
?????文件???????2114??2000-02-17?22:53??坦克大戰\BattleCity.rc
?????文件????????909??2012-01-12?09:19??坦克大戰\BattleCity.sln
????..A..H.?????10240??2012-01-12?11:50??坦克大戰\BattleCity.suo
?????文件???????7722??2012-01-12?09:19??坦克大戰\BattleCity.vcproj
?????文件???????1944??2005-01-31?18:35??坦克大戰\code999.com說明.txt
?????目錄??????????0??2012-01-12?11:45??坦克大戰\Debug
?????文件?????163840??2012-01-12?11:45??坦克大戰\Debug\BattleCity.exe
?????文件????6422528??2012-01-12?09:19??坦克大戰\Debug\BattleCity.pch
?????文件????1330176??2012-01-12?11:45??坦克大戰\Debug\BattleCity.pdb
?????文件???????1204??2011-08-12?11:32??坦克大戰\Debug\BattleCity.res
?????文件???????2087??2012-01-12?11:45??坦克大戰\Debug\BuildLog.htm
?????文件?????250593??2012-01-12?09:19??坦克大戰\Debug\Game.obj
?????文件??????19185??2011-08-12?11:32??坦克大戰\Debug\Input.obj
?????文件??????28064??2011-08-12?11:32??坦克大戰\Debug\Plane.obj
?????文件??????20744??2011-08-12?11:32??坦克大戰\Debug\Sound.obj
?????文件??????39235??2011-08-12?11:32??坦克大戰\Debug\Sprite.obj
?????文件?????181248??2011-08-12?11:32??坦克大戰\Debug\vc60.idb
?????文件?????110592??2011-08-12?11:32??坦克大戰\Debug\vc60.pdb
?????文件?????117760??2012-01-12?09:19??坦克大戰\Debug\vc70.idb
?????文件?????651264??2012-01-12?09:19??坦克大戰\Debug\vc70.pdb
?????文件??????19007??2011-08-12?11:32??坦克大戰\Debug\wavread.obj
?????文件??????34847??2000-07-02?17:40??坦克大戰\Game.cpp
?????文件???????2649??2000-05-20?19:24??坦克大戰\Game.h
............此處省略78個文件信息
- 上一篇:馬踏棋盤源碼.zip
- 下一篇:基于UDP協議的簡單聊天系統設計與實現
評論
共有 條評論