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

📄 utility.cpp

📁 BugBots是一个游戏
💻 CPP
字号:
#include "utility.h"#include "BugBot.h"#include "food.h"#include "sutil.h"#include "MapHandler.h"#include "mainbrain.h"#include "clump.h"#include <map>//#include <iostream>#include <list>#include <algorithm>//#include <fstream.h>#include <math.h>const extern int SCREENWIDTH;const extern int SCREENHEIGHT;Spot::Spot(){	bugbot=0;	food=0;	corpse=0;}double DistPTP(Position pt1, Position pt2){    int dx = abs(pt1.x - pt2.x);    int dy =  abs(pt1.y - pt2.y);    return  dx > dy ? dx : dy;}Flag::Flag(){        for(int i=0;i<=NumWords;i++)        {                flag[i]=0;        }}int Flag::SetFlag(int FlagNum){	int FlagVar, ReturnCode;	long int FlagBit;	if(FlagNum > MaxFlag)	{		ReturnCode = -1;	}	else	{		FlagVar = FlagNum / 32;		FlagBit = FlagNumToBit(FlagNum % 32);		ReturnCode = 0;		flag[FlagVar] |= FlagBit;	}	return ReturnCode;}int Flag::RemoveFlag(int FlagNum){	int FlagVar, ReturnCode;	long int FlagBit;	if(FlagNum > MaxFlag)	{		ReturnCode = -1;	}	else	{		FlagVar = FlagNum / 32;		FlagBit = ~FlagNumToBit(FlagNum % 32);		ReturnCode = 0;		flag[FlagVar] &= FlagBit;	}	return ReturnCode;}bool Flag::IsSet(int FlagNum){	int FlagVar;	long int FlagBit;		if(FlagNum > MaxFlag)	{		return false;	}	else	{		FlagVar = FlagNum / 32;		FlagBit = FlagNumToBit(FlagNum % 32);		return flag[FlagVar] & FlagBit ? true : false;	}}long int Flag::FlagNumToBit(int FlagNum){	return 1 << FlagNum;}bool Flag::operator[](int FlagNum){	return IsSet(FlagNum);}int Flag::operator+=(int FlagNum){	return SetFlag(FlagNum);}int Flag::operator-=(int FlagNum){	return RemoveFlag(FlagNum);}Position::Position(int param1, int param2){	x = param1;	y = param2;}Position::Position(const Position& pos){	x = pos.x;	y = pos.y;}bool Position::operator==(Position operand){	return (x == operand.x && y == operand.y);}Position Position::operator=(const Position operand){	x = operand.x;	y = operand.y;	return operand;}void Position::Random(){      x = rand() % SCREENWIDTH;      y = rand() % SCREENHEIGHT;}Avoid::Avoid() : Location(NoPosition){	Timer = AvoidLength;}Avoid::Avoid(Position pos, int time) : Location(pos){	Timer = time;}Avoid::Avoid(int x, int y, int time) : Location(x,y){	Timer = time;}bool Avoid::operator==(Avoid op){      return (Timer == op.Timer && Location == op.Location);}void Avoid::Update(){	if(Timer != 0)	{		Timer--;	}}bool Avoid::IsOver(){	return Timer == 0;}Item::Item(){	vnum=-1;	bot = false;}Item::Item(int avnum, bool abot){	vnum=avnum;	bot=abot;}Pixel::Pixel(){	DistToDest = 0;}Pixel::Pixel(int x, int y, double dist){	Location.x = x;	Location.y = y;	DistToDest = dist;}Pixel::Pixel(Position InitLoc, double dist){	Location = InitLoc;	DistToDest = dist;}bool Pixel::operator<(Pixel operand) const{	return DistToDest<operand.DistToDest;}bool Pixel::operator>(Pixel operand) const{	return DistToDest>operand.DistToDest;}bool Pixel::operator==(Pixel operand) const{	return DistToDest==operand.DistToDest;}

⌨️ 快捷键说明

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