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; }