Suscribirse al Feed
24Jul

Números aleatorios en C#

La generación de números aleatoreos es una de las prácticas más importantes en cualquier lenguaje de programación, sobre todo cuando deseamos desarrollar juegos, por ejemplo. Para usar números aleatorios en C# podemos utilizar la clase Random del namespace System, de la siguiente manera:


Random objeto = new Random();
int numero = objeto.Next();

El método Next de la clase Random genera y devuelve un número aleatorio entre 0 y la constante Int32.MaxValue (2,147,483,647). El número es generado después de (como decía mi profesora de matemáticas) complejos procesos matemáticos, y como en casi todos los lenguajes necesitan de una semilla (seed) para ser generados, que por defecto es la hora del sistema.

Aún así, muchas veces necesitamos que el número sea generado en un rango específico de valores. Por ejemplo, para una aplicación que simule el lanzamiento de un dado de seis caras necesitamos generar números entre 1 y 6. Para lograr esto, el método Next puede recibir además un entero que indica el rango máximo del número aleatorio. Por ejemplo, el código:


Random objeto = new Random();
int numero = objeto.Next(6);

generaría un número aleatorio entre 0 y 7 (pero no 6), es decir, seis posibles números. Pero, si desearamos algún rango más exacto, podríamos hacer algo como:

Random objeto = new Random();
int numero = objeto.Next(1, 7);

lo que generaría números entre 1 y 7 (pero no 7), de nuevo seis números posibles.

Ejemplo completo...

En el siguiente ejemplo se utilizará la clase Random para generar una serie de números aleatorios cada vez que se presiona un botón:

pantallazo numero aleatorio

El código lo pongo para su descarga abajo, ya que lo hice con Gtk# usando MonoDevelop, y sería engorroso poner todo el código. Así que solo pondré la parte del código que nos interesa:

    private Random obj = new Random();
    //Método ejecutado al presionar el botón
    protected virtual void generar_Click (object sender, System.EventArgs e)
    {
        etiqueta.Text = "";
        for(int i = 0; i < 4 ; i++)
        {
            for(int j = 0; j < 4 ; j++)
                etiqueta.Text += obj.Next(1, 10) +"\t\t";
            etiqueta.Text += "\n\n";
        }
    }

Enlaces y descargas

Los ejercicios utilizados en este post fueron desarrollados con las librerías Gtk# usando Mono. Se añadió además un link de descarga de un ejercicio similar, tomado del libro C# How to Program de Deitel, que utiliza Windows Forms, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows y se encuentra en inglés.

2 Comentarios para “Números aleatorios en C#”

  1. a gravatar

    Obelich dice:  


    Hola como estas un saluldo, estoy interesado en formar una nueva seccion en Opensuse Latino referente a Mono Developer, con los lenguajes que este soporte C, C++, C#, GTK#, ASP.NET, etc.. y la verdad yo estoy en cascaron referente a programacion, y ando pidiendo tu apoyo para que este proyecto de apoyo a MonoDeveloper sea una realidad, ando buscando personas que esten interesadas en compartir sus conocimientos de estos lenguajes orientados a Gnu/Linux con el entorno de programacion de MonoDeveloper, si te interesa apoyar a este proyecto o conoces gente que pudiera estar interesada pasales mi correo o mandame un correo mi E-Mail es obelich@gmail.com y en el portal de opensuse latino tambien e puesto la nota sobre esta solicitud y tambien en algunos foros de programacion

    http://opensuseltn.org

 

 

Antes de comentar... recuerda que no hago tareas

Te invito a subscribirte al feed RSS. ¿No sabes que es un lector de Feeds?

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS