void AppList::onResult(Json::Value jsonObj) { recvFromServer(jsonObj); }
Result AppList::onRequest(Json::Value jsonObj) { return recvFromServer(jsonObj); }
void AppList::onNotification(Json::Value jsonObj) { if (jsonObj.isMember("method") && jsonObj["method"].asString() != "BasicCommunication.SDLLog") { recvFromServer(jsonObj); } }
int main(int argC, char **argV) { int keepLooping = 1; int useUDP = 0; int opt; char string[124]; char login[50], senha[12]; char feedback[MAX_FEEDBACK]; char lt; string[123] = '\0'; feedback[MAX_FEEDBACK-1] = '\0'; if(argC >= 2) useUDP = atoi(argV[1]); printf("Bem vindo ao Jogo da Velha Online.\nConectando ao servidor.\n\n"); if(useUDP) udpMain(); else tcpMain(); while(keepLooping) { printf("Digite o número de uma das opções abaixo:\n1.Cadastrar novo login.\n2.Entrar com login existente.\n"); scanf("%d", &opt); switch(opt) { case 1: printf("Digite o login: "******"%s", login); printf("Digite a senha: "); scanf("%s", senha); sprintf(string, "%s %s %s", MSG_REG, login, senha); sendToServer(string); system("clear"); printf("Cadastrado\n"); break; case 2: printf("Digite o login: "******"%s", login); printf("Digite a senha: "); scanf("%s", senha); sprintf(string, "%s %s %s", MSG_LOGIN, login, senha); sendToServer(string); recvFromServer(feedback); if(strcmp(feedback, MSG_OK) == 0) { keepLooping = 0; system("clear"); break; } system("clear"); printf("Login inválido\n"); break; default: system("clear"); printf("Opção inválida\n"); break; } } keepLooping = 1; while(keepLooping) { printf("Digite o número de uma das opções abaixo:\n1.Listar jogadores.\n2.Desafiar jogador.\n3.Logout\n"); scanf("%d", &opt); switch(opt) { case 1: system("clear"); printf("\n"); sendToServer(MSG_LIST); do { recvFromServer(feedback); if(strcmp(feedback, MSG_ENDSTREAM) != 0) printf("%s", feedback); } while(strcmp(feedback, MSG_ENDSTREAM) != 0); printf("\n"); break; case 2: printf("Digite o login do oponente: "); scanf("%s", login); sprintf(string, "%s %s", MSG_START, login); sendToServer(string); keepLooping = 0; break; case 3: sendToServer(MSG_LOGOUT); exit(0); default: system("clear"); printf("Opção inválida\n"); break; } } keepLooping = 1; while(keepLooping) { recvFromServer(feedback); if(strcmp(feedback, MSG_YOURTURN) == 0) { printf("Sua vez.\n"); } else if(strcmp(feedback, MSG_OPPONENTTURN) == 0){ printf("Vez do oponente.\n"); } else if(strcmp(feedback, MSG_WIN) == 0) { system("clear"); printf("Você venceu!\n"); break; } else { system("clear"); printf("Você perdeu!\n"); break; } printf("Digite o número de uma das opções abaixo:\n1.Desistir.\n2.Logout.\n"); if(strcmp(feedback, MSG_YOURTURN) == 0) printf("3.Jogar\n"); scanf("%d", &opt); switch(opt) { case 1: case 2: keepLooping = 0; break; case 3: if(strcmp(feedback, MSG_YOURTURN) == 0) { printf("Digite X ou O:"); scanf("%c", <); printf("Digite a posição desejada:\n0|1|2\n3|4|5\n6|7|8\n"); scanf("%d", &opt); sprintf(string, "%s %c %d", MSG_PLACE, lt, opt); sendToServer(string); } recvFromServer(feedback); recvFromServer(feedback); for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { if(feedback[i*3 + j] != '\0') printf("%c", feedback[i*3 + j]); else printf(" "); } printf("\n"); } break; default: system("clear"); printf("Opção inválida\n"); break; } } sendToServer(MSG_LOGOUT); exit(0); }