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

📄 arithmetic.cpp

📁 在linux下使用qt来开发的五子棋
💻 CPP
字号:

#include "arithmetic.h"

int Arithmetic::ChessPlace(int x, int y)			//根据鼠标点击位置算棋子在数组中的位置
{
	//+0.5四省五入
	int n = (x - 30.0) / 35 + 0.5;					//30边距;35行距;+0.5四省五入
	int m = (y - 30.0) / 35 + 0.5;
	return(15*m + n);

}

bool Arithmetic::LimitArea(int x, int y)						//限定鼠标点击位置有效位置
{
	if ( x < 20 || y < 20 || x > (30 + 14*35 +10) || y > (30 + 14*35 +10) )		//是否超过边界
		return false;
	int j = ( x +35 - 30 ) % 35;
	int k = ( y +35 - 30 ) % 35;
	if ( j >10 && j < 25 )
		return false;	
	else if( k > 10 && k < 25 )										//限定,落子点(网格交点)附近-10到10范围内有效
		return false;
	else
		return true;
}

void Arithmetic::AdjustDraw(int x, int y, int &dx, int &dy)						//相对鼠标点击位置,适当调整画棋子的位置,是棋子与棋盘对齐
{
	int n = (x - 30.0) / 35 + 0.5;
	int m = (y - 30.0) / 35 + 0.5;
	dx = n*35 + 12.5;
	dy = m*35 + 12.5;
	//0.5是四省五入的,所以:
	//dx = n*35 + 12;
	//dy = m*35 + 12;


}

⌨️ 快捷键说明

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