Dai un'occhiata alle modifiche in rosso
codice:void movimentoPersonaggio() { int iRiga = 0; int iColonna = 0; int moved; // Muovo il personaggio. do { moved=0; cin >> tastoMovimento; for (iRiga = 0; iRiga < 10; iRiga++) { for (iColonna = 0; iColonna < 10; iColonna++) { if (mappaDiGioco[iRiga][iColonna] == '*') { switch (tastoMovimento) { case 'w': case 'W': if (mappaDiGioco[iRiga-1][iColonna] != '"') { mappaDiGioco[iRiga][iColonna] = ' '; mappaDiGioco[iRiga-1][iColonna] = '*'; moved=1; } break; case 'a': case 'A': if (mappaDiGioco[iRiga][iColonna-1] != '"') { mappaDiGioco[iRiga][iColonna] = ' '; mappaDiGioco[iRiga][iColonna-1] = '*'; moved=1; } break; case 's': case 'S': if (mappaDiGioco[iRiga+1][iColonna] != '"') { mappaDiGioco[iRiga][iColonna] = ' '; mappaDiGioco[iRiga+1][iColonna] = '*'; moved=1; } break; case 'd': case 'D': if (mappaDiGioco[iRiga][iColonna+1] != '"') { mappaDiGioco[iRiga][iColonna] = ' '; mappaDiGioco[iRiga][iColonna+1] = '*'; moved=1; } break; } } if(moved) break; } } visualizzaMappa(); } while (fineGioco == false); }