⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vexillumview.h

📁 用VC++实现得网络军棋对战
💻 H
字号:
// VexillumView.h : interface of the CVexillumView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_VEXILLUMVIEW_H__FD71D94C_E2EA_4082_B692_43C66C70D446__INCLUDED_)
#define AFX_VEXILLUMVIEW_H__FD71D94C_E2EA_4082_B692_43C66C70D446__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include"Define.h"

class CVexillumView : public CView
{
protected: // create from serialization only
	CVexillumView();
	DECLARE_DYNCREATE(CVexillumView)

// Attributes
public:
	
	CVexillumDoc* GetDocument();
	int BCanTouch(int x,//点击棋子类型//次函数用于布局时棋子能否到达
		int fromx,//源地址
		int fromy,
		int tox,//目的地址
		int toy,
		int diji,//电击所在的位置
		int xz );//选中所在的位置
	void KCanTouch(int x,//选中棋子类型//次函数用于开始时棋子能否到达
		int fromx,//源地址
		int fromy,
		int dijichess,//点击棋子类型
		int tox,//目的地址
		int toy);
	void CanMove(int xzchess,//选中棋子的类型//此函数用于移动棋子到指定位置
		int fromx,//源地址
		int fromy,
		int dijichess,//点击棋子类型
		int tox,//目的地址
		int toy);
	void Correlation(int x,int y);//搜索x,y相关位置的函数
	void CorrelationWeiXie(int x,int y);//搜索对x,y有威胁的相关位置的函数
	void BuJu(void);//自动布局函数,布局电脑的棋子分布
	void Initialization(void);//初始化估值函数
	void GuZhi(int wchess,//我方棋子大小
		int wx,//我方棋子位置
		int wy,
		int dx,//敌方棋子位置
		int dy,
		int shengfu);//胜负标志1胜,0负
	void JunFei(int chess,int zhi);//估值函数中均分函数
	void JunJian(int chess,int zhi);//估值函数中均减函数
	void CFJunJian(int chess);//估值函数中拆分函数
	void FuJunFei(int chess,int n,//拆分成几份//估值函数中负均分函数
		int yuanzhi,//拆分前的原值
		int dx,int dy);
	void ChuanZhi(int fromx,int fromy,int tox,int toy);//估值函数中移动后的传值函数
	void SouSuo(void);//搜索最佳路径的搜索函数
	void ChiZiSouSuo(int chess,int x,int y);//此步能否吃子搜索
	int  CZGaiLv(int chess,int x,int y);//此步能吃子的概率
	void WoFang(void);//我方走棋
	int ShouWeiXieGaiLv(int chess,int x,int y);//走此步受威胁的概率
	int ShouWeiXieGaiLvChi(int chess,int x,int y);//走此步能吃子的概率

	void HuoShengGaiLv(void);//各个位置的位置价值
	int ChiDiaoGaiLv(int chess,int x,int y);//此位置被吃掉的概率(包括炸弹和地雷)
	int ChiDiaoGaiLv1(int chess,int x,int y);//此位置被吃掉的概率(不包括炸弹和地雷)
	void GongBingCorrelation(int x,int y);//工兵相关位置的搜索
	void GongBingTieDao(int x,int y,int diyou);//工兵铁道搜索
	int WeiXie(int chess,int x,int y);//此位置的威胁,以判断是否移动
	int WeiXieChi(int chess,int x,int y);//此位置吃对方棋子概率,以判断是否移动
	void YiDong(int chess,int fromx,int fromy,int tox,int toy);//移动棋子
	void LingHuoXing(void);//调整各个棋子灵活性的大小
	void WoFangShouWeiXie(void);//我方此时受威胁的大小
public:
	int b;
	int a;
	int kaishi;//
	int backtuxing;//
	int backtuxing1;
	int backtuxing2;
	int backtuxing3;
	int LingHuo[12];//灵活性分值
	int m_kongzhi;//控制定时器
	int gbk;//控制工兵
	int shengfu;//胜负标志
	CBitmap wf;
	CBitmap mm;
	CBitmap back1;//选中布局图形
	CBitmap back2;//选中开始图形
	CBitmap back;//棋盘图形
	CBitmap qztx[12];//棋子图形
	qiziweizhi qzwz[14][5];//棋盘上的旗子位置
	zhongjianlujing zjlj[8][30];
	qiziweizhi qzwzz[5][5];//桌子上的棋子位置
	xuanzhongbiaozhi xzbz;//棋子选中标志
	int kkkkk;//布局与开始标志,1布局,2开始
	int text;//提示说明
	WeiZhiZhi WZZ[14][5];
	zhongjianlujing czzjlj[80];
	zhongjianlujing bhzjlj[50];
	zhongjianlujing zszjlj[50];
	zhongjianlujing gzjlj[80];
	zhongjianlujing gbzjlj[4][1];
	GUESS guess[14][5];
	ZUIHAOLJ zhlj;//最好路径
	int qqqqqqqq;//该谁走子标志
	int wofangshou[14][5];
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CVexillumView)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CVexillumView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CVexillumView)
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnPaint();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  // debug version in VexillumView.cpp
inline CVexillumDoc* CVexillumView::GetDocument()
   { return (CVexillumDoc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VEXILLUMVIEW_H__FD71D94C_E2EA_4082_B692_43C66C70D446__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -