📄 czdemo.h
字号:
#if !defined(AFX_CZDEMO_H__C02DE9AB_099F_4150_B9FB_C42288040C73__INCLUDED_)
#define AFX_CZDEMO_H__C02DE9AB_099F_4150_B9FB_C42288040C73__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h"
#include "ddraw.h"
#include "Myclasses\MyTool.h"
#include "Myclasses\MyPlayer.h"
#include "Myclasses\MyDdraw.h"
#include "Myclasses\MyMaps.h"
#include "Myclasses\MyGame.h"
#include "Myclasses\MyPlaysound.h"
#include "Myclasses\MyPlayMidi.h"
#include "Myclasses\MyMenus.h"
#include "Myclasses\MyBank.h"
#include "Myclasses\MyMessage.h"
#include "Myclasses\MyScript.h"
#include "Myclasses\MyBuilding.h"
#include "Myclasses\Myllist.h"
#include "Myclasses\MyTime.h"
#include "Myclasses\MyFactory.h"
#include "Myclasses\MyGovt.h"
#include "Myclasses\MyEnvCons.h"
#include "Myclasses\MyWorld.h"
#include "Myclasses\path.h"
#include "Myclasses\AI.h"
#define ScreenW 1024
#define ScreenH 768
#define WAIT 0
#define PASS 1
HWND hWnd;
int PlayerID=0;//默认的玩家ID号为player1.
//一般字体(30像素高)
HFONT Font=CreateFont(30,0,0,0,FW_BOLD,false,false,0,ANSI_CHARSET,\
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,\
DEFAULT_PITCH|FF_DONTCARE,"黑体");
//小号字体
//HFONT _Font=CreateFont(30,0,0,0,FW_BOLD,false,false,0,ANSI_CHARSET,\
// OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,\
// DEFAULT_PITCH|FF_DONTCARE,"楷体");
//>>>>>>>>>>>>>>>>>>>>>用于测试<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
int SX=0,SY=0;//屏幕大小的矩阵第一元素索引。
int Rx=0,Ry=0;//待显示图像的左上角坐标。
int DX=0,DY=0;//地图矩阵左上角。
int DBX=64,DBY=48;//地图矩阵右下角。
DWORD tick=0;//记录游戏时间,用于提醒
DWORD oldtick=0;
MyGame mygame(1024,768);
int steps;//角色行走步数。
int playercount=0;//是否所有的角色走了一回合。
BOOL g_bActive;//程序运行标志。
MyMaps maps;//全局的地图对象。
MyBank mybank(4);//全局银行对象。
MyMessage mymessage;//全局消息。
MyTime gametime;//游戏内部时间。
ComputerAI AI;//控制电脑
MyGovt gamegovt;
MyEnvCons gameenvcons;
MyWorld gameworld;
MyPlayer players[4];
int psteploop=0;//游戏角色走四步为一格,此值在1~~3间循环。
int nextori=0;//角色下一步的行走方向。
int playernum=4;//最大支持四个角色
int actualpn=0;//每次游戏实际进行中数量(动态改变)
int mapindex=1;//地图号索引
//用于显示信息的临时字串
char showstep[10];
char showmoney[10];
char showexp[10];
char showcardnum[10];//显示卡片数量
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>用于测试<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
BOOL InRegion(int x,int y,int topx,int topy,int butox,int butoy);
void GL_ShowLogo();//显示工作组标志。
int GL_InitGame(int index=1);//初始化游戏。
void GL_GameLoop();//游戏主循环。
inline void GL_GamePicShow();//显示人物及背景图。(有行走声音。)
inline void GL_GamePicShowSilence();//没有声音。
void showmmbu();//显示最初菜单按钮
void GL_CheckEvent();//检查有无事件,并处理。
void GL_SwitchPlayer(int playerid);//换到下一个玩家。
void GL_GameOver();//游戏结束处理。
void GL_ToolUse(int toolkind,int playerID);//处理卡片使用
void GL_UseMenu();//使用游戏中的菜单
void GL_ShowTools(int playerid);//列出人物物品
bool GL_ShowTools_use(int playerid);//使用人物物品的菜单(调用 GL_ShowTools(int playerid) )
inline void showm(int playerid,bool& canuset,bool& canbuy);//更新游戏回合选单
inline void GL_GameMenu(int playerid);//游戏回合选单(调用 showm(int playerid) )
inline void GL_SysMenu();//进行系统菜单选择
void shopshow();//显示商店物品
void buyinshop(int playerid);//购买商店的物品
int _showplayerpics(int playerid,int* menuid);//显示除playerid外的所有角色头像,并记录所对应的id
int showplayerpics(int playerid);//显示除playerid外的所有角色头像
int showbuilding(int playerid,bool& hasbu,bool& hasfa);//显示playerid的建筑
bool chooseborf(int playerid,int currentid);//由currentid选择playerid的建筑或工厂(调用showbuilding)
bool dobuy(int playerid);//处理playerid的收购(调用chooseborf)
bool sell(int playerid);//处理playerid的出售
long getfactorycost(int kind);//取得kind建筑的花费
long gettoolcost(int kind);//取得kind类的tool花费
void shownomoeny();//显示钱不够的提示
void savedate(int index=1);//存取存档时间
void loaddate(int index=1);
int GL_InitPlayers(int index=1);
void showmapch();
int choosemap();
void checkover(int playerid);
//*************************
//按下键后松开:Key为欲判断的按键,x为1时等
void PressKey(const DWORD& Key,const int& x);
int ChooseMenu(MyGame&);
void ShowBar();//显示属性条。
void SignFunc(int& num);//随机符号函数,让num值随机变成正或负。
#endif // !defined(AFX_CZDEMO_H__C02DE9AB_099F_4150_B9FB_C42288040C73__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -