コード例 #1
0
ファイル: poliz.cpp プロジェクト: yura603/game-manager
PolizElem* PolizEndTurn::EvaluateFun(PolizItem **stack) const {
	char cmd0[32] = "# Trading results";
	char cmd[16] = "& ENDTURN";
	char cmd2[16] = "turn\n";
	char *str;
	int t = 0;
	robot.set_auct();
	server.send_message(cmd2);
	for (;;) {
		str = server.read_message();
		if (strncmp(str, cmd0, 16)==0) { //in auction table
			for (;;) {
				delete str;
				str = server.read_message();
				if ((strncmp(str, "& BOUGHT", 8)==0)||
					(strncmp(str, "& SOLD", 6)==0)){
					t = 1;
					robot.add_new_elem(str);
				}
				else {
					if (t==1) {
						break;
					}
				}
			}
		} // out auction table
		if (strncmp(str, "# You are a bankrupt, sorry.", 28)==0) {
			printf("%s", str);
			delete str;
			robot.free_auct_list();
			exit(0);
		}
		if (strncmp(str, cmd, 9)==0) {
			delete str;
			break;
		}
		delete str;
	}
	return 0;
}