#include "stdafx.h" #define N 10 void moveri(char *cambio, int /*&*/posicion, int dim) { int pos_vieja = posicion + 1; *(cambio + posicion) = '*'; if (pos_vieja == dim) pos_vieja = 0; *(cambio + pos_vieja) = '-'; } void moverd(char *cambio, int /*&*/posicion, int dim) { int pos_vieja = posicion - 1; *(cambio + posicion) = '*'; if (pos_vieja < 0) pos_vieja = dim - 1; *(cambio + pos_vieja) = '-'; } void opcion(char opc, char *cambio, int &posicion, int dim) { switch (opc) { case 'd': { if (posicion == dim - 1) posicion = 0; else posicion++; moverd(cambio, posicion, N); break; } case 'i': {if (posicion == 0) posicion = dim - 1; else posicion--; moveri(cambio, posicion, N); break; } default: printf("Elija una opcion valida"); } } void impr_mundo(char *m /* m[]*/, int dim) { int i; for (i = 0; i < dim; i++) printf("%c ", *(m + i)); printf("\n"); } int main() { char mundo[N]; int posicion = rand() % N, i; for (i = 0; i < N; i++) mundo[i] = '-'; mundo[posicion] = '*'; char opc, *cambio = mundo; printf("\n\nElija hacia a donde quiere mover el luegar del asterisco\n"); printf("Derecha:[d] Izquierda: [i]\n\n\t"); bool siempre = true; while (siempre == true) { impr_mundo(mundo, N); printf("Opcion: "); opc = _getch(); opcion(opc, mundo, posicion, N); } return 0; }