elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Podrían hacerme favor de Revisar?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Podrían hacerme favor de Revisar?  (Leído 1,886 veces)
MarSan

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Podrían hacerme favor de Revisar?
« en: 1 Julio 2015, 01:08 am »

Hola, estoy haciendo mi Juego traffic Blocks, pero ahora quiero que cada bloque pueda moverse y que se guarde su movimiento, también necesito hacer que si hay un bloque frente de el bloque que necesitamos mover este no pueda moverse. Tengo la vaga idea de que con un switch se le pregunte al usuario que bloque quiere mover, pero lo que no se me ocurre es cómo hacer que se muevan los bloques y se guarde su ultima posicion así como lo demás ya antes planteado. Les dejo el código, espero puedan ayudarme.

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <windows.h>
  5. #include "instrucciones.cpp"
  6.  
  7.  
  8. using namespace std;
  9.  
  10.  
  11. main()
  12. {
  13.      int menu, ret, i, seleccion, a;
  14.      gotoxy(20,3);
  15.      for(i=0; i<2; i=ret)
  16. {
  17.      menu:
  18.      printf("BIENVENIDO A TRAFFIC BLOCKS \n MENU: \n \n");
  19.      printf(" 1.-INSTRUCCIONES\n 2.-INICIAR JUEGO\n 3.-ACERCA DE\n 4.-SALIR\n\n");
  20.      scanf("%d", &menu);
  21.      system("CLS");
  22.  
  23.  
  24.      switch(menu)
  25.      {
  26.                   case 1:
  27.                       printf("INSTRUCCIONES:");
  28.                       instructivo();
  29.  
  30.                       system("CLS");
  31.                       printf(" \nPulsa 1 si deseas volver al menu anterior\n o pulsa cualquier tecla para finalizar\n\n");
  32.                       scanf("%d", &ret);
  33.                       system("CLS");
  34.                       break;
  35.  
  36.                  case 2:
  37.                        {
  38.                             char op, c, z;
  39.                             int x=0,y=0,a;
  40.  
  41.  
  42.                             gotoxy (x,y);
  43. system ("color 17");
  44.  
  45.                             gotoxy (x,y);
  46. system ("color 17");
  47.  
  48. gotoxy(x+2,y+6);
  49. printf ("O==O");
  50. gotoxy (x+2,y+7);
  51. printf ("O==O");
  52.  
  53. gotoxy (x+2,y+8);
  54. printf ("%c%c",219,219);
  55. gotoxy (x+2,y+9);
  56. printf ("%c%c",219,219);
  57. gotoxy (x+2,y+10);
  58. printf ("%c%c",219,219);
  59. gotoxy (x+2,y+11);
  60. printf ("%c%c",219,219);
  61. gotoxy (x+2,y+12);
  62. printf ("%c%c",219,219);
  63. gotoxy (x+2,y+13);
  64. printf ("%c%c",219,219);
  65.  
  66. gotoxy (x+4,y+4);
  67. printf ("%c%c%c%c",1,1,1,1);
  68. gotoxy (x+4,y+5);
  69. printf ("%c%c%c%c",1,1,1,1);
  70.  
  71. gotoxy (x+4,y+8);
  72. printf ("%c%c",169,169);
  73. gotoxy (x+4,y+9);
  74. printf ("%c%c",169,169);
  75. gotoxy (x+4,y+10);
  76. printf ("%c%c",169,169);
  77. gotoxy (x+4,y+11);
  78. printf ("%c%c",169,169);
  79.  
  80. gotoxy (x+14,y+10);
  81. printf ("%c%c",30,30);
  82. gotoxy (x+14,y+11);
  83. printf ("%c%c",30,30);
  84. gotoxy (x+14,y+12);
  85. printf ("%c%c",30,30);
  86. gotoxy (x+14,y+13);
  87. printf ("%c%c",30,30);
  88.  
  89. gotoxy (x+14,y+10);
  90. printf ("%c%c",186,186);
  91. gotoxy (x+14,y+11);
  92. printf ("%c%c",186,186);
  93. gotoxy (x+14,y+12);
  94. printf ("%c%c",186,186);
  95. gotoxy (x+14,y+13);
  96. printf ("%c%c",186,186);
  97.  
  98. gotoxy (x+8,y+6);
  99. printf ("%c%c",14,14);
  100. gotoxy (x+8,y+7);
  101. printf ("%c%c",14,14);
  102. gotoxy (x+8,y+8);
  103. printf ("%c%c",14,14);
  104. gotoxy (x+8,y+9);
  105. printf ("%c%c",14,14);
  106.  
  107. gotoxy (x+8,y+10);
  108. printf ("%c%c",127,127);
  109. gotoxy (x+8,y+11);
  110. printf ("%c%c",127,127);
  111. gotoxy (x+8,y+12);
  112. printf ("%c%c",127,127);
  113. gotoxy (x+8,y+13);
  114. printf ("%c%c",127,127);
  115.  
  116. gotoxy (x+12,y+8);
  117. printf ("%c%c",176,176);
  118. gotoxy (x+12,y+9);
  119. printf ("%c%c",176,176);
  120. gotoxy (x+12,y+10);
  121. printf ("%c%c",176,176);
  122. gotoxy (x+12,y+11);
  123. printf ("%c%c",176,176);
  124.  
  125. gotoxy (x+14,y+6);
  126. printf ("%c%c",4,4);
  127. gotoxy (x+14,y+7);
  128. printf ("%c%c",4,4);
  129. gotoxy (x+14,y+8);
  130. printf ("%c%c",4,4);
  131. gotoxy (x+14,y+9);
  132. printf ("%c%c",4,4);
  133.  
  134. gotoxy (x+12,y+4);
  135. printf ("%c%c%c%c",205,205,205,205);
  136. gotoxy (x+12,y+5);
  137. printf ("%c%c%c%c",205,205,205,205); carrito();
  138. taxih1();
  139. taxih2();
  140. taxiv1();
  141. taxiv2();
  142. taxiv3();
  143. taxiv4();
  144. taxiv5();
  145. taxiv6();
  146. camion();
  147.  
  148. getch();
  149.  
  150.                             regresa:
  151.                             gotoxy(5,28);
  152.                             printf(" ¿Que bloque deseas mover?\n\n 1.- Carrito\n 2.- %c\n 3.- %c\n 4.- %c\n 5.- %c\n 6.- %c\n 7.- %c\n 8.- %c\n 9.- %c\n 10.- %c", 219, 1, 169, 30, 186, 14, 127, 176, 4, 205);
  153.                             scanf("%d", &seleccion);
  154.  
  155.  
  156.  
  157.                             switch(seleccion)
  158.                             {
  159.                             case 1:
  160.                             printf("prueba");
  161.                             break;
  162.                             }
  163.  
  164.                        }  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.                  case 3:
  173.                       {
  174.                       printf("ACERCA DE:");
  175.                       break;
  176.                       }
  177.                  case 4:
  178.                  {
  179.                       printf("SALIR:");
  180.                       break;
  181.                       }
  182.  
  183.      }
  184. }
  185.     printf("gracias por jugar traffic blocks");
  186.  
  187.      getch();
  188.  
  189. }

Mod: Los códigos deben ir en etiquetas GeSHi, modifica el titulo, el mismo debe ser descriptivo al problema, no hagas doble post
  


« Última modificación: 1 Julio 2015, 01:15 am por engel lex » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Podrían hacerme favor de Revisar?
« Respuesta #1 en: 1 Julio 2015, 02:17 am »

Vamos por partes.
Lo primero: ¿Es C o C++? Las librerías y funciones que suas son de C, pero el using namespace std; es de C++. En cualquier caso, esa linea sobra, salvo que quieras hacerlo en C++.

En segundo lugar, un par de cosas: main deberías ponerlo int main(), ya que retorna int. Luego, colocas las etiquetas menu y regresa. ¿Por qué? No veo ningún uso de ellas. Si quieres solo marcar zonas, utiliza comentarios. En caso de que pienses usar GOTO, has de saber que es mejor evitarlo siempre que puedas, pues no es nada aconsejable, especialmente en un lenguaje como C que te da mucho control, entre bucles, condiciones y funciones.

Luego, ya viendo el juego:

Lo mejor sería que guardases un arreglo de estructuras o algo similar para representar los bloques en el juego. Solo dibujarlos no te dará las facilidades que te dará guardar sus posiciones en variables. Una vez tengas sus posiciones en un arreglo, puedes iterar por cada elemento del arreglo para comprobar si a donde se va a mover el bloque en cuestión está ya ocupado, o no.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines