Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/10/2010, 10:36
sergio701
 
Fecha de Ingreso: septiembre-2009
Ubicación: Medellin
Mensajes: 21
Antigüedad: 14 años, 8 meses
Puntos: 0
Información Respuesta: proyecto en c#

Ya tenias lo mas dificil, te falto ponerle la logica de como encontrar el tesoro pero en cuestion de codigo es muy simple.
Aqui te pongo el codigo en el cual se dan las coordenadas de tesoro comparando la posicion de los botone "Location" con la posicion de boton ganador el cual se selecciona mediante el random.
Tambien agrege un boton "button1" que lo uso para seleccionar un nuevo boton ganador random, y tambien hay un label1 que muestra cual es el boton ganador por si necesitas ayuda.
Ahi te dejo el codigo. Espero que te sirva.

Código:
public partial class MainForm : Form
    {
        System.Windows.Forms.Button[] ButtonArray;
        Random rdn = new Random();
        int X = 0;
        int Y = 0;

        public Form6()
        {
            InitializeComponent();
            ButtonArray = new System.Windows.Forms.Button[100];
            int x;
            for (x = 0; x < 100; x++)
            {
                ButtonArray[x] = new System.Windows.Forms.Button();//crea los botones
                ButtonArray[x].Location = new System.Drawing.Point((x % 10 * 40 + 30), (x / 10 * 40 + 30));//eje de x y de las y
                ButtonArray[x].Size = new System.Drawing.Size(40, 40);// tamaño del boton si los dos son iguales el boton es cuadrado , si son diferente es rectangular
                ButtonArray[x].Text = x.ToString();//agriega el texto al boton
                Controls.Add(ButtonArray[x]); //agriega el boton
                ButtonArray[x].Click += new System.EventHandler(Buttonclick); //lanza el boton con click
                
                
            }

            selecGanador();

        }

        public void selecGanador()
        {
            int ganador = rdn.Next(100);
            X = ButtonArray[ganador].Location.X;
            Y = ButtonArray[ganador].Location.Y;

            label1.Text = ganador.ToString();

        }

        public string donde(int x, int y) 
        {
            string donde = "";

            if (x == X && y == Y) 
            {
                donde = "Ganaste";                
            }

            if (x == X && y < Y)
            {
                donde = "El tesoro esta al SUR";
            }

            if (x == X && y > Y)
            {
                donde = "El tesoro esta al NORTE";
            }

            if (x < X && y == Y)
            {
                donde = "El tesoro esta al ESTE";
            }

            if (x > X && y == Y)
            {
                donde = "El tesoro esta al OESTE";
            }

            if (x > X && y > Y)
            {
                donde = "El tesoro esta al NOR-OESTE";
            }

            if (x < X && y > Y)
            {
                donde = "El tesoro esta al NOR-ESTE";
            }

            if (x > X && y < Y)
            {
                donde = "El tesoro esta al SUR-OESTE";
            }

            if (x < X && y < Y)
            {
                donde = "El tesoro esta al SUR-ESTE";
            }

            return donde;
        }

        void Buttonclick(object sender, System.EventArgs e)
        {
            int x =((System.Windows.Forms.Button)sender).Location.X;
            int y = ((System.Windows.Forms.Button)sender).Location.Y;

           MessageBox.Show(donde(x,y));

        }

        private void button1_Click(object sender, EventArgs e)
        {
            selecGanador();
        }

    }
Sergio701