void TwixtSocket::quit() { //cout << "Asking prolog to quit" << endl; char buff[] = "quit.\n"; envia(buff, 6); char ans[128]; recebe(ans); }
int main() { recebe (); system("pause"); return 0; }
void Game::updateScores(){ //Actualizar o resultado do jogo apos uma jogada efectuada char buffer[256]; sprintf(buffer, "getScore(%s).\n", this->tabProlog); envia(buffer, strlen(buffer)); //Recebe resposta char ans[256]; recebe(ans); int i = 3; //Ler a partir daqui if(strncmp(ans, "ok", 2) == 0){ char score1[5]; while(ans[i] != ','){ score1[i-3] = ans[i]; i++; } score1[i-3] = '\0'; this->player1->score = atoi(score1); i++; char score2[5]; int j=0; while(ans[i] != ')'){ score2[j] = ans[i]; j++; i++; } score2[j] = '\0'; this->player2->score = atoi(score2); } }
void quit() { cout << "Asking prolog to quit" << endl; char buff[] = "quit.\n"; envia(buff, 6); char ans[128]; recebe(ans); }
void Game::initializeSocket(int type){ if(firstGame) socketConnect(); char connectMsg[256]; if(type == 1) sprintf(connectMsg, "initialize(%i, 1).\n", this->gameboard->size); else if (type == 2) //Man vs CPU sprintf(connectMsg, "initialize(%i, 2, %s).\n", this->gameboard->size, this->player2->cpudiff); else if(type == 3) //CPU vs Man sprintf(connectMsg, "initialize(%i, 3, %s).\n", this->gameboard->size, this->player1->cpudiff); else if(type == 4) sprintf(connectMsg, "initialize(%i, 4, %s, %s).\n", this->gameboard->size, this->player1->cpudiff, this->player2->cpudiff); printf("%s\n", connectMsg); envia(connectMsg, strlen(connectMsg)); char ans[256]; recebe(ans); //Guardar o tabuleiro PROLOG int i=3; while(true){ if(ans[i] == ')') break; this->tabProlog[i-3] = ans[i]; i++; } this->tabProlog[i-3] = '\0'; char* buf = (char*)malloc(256*sizeof(char)); strcpy(buf, this->tabProlog); gameboardsProlog.push(buf); }
void main(void) { struct aluno a; clrscr(); recebe(a); printf("\n%s tem %d anos\n",a.nome,a.idade); getch(); }
void far procReceptor2(){ char emissor[35]; char msg[25]; while (1) { recebe(emissor, msg); printf("Mensagem: %s recebida do processo %s\n", msg, emissor); } }
int main() { char txt1[tam]; gets(txt1); tiravogal(txt1); recebe(); system("pause"); return 0; }
void Game::makeCpuPlay(){ char buffer[256]; char ans[256]; sprintf(buffer, "cpuPlay(%i, %s).\n", this->currentPlayer, this->tabProlog); envia(buffer, strlen(buffer)); recebe(ans); processAnswer(ans); }
int exclui(char* str, char* strr){ int i = 0,e = 0; while ( i <= strlen(str)-1 ){ se(str, &i); recebe(strr, str, e, i); i++; e++; } finaliza(strr, e); }
/** * [receiverThread Thread function to call recebe() for each sender] * @param param [The id of the receiver thread] */ void* receiverThread(void* param) { int id; id = *((int*) param); int i; for(i = 0; i < N_SENDERS; i++) recebe(id); return NULL; }
int main(){ int c, d, u, n; n = recebe(); c = sc(n); d = sd(n); u = su(n); print(c); print(d); print(u); }
int main() { char string1[tam], string2[tam]; printf("string1: "); gets(string1); printf("string2: "); gets(string2); verifica(string1, string2); recebe(); system("pause"); return 0; }
int main(){ int i, vetor[10] = { 0 }; printf("Insira 10 valores:\n"); for(i=0;i<10;i++){ printf("Valor %d: \n", i+1); scanf("%d", &vetor[i]); } printf("VETOR ORIGINAL:\n"); for(i=0;i<10;i++){ printf("Valor: %d ", vetor[i]); } printf("\n"); recebe(&vetor); return 0; }
int main(void){ int original[DIM], copia[DIM], dobrado[DIM]; recebe(original); copiar(copia, original); dobrar(dobrado, original); printf("Vetor Original: "); exibir(original); printf("\nVetor copiado: "); exibir(copia); printf("\nVetor dobrado: \n"); exibir(dobrado); return 0; }
void Game::makePlay(GLuint selected){ char buffer[256]; char ans[256]; int i=3; //De 1 a size do tabuleiro - BACK-NUMBER if(selected >=1 && selected <= this->gameboard->size){ printf("Back %d\n", selected); //comunicação - é pedida a avaliação da jogada // caso positivo - desenha a animaçao //desenha novo tabuleiro sprintf(buffer, "executePlay(%d, %s, %d, %s).\n", this->currentPlayer, "'B'", selected, this->tabProlog); } //De size+1 até size*2 - 1 else if(selected >= this->gameboard->size+1 && selected <= (this->gameboard->size*2)){ int position = selected - this->gameboard->size; printf("Front %d", position); sprintf(buffer, "executePlay(%d, %s, %d, %s).\n", this->currentPlayer, "'F'", position, this->tabProlog); } //De size*2 até size*3 - 1 else if(selected >= (this->gameboard->size)*2+1 && selected <= (this->gameboard->size*3)){ int position = selected - this->gameboard->size*2; printf("Left: %d", position); sprintf(buffer, "executePlay(%d, %s, %d, %s).\n", this->currentPlayer, "'L'", position, this->tabProlog); //Partir a resposta em tabuleiro - x - y } //De size*3 até ao fim else if(selected >= (this->gameboard->size)*3+1){ int position = selected - this->gameboard->size*3; printf("Right: %d", position); sprintf(buffer, "executePlay(%d, %s, %d, %s).\n", this->currentPlayer, "'R'", position, this->tabProlog); } envia(buffer, strlen(buffer)); recebe(ans); processAnswer(ans); }
//insere uma estrela na tabela e grava a tabela no ficheiro void insere_estrela() { //antes de inserir uma estrela tem que se acrescentar um espaco na tabela, por isso, ao numero de linhas inicial (que estao no ficheiro: n_linhas()+1) soma-se um e realoca-se o espaco disponivel estrelas=(dados*)realloc(estrelas,sizeof(dados)*(n_linhas()+2)); preenche_tabela(); char n[1000]; //armazena o nome float mf; //armazena a massa depois de ser transformada de string para float char m[1000]; //armazena a massa como string char cl[1000]; //armazena a classe char co[1000]; //armazena a constelacao do { printf("\nNome da estrela: "); recebe(n); if (strlen(n)==0) printf("\n-----Invalido----- \nPara nome desconhecido introduza ?\n"); else break; }while(strlen(n)==0); do { printf("\nMassa da estrela: "); recebe(m); int stat=sscanf(m,"%f",&mf); //converte a string m para um float mf if (strcmp(m,"?")==0) //se tiver ?, faz mf=0 {mf=0;break;} else if (stat==1) {sscanf(m,"%f",&mf);break;} //se tiver numero, guarda-o em mf else if(stat == 0 || stat == -1) //se nao tiver valor numerico ou qualquer valor printf("\n-----Invalido----- \nIntroduza um valor numerico. (Para massa desconhecida introduza ?)\n"); }while(stat==0 || stat == -1); do { printf("\nClasse: "); recebe(cl); if (strlen(cl)==0) printf("\n-----Invalido----- \nPara classe desconhecida introduza ?\n"); else break; }while (strlen(cl)==0); do { printf("\nConstelacao: "); recebe(co); if (strlen(co)==0) printf("\n-----Invalido----- \nPara constelacao desconhecida introduza ?\n"); else break; }while (strlen(co)==0); estrelas[n_linhas()+1].nome=strdup(n); estrelas[n_linhas()+1].massa=mf; estrelas[n_linhas()+1].classe=strdup(cl); estrelas[n_linhas()+1].constelacao=strdup(co); escreve_tabela_ficheiro(); }
int main() { puts(recebe()); system("pause"); return 0; }
//altera os dados seleccionados pelo utilizador na tabela e escreve-a para o ficheiro void corrige_dados() { preenche_tabela(); int i=0; int opcao,opcao2; char n[1000]; float mf; char m[1000]; char cl[1000]; char co[1000]; //mostra as estrelas que existem na tabela while (i<=n_linhas()) { if (i==n_linhas()) { printf("\n%d) %s\n",i,estrelas[i].nome); i=i+1; } else if (i==(n_linhas()-1)) { printf("\n%d) %s %d) %s \n",i,estrelas[i].nome,i+1,estrelas[i+1].nome); i=i+2; } else if (i!=n_linhas()) { printf("\n%d) %s %d) %s %d) %s \n",i,estrelas[i].nome,i+1,estrelas[i+1].nome,i+2,estrelas[i+2].nome); i=i+3; } } do { int ver = scanf("%d",&opcao); if (opcao>n_linhas() || opcao<0 || ver == 0) printf("OPCAO INCORRECTA!\n opcao: "); else break; }while (opcao>n_linhas() || opcao<0 || ver ==0); //mostra os campos da estrela seleccionada printf("\n--- %s ---\n",estrelas[opcao].nome); printf("%7.2f MSol ",estrelas[opcao].massa); printf("Class: %s ",estrelas[opcao].classe); printf("Constelacao: %s\n\n",estrelas[opcao].constelacao); printf("Deseja corrigir:\n"); printf("O nome .........1\n"); printf("A massa ........2\n"); printf("A classe .......3\n"); printf("A constelacao...4\n"); do { fflush(stdin); int ver2 = scanf("%d",&opcao2); getchar(); if (opcao2<1 || opcao2>4 || ver2==0) printf("OPCAO INCORRECTA!\n opcao: "); else break; }while (opcao<1 || opcao2>4 || ver2==0); switch(opcao2) { case 1: do { printf("\nNome da estrela: "); recebe(n); if (strlen(n)==0) printf("\n-----Invalido----- \nPara nome desconhecido introduza ?\n"); else break; }while(strlen(n)==0); estrelas[opcao].nome=strdup(n); break; case 2: do { printf("\nMassa da estrela: "); recebe(m); int stat=sscanf(m,"%f",&mf); //converte a string m para um float mf if (strcmp(m,"?")==0) //se tiver ?, faz mf=0 {mf=0;break;} else if (stat==1) {sscanf(m,"%f",&mf);break;} //se tiver numero, guarda-o em mf else if(stat == 0 || stat == -1) //se nao tiver valor numerico ou qualquer valor printf("\n-----Invalido----- \nIntroduza um valor numerico. (Para massa desconhecida introduza ?)\n"); }while (stat ==0 || stat == -1); estrelas[opcao].massa=mf; break; case 3: do { printf("\nClasse da estrela: "); recebe(cl); if (strlen(cl)==0) printf("\n-----Invalido----- \nPara classe desconhecida introduza ?\n"); else break; }while (strlen(cl)==0); estrelas[opcao].classe=strdup(cl); break; case 4: do { printf("\nConstelacao da estrela: "); recebe(co); if (strlen(co)==0) printf("\n-----Invalido----- \nPara constelacao desconhecida introduza ?\n"); else break; }while (strlen(co)==0); estrelas[opcao].constelacao=strdup(co); break; default: printf("opcao incorrecta"); } escreve_tabela_ficheiro(); }
void main(){ recebe(); }