![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
Gracias de nuevo |
|
#2
|
||||
|
||||
|
Cuando ya tengas resuelto el problema de posicionar los barcos a través de una matriz, tal vez quieras aventurarte a crear la interfaz gráfica; pero, como dice Marcos, primero resuelve el funcionamiento del juego y el resto es sólo la apariencia.
Mi sugerencia es que lo hagas simple, puedes utilizar un ImageList para guardar los iconos y escribir directamente sobre el Canvas de un PaintBox. Te dejo un ejemplo adjunto para que te des una idea de como puedes lograr el efecto. Si no te queda tiempo para dibujar los barquitos, prueba con esta suite de imagenes que puedes descargar gratuitamente. SpriteLib GPL Saludos y suerte. Última edición por Héctor Randolph fecha: 09-02-2006 a las 20:13:44. |
|
#3
|
|||
|
|||
|
De acuerdo hector, gracias por la ayuda.
|
|
#4
|
|||
|
|||
|
Estoy en la parte que el jugador elige donde quiere que vayan sus barcos. Esto lo hice como me suigirieron, poniendo x en donde el jugador quiera poner sus barcos. Lo cual lo hice haciendo (valga la redundancia) que en el evento selectcell se ponga una x en la celda elegida por el usuario para los barcos. El tema mio es el siguiente:
¿ Hay manera que la unica forma de selecionar una celda sea a traves del mouse ? Otra cosa...¿ si el jugador se equivoca de posicion, como podria hacer para remover la x (o sea que evento del stringgrid deberia utilizar) ? |
|
#5
|
||||
|
||||
|
Como el StringGrid tiene unas coordenadas que tu ya conoces, puedes pedir al usuario en unos simples edits que ponga las coordenadas de sus barcos y botón para validad los datos, en tanto no valide se pueden corregir las mismas.
A la salida de cada edit, puedes limpiar mediante un ciclo todas las coordenadas y redibujarlas de nuevo, esto no llevará prácticamente tiempo y no se notará, de esta manera te garantizas que si corrige alguna se borren todas las X y tras acabar el ciclo del borrado recorres los edits y vuelves a pintarlas. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
#6
|
|||
|
|||
|
Yo ya tengo dos combobox que cada vez que cambia su valor se modifica el stringrid de acuerdo al nuevo tamaño. Ahora lo que quiero hacer es poner dos combobox mas para que el jugador pueda elegir la cantidad y longitud de los barcos. El tema es el siguiente:
Para hacer esto... ¿ aun es posible hacerlo con un stringrid ?...en donde yo veo la complicacion es en que, si el jugador tiene un barco de una longitud de 3, por ejemplo (aclaracion: el usuario debe elegir la misma longitud para todos los barcos) no se como hacer para que el usuario pueda elegir si quiere ponerlo vertical o horizontal sobre el mapa. Otra cosa, yo tengo en el mismo formulario, la seleccion del tamaño del mapa, la configuracion de la cantidad y longitud de barcos, y el posicionamiento de los barcos en si... pero creo que estoy complicando la cosa...tal vez seria mejor que en un formulario tenga la seleccion del tamaño del mapa, la configuracion del tamaño y cantidad de barcos, y en el otro los posicione...¿verdad? Lo ultimo, hector no entiendo esta parte del codigo que vos me pasaste (el del zip):
Pd: Hector, muy buena la suite de imagenes, lo unico malo es que no hay una de un barco. Igual me sirven bastante, ya que de ahi puedo sacar la imagen del mar y la de la explosion...EDIT: perdon, acabo de ver las imagenes de nuevo y encontre a los barcos, retiro lo dicho entonces. Última edición por Chompiras fecha: 10-02-2006 a las 00:47:48. |
|
#7
|
||||
|
||||
|
Espero no haberte confundido demasiado, la manera que a mi se me ocurrió para representar el tablero fue por medio de una matriz de NxN, en cada entrada puedes colocar un número digamos 0,1,2, etc. Estos números corresponden a un índice en la lista de imagenes que previamente tienes cargadas.
La matriz tiene esta apariencia. 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 De tal manera que en donde aparezca un número 0 se dibujara el fondo del mar y con los demás números se dibujarán otros objetos. El código que te muestro a continuación transforma los valores de la matriz en coordenadas dentro del Canvas (lienzo) del control PaintBox.
El doble for recorre todas las entradas de la matriz y uso el método Draw(Canvas,X,Y,Indice) del ImageList para dibujar la imagen sobre el canvas del PaintBox, observa que el indice se obtiene de las entradas de la matriz. Bueno, esta podría ser una forma de representarlo pero no es la única. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|