none
problema com logica, variavel++ esta diminuindo RRS feed

  • Pergunta

  • fala ae pessoal

    to com um problma que so esta acontecendo com o Visual Studio, pelo Dev Cpp funciona direitinho

    é uma batalha naval, cada campo "atiravel" tem um valo de 0 a 224, sendo q dentro de cada linha fica invertido

    ex:

    no console exibe assim para o usuario final:

    ~ ~ ~ ~ ~ ~ 

    ~ ~ ~ ~ ~ ~ 

    ~ ~ ~ ~ ~ ~ 

    na verdade cada um tem uma cordenada, entao o programa enxerga assim

    00 01 02 03 04 05

    06 07 08 09 10 11

    12 13 14 15 16

    só que no visual studio esta enxergando ao contrario :

    05 04 03 02 01 00

    11 10 09 08 07 06

    16 15 14 13 12 ...

    o pedaço do codigo é esse com a visao do usuario (tudo ~ ~ ~ ~)

    for(int cont=0 ; cont <225; cont++) {
                    if (cont <= 24 ) {cout << "0  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "\n\n";}
                    
                    if (cont > 24 <= 49) {cout << "1  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    if (cont > 49 <= 74) {cout << "2  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    if (cont > 74 <= 99) {cout << "3  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    if (cont > 99 <=124) {cout << "4  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    if (cont > 124<=149) {cout << "5  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    if (cont > 149<=174) {cout << "6  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "\n\n";}
                    
                    if (cont > 174<=199) {cout << "7  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    if (cont > 199<=224) {cout << "8  " << O[cont++] << "  "<< O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++] << "  " << O[cont++]  << "\n\n";}
                    
                    }

    deixando só o cont++ que eu vi o problema

    se quizerem examinar o codigo todo esta ai em baixo, só que esse esta na visualização de modo que enxergue cada cordenada, e nao só "~  ~  ~  ~"aqui esta o codigo todo

    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    
    using namespace std;
    
    int main() {
        int op;
        do {
            //inicia menu
            cout <<" #  #  #  #  #  #  #  #  #  #  #  #  Batalha Naval  #  #  #  #  #  #  #  #  #  # \n";
            cout <<"\n";
            cout <<" #                                                                             # \n";
            cout <<"\n";
            cout <<" #  1 - Iniciar Partida                                                        # \n";
            cout <<"\n";
            cout <<" #  2 - Modo Ajuda                                                             # \n";
            cout <<"\n";
            cout <<" #  3 - Sobre                                                                  # \n";
            cout <<"\n";
            cout <<" #  4 - Sair                                                                   # \n";
            cout <<"\n";
            cout <<" #                                                                             # \n";
            cout <<"\n";
            cout <<" #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #  #\n";
           
            cout << "Opcao: ";
            cin >> op;
            
            int temp = 0; 
            
            switch(op) {   
                       case 1:
                       case 2: //simulacao de carregamento
                           system("cls");
                           cout << "Carregando controle e interface\nCaso sinta dificuldade inicie pelo 'Modo Ajuda'\n\n";
                           
                           for(temp; temp<600000000; temp++) {
                                     if (temp == 100000 || temp==1000000 || temp==10000000
                                       ||temp==10200000 || temp==10500000 || temp==50100000
                                       ||temp==60100000 ||temp==70100000 ||temp==80100000
                                       ||temp==90100000 ||temp==100100000 ||temp==130100000 
                                       ||temp==150100000||temp==250100000||temp==250100000
                                       ||temp==250100000||temp==250100000||temp==250100000
                                       ||temp==250100000||temp==250100000||temp==250100000
                                       ||temp==250100000||temp==250100000||temp==250100000
                                       ||temp==270100000 || temp==70000000) {
                                              cout << "|||||";
                                              } //fexa if
                                                                                   
                                              
                           } break;
                       case 3: 
                               cout << "Jogo desenvolvido por Yuri Araujo";
                               system("pause>null");
                               break;
                       case 4: break;
                               
                       default: cout << "opcao invalida, tente novamente";
                       system("pause>null");
                                              
                                             
                           
                   } // fexa switch
                           system("cls");
                                     
                           
            } while (op == 3);
            
            /* fim do menu
            e inicio de jogo */
            
            if (op == 1 || op == 2) {
                   
                   
                   
                          
                   int game = 1; // jogo em funcionamento
                   int cordx; int cordy; // cordenadas
                   char O[225]; // mar
                   int alvo[225]; //objeto
                   int valores[6] = {0,0,0,0,0,0}; // verifica se ja existe objeto neste local
                   int igual = 1;
                   
                                   
                   
                   /*cria os objetos alvos*/
                   srand(time(NULL));
                   do {
                       
                   for (int cont = 0; cont <= 5; cont++) {
                       
                       int valor = rand()%220;
                       valores[cont] = valor;
                       
                       alvo[valor] = 1;
                       alvo[valor + 1] = 1;
                       alvo[valor + 2] = 1;
                       if(op == 2)
                       {if(valor >= 0 && valor <= 24 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 0 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                       if(valor > 24 && valor <= 49 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 1 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                       if(valor > 49 && valor <=74 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 2 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                       if(valor > 74 && valor <=99 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 3 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                       if(valor > 99 && valor <= 124 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 4 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                        if(valor > 124 && valor <= 149 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 5 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                        if(valor > 149 && valor <= 174 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 6 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                        if(valor > 174 && valor <= 199 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 7 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                         if(valor > 199 && valor <= 224 ) {
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor << " Linha 8 \n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 1 << "\n";
                       cout << "versao ajuda: " << "Objeto : "<< cont << " Cordenada: " << valor + 2 << "\n";
                       }
                       }
                       }
        
                       
                       //verifica se existe algum objeto no mesmo local, caso existe recoloca todos os objetos no local novamente
                       if (valores[5] == valores[0] || valores[5] == valores[1] || valores[5] == valores[2] ||  valores[5] == valores[3] ||  valores[5] == valores[4]
                         ||valores[4] == valores[0] || valores[4] == valores[1] || valores[4] == valores[2] ||  valores[4] == valores[3]
                         ||valores[3] == valores[0] || valores[3] == valores[1] || valores[3] == valores[2] ||  valores[3] == valores[4]
                         ||valores[2] == valores[0] || valores[2] == valores[1] ||  valores[2] == valores[3] ||  valores[2] == valores[4]
                         ||valores[1] == valores[0] || valores[1] == valores[2] ||  valores[1] == valores[3] ||  valores[1] == valores[4]) {                                
                                      igual = 1;
                                      
                                      } else {
                                      igual = 0;
                                     
                                      }
                                           
                         
                       } while (igual != 0);
                    for (int cont = 0; cont <=225; cont++) { //gera o texto de cada objeto, nesse caso
                    O[cont] = '~';                           // todos sao agua
                    }
                    
                    
                    while(game != 0) {
                              
                    
                    //interface grafica do jogo (Mar)
                    
                    
                                      cout << "   0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n\n";
                    
                    for(int cont = 1 ; cont < 225; cont++) {
                   if (cont <= 24 ) {cout << "0  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "\n\n";}
                    		
                    if (cont > 24 <= 49) {cout << "1  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    if (cont > 49 <= 74) {cout << "2  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    if (cont > 74 <= 99) {cout << "3  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    if (cont > 99 <=124) {cout << "4  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    if (cont > 124<=149) {cout << "5  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    if (cont > 149<=174) {cout << "6  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "\n\n";}
                    
                    if (cont > 174<=199) {cout << "7  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    if (cont > 199<=224) {cout << "8  " << cont++ << "  "<< cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++ << "  " << cont++  << "\n\n";}
                    
                    } //fexa for
                    
                   
        cout << "Coluna: ";
         cin >> cordx;
         cout << "Linha: ";
         cin >> cordy;
         
         int verif;
         //verifica se os numeros estao dentro da grade
         if (cordx <= 24 && cordy <= 8) {
                    verif = cordx + (24*cordy) + cordy;
                   } else {
                   while (cordx >24 || cordy >8) {
                         cout << "Numero fora da grade, tenta novamente\n";
                         cout << "Coluna: ";
                         cin >> cordx;
                         cout << "Linha: ";
                         cin >> cordy;
                         }
                         verif = cordx + (24*cordy) + cordy;
                   } // fim da verificacao
                         
         if ((alvo[verif] == 1)) { // verifica se acertou
                         O[verif] = 'X'; ; 
                         }
                         else
                         { O[verif] = '0';
                         }
                         
         // verifica se foi detonado
         int cvezes = 0;
         for (int c = 0; c <= 225; c++) {
             if (O[c] == 'X') {
                      cvezes++;
                      } else {
                           cvezes = 0;
             }
             if(alvo[c+1] == 0){
                        if (cvezes == 3) {
                        O[c] = 'T';
                        O[c - 1] = 'E';
                        O[c - 2] = 'D';
                        } else {
                               if (cvezes == 4){
                               O[c] = 'O';
                               O[c - 1] = 'T';
                               O[c - 2] = 'E';
                               O[c - 3] = 'D';
                        } else
                               if (cvezes == 5){
                               O[c] = 'N';
                               O[c - 1] = 'O';
                               O[c - 2] = 'T';
                               O[c - 3] = 'E';
                               O[c - 4] = 'D';
                        } else
                               if (cvezes == 6){
                               O[c] = 'D';
                               O[c - 1] = 'N';
                               O[c - 2] = 'O';
                               O[c - 3] = 'T';
                               O[c - 4] = 'E';
                               O[c - 5] = 'D';
                        }
             }
             }
             
             } 
     
         system("cls");
         
         }
         
         
         }
         system("pause>null");
    }
    

    • Editado Yuri Araujo quarta-feira, 21 de novembro de 2012 18:52
    quarta-feira, 21 de novembro de 2012 18:39