Ejemplo n.º 1
0
void TwixtSocket::quit() {
	//cout << "Asking prolog to quit" << endl;
	char buff[] = "quit.\n";
	envia(buff, 6);
	char ans[128];
	recebe(ans);
}
Ejemplo n.º 2
0
int main()
{

	recebe ();
	system("pause");
	return 0;
}
Ejemplo n.º 3
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);
	}
}
Ejemplo n.º 4
0
void quit() {
	cout << "Asking prolog to quit" << endl;
	char buff[] = "quit.\n";
	envia(buff, 6);
	char ans[128];
	recebe(ans);
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
void main(void)
{
  struct aluno a;
  clrscr();
  recebe(a);
  printf("\n%s tem %d anos\n",a.nome,a.idade);
  getch();
}
Ejemplo n.º 7
0
void far procReceptor2(){
	char emissor[35];
	char msg[25];
	while (1) {
		recebe(emissor, msg);
		printf("Mensagem: %s recebida do processo %s\n", msg, emissor);
	}

}
Ejemplo n.º 8
0
int main()
{
	char txt1[tam];
	gets(txt1);
	tiravogal(txt1);
	recebe();
	system("pause");	
	return 0;
}
Ejemplo n.º 9
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);
}
Ejemplo n.º 10
0
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);
}
Ejemplo n.º 11
0
/**
 * [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;
}
Ejemplo n.º 12
0
int main(){
  int c, d, u, n;
  n = recebe();
  c = sc(n);
  d = sd(n);
  u = su(n);

  print(c);
  print(d);
  print(u);

}
Ejemplo n.º 13
0
int main()
{
	char string1[tam], string2[tam];
	printf("string1: ");
	gets(string1);
	printf("string2: ");
	gets(string2);
	verifica(string1, string2);
	recebe();	
	system("pause");	
	return 0;
}
Ejemplo n.º 14
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;
}
Ejemplo n.º 15
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;
}
Ejemplo n.º 16
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);
}
Ejemplo n.º 17
0
//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;	
}
Ejemplo n.º 19
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();

}