
w0lv3r1n3
Membros-
Total de itens
38 -
Registro em
-
Última visita
Sobre w0lv3r1n3

Perfil
-
Gender
Male
Contatos
-
Yahoo
w0lv3r1n3und3rgr0und@yahoo.com
w0lv3r1n3's Achievements
0
Reputação
-
Cara....tenta da uma olhada sobre maquina finita de estados (FSM - finity state machine) ela funcionaria mais ou menos assim (pro batalha naval) 2 estados: 1 - Aleatorio 2 - Destruir barco encontrado No modo aleatorio: fazer um random, e atirar, ateh acertar algum barco, dai voce muda o estado pra Destruir barco encontrado... No modo Destruir barco encontrado: voce tem que checar todos os lados que o barco podem estar, cima, baixo, esq, direita, e a quantidades de pecas q o barco tem (no caso de encontrar o P , 6). dai de acordo com a direcao escolhida voce vai atirar.... se for agua e a quantidade acertada ainda for menor que 6, escolhe outra direcao.... ficando assim ateh chegar a quantidade acertada = a qtd de pecas... quando isso acontece, você muda pro estado aleatorio dinovo :D!! espero ter ajudado...dps quando tiver um tempo eu tento fazer um cod parecido pra você ve!! abrassss
-
existe essa ai: ClibPDF porem nunca trabalhei com ela!
-
Voce conhece alguma em java que faca isso?!
-
a logica é a seguinte.... voce vai ter que ler o arquivo, e ir guardando tudo em uma estrutura.... depois de ter feito isto é só voce escrever o conteudo que voce deseja (que voce vai ter na estrutura ) no arquivo de saida... para operacoes com arquivos da uma procurada nas funcoes fscanf, fprintf... qualquer duvida posta ae abrasss
-
Voce ta guardando esses dados em alguma estrutura enquanto esta lendo o arquivo??
-
o while já ta em C! o szText é um vetor de 50 characteres...mas podia ser quanto voce quiser!! sobre namespace Wiki - Namespace qualquer coisa posta ai
-
então.... achei alguns errinhos... ele não esta passando pela funcao, porque voce chama ela passando alguns parametros AI_PC(Jogador,Jogadorcm,y,z,Contador); tanto o y quanto o z estao valendo 0 então ele entra nesse if: if ((z == 0) && (y == 0)) e não passa pelo else, que é aonde tem a funcao: Computador_Joga ....fora isso voce ainda esta fazendo: ContadorJogador += O; (inteiro ) += O (letra O); não entendi qual o objetivo de somar a letra o nessa variavel.... da uma reformulada no teu codigo.... tenta fazer um esboco dele no papel...antes de comecar a programar tenta pensar em todas as logicas antes de comecar a programar também... qualquer coisa posta ai
-
O que seria esse layout... qual compilador voce esta usando?
-
voce esta utilizando fscanf(file, "%s",dado); para uma variavel que eu acho que deve ser do tipo INT, (dado)... se a declaracao da tua variavel dado for = a : int dado; voce vai ter que usar %d ao invés de %s, agora se ela for char mesmo, voce vai precisar converter pra inteiro na hora da atribuicao (L.vetor.numInsc = atoi(dado)) espero ter ajudado... abrasss
-
cara... este tópico abaixo é quase a mesma coisa que voce quer..... ele procura no arquivo um texto.... o que voce vai ter que fazer, é armazenr as tags existente em um vetor (ou lista, ou qualquer otra estrutura) , e depois ir lendo o arquivo, quando voce encontrar um texto q é = a tag de abertura, voce adiciona na pilha, quando voce encontrar a tag de fechamento voce desempilha... ex: if(!strcmp(szTexto, "<body>")) empilha "<body>" if(!strcmp(szTexto, "</body")) desempilha "<body"> [tópico] Como fazer busca em arquivo abrass
-
cara....eu fiz uma funcaozinha aqui...que poe qualquer barco q você desejar... (ela não ta muito boa não, porque eu tentei fazer de um jeito que voce não tivesse que arrumar o resto do teu codigo) segue a funcao: #define DIREITA 0 #define ESQUERDA 1 #define CIMA 2 #define BAIXO 3 void PlaceBoat(char cMatriz[][10], int iLenght, char cChar) { bool bPlaced = false; bool bTryPut = false; int iX, iY; int iDirs[4]; while(!bPlaced) { iX = rand()%10; iY = rand()%10; if(cMatriz[iX][iY]) continue; if(iLenght == 1) { cMatriz[iX][iY] = cChar; bPlaced = true; break; } for(int i = 0; i < 4; i++) iDirs[i] = 1; if(iX - iLenght < 0 ) iDirs[DIREITA] = 0; if(iX + iLenght > 9 ) iDirs[ESQUERDA] = 0; if(iY - iLenght < 0 ) iDirs[CIMA] = 0; if(iY + iLenght > 9 ) iDirs[BAIXO] = 0; for(int i = 0; i < 4; i++) { if(iDirs[i]) { bTryPut = true; break; } } while(bTryPut) { bTryPut = false; if(iDirs[DIREITA]) { for(int i = 0; i < iLenght; i++) { if(cMatriz[iX+i][iY]) { bTryPut = true; iDirs[DIREITA] = 0; break; } } if(!bTryPut) { for(int i = 0; i < iLenght; i++) cMatriz[iX+i][iY] = cChar; bPlaced = true; break; } } bTryPut = false; if(iDirs[ESQUERDA]) { for(int i = 0; i < iLenght; i++) { if(cMatriz[iX-i][iY]) { bTryPut = true; iDirs[ESQUERDA] = 0; break; } } if(!bTryPut) { for(int i = 0; i < iLenght; i++) cMatriz[iX-i][iY] = cChar; bPlaced = true; break; } } bTryPut = false; if(iDirs[CIMA]) { for(int i = 0; i < iLenght; i++) { if(cMatriz[iX][iY-i]) { bTryPut = true; iDirs[CIMA] = 0; break; } } if(!bTryPut) { for(int i = 0; i < iLenght; i++) cMatriz[iX][iY-i] = cChar; bPlaced = true; break; } } bTryPut = false; if(iDirs[BAIXO]) { for(int i = 0; i < iLenght; i++) { if(cMatriz[iX][iY+i]) { bTryPut = true; iDirs[BAIXO] = 0; break; } } if(!bTryPut) { for(int i = 0; i < iLenght; i++) cMatriz[iX][iY+i] = cChar; bPlaced = true; break; } } bTryPut = false; } } } dai eu troquei esta funcao: void Preencher_Matriz_Barco(char Matriz[][10]) { Insere_PortaAviao(Matriz); Insere_Submarino(Matriz); Insere_Submarino(Matriz); Insere_Fragata(Matriz); Insere_Fragata(Matriz); Insere_Mina(Matriz); Insere_Mina(Matriz); Insere_Mina(Matriz); } por esta: void Preencher_Matriz_Barco(char Matriz[][10]) { PlaceBoat(Matriz, 6, 'P'); PlaceBoat(Matriz, 4, 'S'); PlaceBoat(Matriz, 4, 'S'); PlaceBoat(Matriz, 2, 'F'); PlaceBoat(Matriz, 2, 'F'); PlaceBoat(Matriz, 1, 'M'); PlaceBoat(Matriz, 1, 'M'); PlaceBoat(Matriz, 1, 'M'); } espero ter ajudado a sugestao que te dou, é que sempre que tiver que fazer alguma coisa que vai fazer mais de uma vez (mesmo que seja um pokim diferente), crie uma funcao generica, vai te poupar trabalho, e fica mais facil dar manutencao depois :D!! abrassss ps: o codigo não esta muito bem escrito não.. da pra melhorar ele!!! ahh.... esqueci de mencionar..... voce só precisa utilizar a funcao srand 1 vez no programa inteiro.... eu coloquei ela no main antes da funcao de Inicio srand(time(NULL));
-
pedrovg, se voce sabe apos qual palavra o texto vai estar fika facil achar.... voce só precisa procurar no arquivo ateh achar a palavra que voce quer, e depois pegar a proxima. segue um exemplo: #include <stdio.h> #include <iostream> using namespace std; int main() { FILE *pArq = fopen("arquivo.txt", "r"); char szText[50]; if(!pArq) { cout << "Error: não foi possivel abrir o arquivo!" << endl; getchar(); exit(1); } while((fscanf(pArq, "%s", szText)) != EOF ) { if(!strcmp(szText, "Nome:") && (fscanf(pArq, "%s", szText)) != EOF ) cout << "Nome.: " << szText << endl; if(!strcmp(szText, "Idade:") && (fscanf(pArq, "%s", szText)) != EOF ) cout << "Idade: " << szText << endl; } delete pArq; getchar(); } e o arquivo.txt desse jeito: Nome: hhdslhgldf Idade: 13 sexo M rua país cep espero ter ajudado.... abrasss
-
cara.... não manjo muito de smart não.... mas se tu manda o codigo agente pode dar uma olhada abrass
-
desculpe, não sei porque mas os links ficaram errados... segue os links corretos: não bom....o editor aqui não aceita que eu poste os links, pois ele automaticamente acentua os mesmos então segue sem a tag de link [favor remover a acentuacao] http://dqsoft.blogspot.com/2009/02/o-não-t...adigmas_09.html http://dqsoft.blogspot.com/2009/02/o-não-t...adigmas_11.html
-
erro não da...só que ele passa pela funcao que coloca a fragata, mas ele sai dela antes de colocar... (as vezes) dependendo do random :P