亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? basicagent.cpp

?? 2006年世界杯足球賽2D仿真組第16名的源代碼。在此代碼上隨便改改
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/* *  Copyright 2002-2005, Mersad Team, Allameh Helli High School (NODET). * *  This program is free software, you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *  GNU Library General Public License for more details. * *  This file is created by: Ahmad Boorghany * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#include <assert.h>#include <iostream>#include <sstream>#include <fstream>#include <Config.h>#include <Logger.h>#include <Command.h>#include <BasicAgent.h>#include <SExpression.h>#include <SignalHandler.h>#include <OnlineConnection.h>#include <VirtualConnection.h>using namespace std;BasicAgent::BasicAgent(int argc, char **argv){	setConfigDefaults();	config["Agent"].setByFile("./Configs/Agent.conf");	if (!config["Agent"].setByArguments(argc, argv))		exit(1);	worldModel = new WorldModel();	sayCycleCommand = NULL;	bodyCycleCommand = NULL;	headCycleCommand = NULL;	pointToCycleCommand = NULL;	attentionCycleCommand = NULL;	changeViewCycleCommand = NULL;	lastBodyCycleCommand = new EmptyCommand(AT_NONE);	setBodyCycleCommandDecidePermitted(true);	setBodyCycleCommandSendPermitted(true);	setHeadCycleCommandDecidePermitted(true);	setHeadCycleCommandSendPermitted(true);}BasicAgent::~BasicAgent(){	delete worldModel;}void BasicAgent::run(){	if (config["Agent"]["Server"]["OfflinePlayer"].asBool())	{		initVirtualConnection();		offlinePlayerManager();		closeVirtualConnection();	}	else	{		SignalHandler::initSignalHandlers(this);		initOnlineConnection();		SignalHandler::run();		SignalHandler::finalSignalHandlers();		closeOnlineConnection();	}}void BasicAgent::senseBody(const SExpression &exp){	unsigned curCycle;	SExpAtomic *at;	logEndInf();	at = dynamic_cast<SExpAtomic *>(exp[1]);	assert(at);	curCycle = at->asInt();	worldModel->setTimer().resetCycle(curCycle);	LOG.newCycle();	DRAW.newCycle();	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->setCurTime(worldModel->getCurTime() + 1);	worldModel->setBody().parseSenseBody(exp, worldModel->getFieldSide());	checkForLosts();	if (!isBodyCycleCommandLost())		worldModel->setBody().simulateByAction(bodyCycleCommand, true);	worldModel->setBody().simulateByDynamics(true);	worldModel->setBody().completeParseSenseBody();	const Body lastBody = worldModel->getBody(); // for ball simulate	if (!isBodyCycleCommandLost())		worldModel->simulateObjects(lastBody, bodyCycleCommand);	else		worldModel->simulateObjects(lastBody, NULL);	worldModel->setCurCycle(worldModel->getBody().getSenseBodyCycle());	worldModel->updateSeeDeltaCyclesAfterSenseBody();	worldModel->updatePlayModeRemainCycleAfterSenseBody();	worldModel->updateAfterSenseBody();	worldModel->logObjects();}void BasicAgent::see(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->resetObjects();	worldModel->parseSee(exp);	worldModel->updateObjects();	worldModel->updateSeeDeltaCyclesAfterSee();	worldModel->logObjects();}void BasicAgent::hear(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->parseHear(exp);}void BasicAgent::fullState(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;}void BasicAgent::serverParam(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->initServerParam(exp);}void BasicAgent::playerParam(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->initPlayerParam(exp);}void BasicAgent::playerType(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->initPlayerType(exp);}void BasicAgent::init(const SExpression &exp){	string logFileName, offLogFileName;	SExpAtomic *at;	int bodyUniNum;	at = dynamic_cast<SExpAtomic *>(exp[0]);	assert(at);	assert(at->toString() == "init");	at = dynamic_cast<SExpAtomic *>(exp[1]);	assert(at);	if (at->toString()[0] == 'l')		worldModel->setFieldSide(SI_LEFT);	else	{		assert(at->toString()[0] == 'r');		worldModel->setFieldSide(SI_RIGHT);	}	at = dynamic_cast<SExpAtomic *>(exp[2]);	assert(at);	assert(at->asInt() <= FULL_PLAYERS_NUM);	bodyUniNum = at->asInt();	worldModel->setBody().setUniNum(bodyUniNum);	worldModel->setBody().setGoalie(			config["Agent"]["Public"]["IsGoalie"].asBool());	worldModel->replaceBodyInPlayersList(bodyUniNum);	at = dynamic_cast<SExpAtomic *>(exp[3]);	assert(at);	assert(at->toString() == "before_kick_off");	// Initing log file	if ((config["Agent"]["AgentLog"]			   ["OutputLogAddress"].asString().end() - 1)[0] != '/')		logFileName = "/";	else		logFileName = "";	logFileName += config["Agent"]["Public"]["TeamName"].asString();	if (bodyUniNum < 10)		logFileName += (char)('0' + bodyUniNum);	else		logFileName += (char)('A' + bodyUniNum - 10);	logFileName += ".log";	if (config["Agent"]["AgentLog"]["LogToFile"].asBool())		logger.add("MainLog", new LogFile(				config["Agent"]["AgentLog"]					  ["OutputLogAddress"].asString() + logFileName,				&worldModel->getTimer()));	else		logger.add("MainLog", new LogNull());	offLogFileName = logFileName + ".off";	if (config["Agent"]["AgentLog"]["OffLogToFile"].asBool())		logger.add("OfflineLog", new LogFile(				config["Agent"]["AgentLog"]					  ["OutputLogAddress"].asString() + offLogFileName,				&worldModel->getTimer()));	else		logger.add("OfflineLog", new LogNull());	string drawLogFileName = logFileName + ".draw";	if (config["Agent"]["AgentLog"]["DrawLogToFile"].asBool())		logger.add("DrawLog", new LogFile(				config["Agent"]["AgentLog"]					  ["DrawLogAddress"].asString() + drawLogFileName,				&worldModel->getTimer()));	else		logger.add("DrawLog", new LogNull());	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	cout << "Player " << bodyUniNum << " connected." << endl;	if (logger["MainLog"].isOutValid())		cout << "    Log: " << config["Agent"]["AgentLog"]			["OutputLogAddress"].asString() + logFileName << endl;	if (logger["OfflineLog"].isOutValid())		cout << "    OffLog: " << config["Agent"]["AgentLog"]			["OutputLogAddress"].asString() + offLogFileName << endl;	Command *clangVer = new CLangVersionCommand(AT_BASIC_AGENT, 7, 9);	LOG << "SendStr: " << clangVer->toString() << endl;	connection->send(clangVer);	delete clangVer;}void BasicAgent::think(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;}void BasicAgent::changePlayerType(const SExpression &exp){	LOG << "RecStr: " << exp.toString() << endl;	OFFLOG << "RecStr: " << exp.toString() << endl;	worldModel->parseChangePlayerType(exp);}bool BasicAgent::sigAlrmHandler(){	return synchronize();}bool BasicAgent::sigIntHandler(){	LOG << "Interrupt Handler." << endl;	cout << "Interrupt Handler." << endl;	return false;}bool BasicAgent::sigIOHandler(){	bool iReceivedSomething = false;	string message;	while (connection->receive(message) == 1)	{		iReceivedSomething = true;		curReceiveMS = worldModel->getTimer().now();		unsigned i = 0;		SExpression exp(message, i);//		assert(i + 1 == message.length());		string header = ((SExpAtomic *)exp[0])->asString();		if (header == "sense_body")			senseBody(exp);		else if (header == "see")			see(exp);		else if (header == "hear")			hear(exp);		else if (header == "fullstate")			fullState(exp);		else if (header == "server_param")			serverParam(exp);		else if (header == "player_param")			playerParam(exp);		else if (header == "player_type")			playerType(exp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天影视网天天综合色在线播放| 国产一区久久久| 国产亚洲人成网站| 欧美专区亚洲专区| 粉嫩蜜臀av国产精品网站| 日精品一区二区| 亚洲欧美日韩一区| 国产精品人妖ts系列视频| 欧美一区二区国产| 欧美色图12p| 色视频欧美一区二区三区| 国产资源在线一区| 蜜桃视频一区二区| 午夜精品123| 亚洲二区在线观看| 亚洲日本va在线观看| 中文字幕不卡在线观看| 欧美成人精精品一区二区频| 欧美三片在线视频观看| 91在线视频18| 成人黄色网址在线观看| 久久99精品久久久久久动态图| 婷婷开心激情综合| 亚洲成人福利片| 亚洲成人动漫在线免费观看| 亚洲综合色婷婷| 亚洲综合免费观看高清完整版 | 久久综合久久鬼色| 8x8x8国产精品| 欧美精品在线一区二区三区| 91成人国产精品| 色婷婷久久久综合中文字幕| 色欧美乱欧美15图片| 国产不卡高清在线观看视频| 国产在线不卡一区| 国产精品白丝jk白祙喷水网站| 韩国在线一区二区| 国产精品亚洲视频| 国产白丝精品91爽爽久久| 国产精品一区二区三区99| 国产精品中文欧美| 国产精品99久久久| 福利一区二区在线| 91在线视频免费观看| 色婷婷国产精品| 欧美日韩国产片| 日韩欧美第一区| 久久欧美一区二区| 中文一区在线播放| 亚洲天堂中文字幕| 亚洲国产cao| 三级成人在线视频| 免费成人在线观看| 国产一区二区三区视频在线播放| 国产精品亚洲午夜一区二区三区 | 中文字幕精品三区| 国产精品初高中害羞小美女文| 日韩毛片视频在线看| 亚洲伦在线观看| 天天综合色天天| 国内久久精品视频| 99热这里都是精品| 欧美日韩和欧美的一区二区| 欧美成人性福生活免费看| 中文字幕巨乱亚洲| 午夜一区二区三区视频| 久久er精品视频| 波波电影院一区二区三区| 在线观看一区不卡| 精品国产乱码久久久久久夜甘婷婷 | av一区二区三区| 成人午夜激情影院| 欧美视频中文字幕| 亚洲精品在线免费播放| 国产欧美一区二区精品性色| 日韩av一区二区三区| 国产精品一区二区91| 亚洲综合丁香婷婷六月香| 欧美精品一区二区在线观看| 中文无字幕一区二区三区| 亚洲另类春色校园小说| 日本网站在线观看一区二区三区| 国产盗摄一区二区| 欧美三级视频在线观看| 26uuu另类欧美亚洲曰本| 亚洲素人一区二区| 精品在线视频一区| 欧美伊人久久久久久久久影院 | 国产aⅴ综合色| 欧美午夜影院一区| 26uuu色噜噜精品一区二区| 亚洲精品视频在线观看网站| 久久精品免费观看| 成人短视频下载| 日韩欧美在线1卡| 亚洲精品欧美在线| 国产福利91精品| 欧美性大战久久久| 亚洲欧美日韩国产成人精品影院| 久久一日本道色综合| 一区二区三区在线观看动漫| 韩国女主播成人在线观看| 欧美私人免费视频| 亚洲天天做日日做天天谢日日欢| 免费成人在线网站| 欧美日韩一级黄| 国产精品国产三级国产aⅴ原创 | 免费在线观看一区| 91激情在线视频| 亚洲欧洲日韩女同| 久久国产精品第一页| 欧美人动与zoxxxx乱| 亚洲欧美另类图片小说| 国产高清视频一区| 91精品国产全国免费观看| 亚洲高清在线精品| 色综合视频一区二区三区高清| 国产欧美日韩精品一区| 精品一区二区三区影院在线午夜| 欧美福利视频一区| 亚洲一区二区免费视频| 91丨porny丨最新| 中文字幕在线视频一区| 国产成人在线视频网站| 欧美成人精精品一区二区频| 久久综合色一综合色88| 国产综合一区二区| 欧美成人a∨高清免费观看| 欧美一区二区日韩一区二区| 精品黑人一区二区三区久久| 免费在线看成人av| 欧美一级日韩免费不卡| 日韩高清欧美激情| 91精品国产一区二区三区蜜臀| 午夜精品在线视频一区| 欧美人牲a欧美精品| 日本中文字幕不卡| 欧美一区二区三区视频在线观看| 爽好多水快深点欧美视频| 91精品国产综合久久婷婷香蕉| 日韩av不卡在线观看| 日韩三级免费观看| 国产在线一区观看| 欧美国产日产图区| 91在线免费视频观看| 亚洲综合在线第一页| 欧洲激情一区二区| 亚洲一区二区不卡免费| 91精品国产综合久久久蜜臀粉嫩| 捆绑紧缚一区二区三区视频| 337p粉嫩大胆噜噜噜噜噜91av| 国产河南妇女毛片精品久久久| 欧美激情资源网| 91论坛在线播放| 亚洲欧洲成人自拍| 亚洲国产精品国自产拍av| 久久久噜噜噜久久中文字幕色伊伊| 欧美视频第二页| 日本aⅴ精品一区二区三区| 欧美一级黄色录像| 国产91富婆露脸刺激对白| 国产精品久久久99| 欧美色综合影院| 精品一二三四区| 国产精品热久久久久夜色精品三区 | 亚洲一二三四在线| 日韩亚洲欧美一区二区三区| 国产成人精品网址| 亚洲午夜精品久久久久久久久| 日韩欧美中文字幕制服| 成人自拍视频在线| 午夜视频一区二区| 久久女同性恋中文字幕| 91同城在线观看| 久久精品av麻豆的观看方式| 最新国产精品久久精品| 91.成人天堂一区| 国产a级毛片一区| 日韩高清不卡一区| 国产精品久久久久影视| 91精品国产综合久久久久久漫画 | 国产精品超碰97尤物18| 欧美日本韩国一区| 国产ts人妖一区二区| 亚洲大片免费看| 久久久久久免费网| 51精品视频一区二区三区| 成人黄色a**站在线观看| 日本视频一区二区| 亚洲精品一二三| 久久亚洲二区三区| 欧美日韩国产成人在线免费| 国产99久久久久| 免费成人性网站| 亚洲在线中文字幕| 国产精品久久久久久久蜜臀| 日韩女优电影在线观看| 欧美性淫爽ww久久久久无| 成人黄色777网| 国产精品白丝av|