Autor Tema: Diseño programa robot en tablero con minas en Microsoft Visual Studio C#  (Leído 5067 veces)

carlos9127

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 19
    • Ver Perfil
1. El Ministerio de Defensa ha solicitado formalmente la ayuda del Ministerio de Tecnología para acabar con el flagelo de las minas terrestres. Éste ministerio ha solicitado la creación de un sistema que simule el trabajo de un robot que detecte minas antipersonales, con el objeto de evaluar su compra. Usted está a cargo de cumplir con los requisitos que expone este ministerio mediante una solución en .NET utilizando Bases de Datos e Interfaces Gráficas. La simulación debe cumplir con los siguientes requisitos:

* La solución deberá permitir que el usuario configure el terreno de n x n, máximo 20 posiciones de lado y mínimo 4, para lo cual deberá poder seleccionar el tamaño del mismo

* Se deberá presentar el tablero de juego indicando el número de cada fila y cada columna en la aplicación Windows, de manera que el usuario pueda identificar cada coordenada de las casillas.

* La ubicación de las minas se dará aleatoriamente, de manera tal que no sea predecible la disposición de las mismas.

* El robot sólo puede avanzar una posición a la vez, y sólo se desplaza hacia arriba, abajo, izquierda o derecha. Por cada mina que haga explotar, se le asignaran 20 puntos de efectividad, los respectivos puntos deberán poder ser visualizados a lo largo de la simulación.

* Es fundamental llevar una cuenta del tiempo que se demora el robot en detectar una mina y hacerla explotar. Además de esto la fecha y hora de la simulación, deberá ser visualizada y actualizada en todo momento durante el juego.

* La simulación finalizara cuando el total de casillas sea descubierto (para el caso de nivel estándar), o cuando sean explotadas todas las minas.


AMIGOS PUES TENGO CLARO QUE SOLO HAY UNA CLASE LA CUAL ES "ROBOT",  PERO QUISIERA SABER QUÉ ATRIBUTOS TENDRÍA Y QUE MÉTODOS SE IMPLEMENTARÍAN EN EL PROGRAMA, GRACIAS DE ANTEMANO!
« Última modificación: 03 de Diciembre 2014, 08:15 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Programa para desarrollar en Microsoft Visual Studio C#
« Respuesta #1 en: 02 de Diciembre 2014, 12:04 »
Hola, no parece lógico tener una única clase. En programación orientada a objetos se trabaja normalmente con varias clases y además con una clase con el método main. Léete esto: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=621:clase-con-el-metodo-main-clase-principal-iniciadora-o-programa-principal-en-java-concepto-cu00655b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

De acuerdo con el enunciado del problema podríamos identificar las siguientes clases:

- Terreno (representa el terreno, también podrías llamarla TableroDeJuego o TableroDeSimulacion si quieres)

- Mina (representa una mina)

- Robot (representa al robot)

- Reloj (representa el reloj para el juego o simulación)

Además serán necesarias posiblemente las siguientes clases:

- ControladorDelJuego (o ControladorDeSimulacion): se encarga de supervisar el estado de la partida y finalizarla si se cumplen las condiciones para ello.

- ColocadorDeMinas: se encargará de colocar las minas sobre el tablero de juego.

- ControladorDeRobot: se encargará de controlar el movimento del robot. No tengo muy claro si el movimiento del robot lo debe controlar el usuario como si fuera un juego o si lo debe controlar el programa. Este es un aspecto importante, ya que haría variar bastante el código que hay que crear según sea una cosa u otra.

Y además de estas posiblemente sean necesarias algunas clases auxiliares más. Crear este programa con su entorno gráfico requiere bastante tiempo y conocimientos para poder codificarlo. No es sencillo (tampoco es una super complicación).

Saludos

carlos9127

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 19
    • Ver Perfil
Re:Diseño programa robot en tablero con minas en Microsoft Visual Studio C#
« Respuesta #2 en: 05 de Diciembre 2014, 01:29 »
Bueno amigo aquí ya he desarrollado las distintas capas con las clases:

Clases de la capa DataAccess
 
Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Final.DataAccess
{
    public class Robot
    {


        static void inico()
        {
            DateTime value = new DateTime();
            Console.WriteLine(value);
            Console.WriteLine(value == DateTime.Today);
        }
    }
}


Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Final.DataAccess
{
    class Mapa
    {
        int mina;


        public int Insertancho()
        {
            int anch;
            Console.WriteLine("Digite ancho del Mapa");
            anch = Convert.ToInt32(Console.ReadLine());
            return anch;
        }


        public int Insertalto()
        {
            int alt;
            Console.WriteLine("Digite alto del Mapa");
            alt = Convert.ToInt32(Console.ReadLine());
            return alt;
        }

        public int insertarminas()
        {
            int mina;
           Console.WriteLine("Digite numero de Minas");
               mina=Convert.ToInt32(Console.ReadLine());
            return mina;
        }
       
        }
    }


Clases de la capa Entiti

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Final.Entiti
{
    class Robot
    {
        int x;
        int y;
        float efectividad;
        float tiempo;
        DateTime inicio;
        DateTime final;

    }
}


Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Final.Entiti
{
    public class Mapa
    {
        int ancho;
        int alto;
        int Nminas;
        int PosX;
        int PosY;

    }
}


POR FAVOR ALGUIEN PODRÍA REALIZARME LA PARTE DE LA CAPA DE REGLAS DE NEGOCIO? LE AGRADECERÍA SU AYUDA!

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Diseño programa robot en tablero con minas en Microsoft Visual Studio C#
« Respuesta #3 en: 11 de Diciembre 2014, 08:54 »
El desarrollo del código de este programa puede ser bastante costoso. Desde los foros lo que podemos hacer es ir ayudando, corrigiendo o ayudando a plantear el código que se vaya desarrollando, pero un desarrollo completo es excesivo... Salu2

carlos9127

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 19
    • Ver Perfil
Re:Diseño programa robot en tablero con minas en Microsoft Visual Studio C#
« Respuesta #4 en: 27 de Febrero 2015, 03:53 »
GRACIAS!!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".