Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2010, 03:22
desarah
 
Fecha de Ingreso: enero-2010
Ubicación: Alicante
Mensajes: 4
Antigüedad: 14 años, 3 meses
Puntos: 0
Acceder a un método desde otra clase

Hola a todos, llevaba un tiempo buscando un foro en donde registrarme, para poder resolver las mis dudas, y en la medida de lo posible, resolver las de otra gente que esté como yo. Mi duda es la siguiente, para clase y como proyecto de final de curso, estamos creando individualmente un remake de un juego elegido por nosotros del Amstrad CPC, yo elegí el Trivial, cosa de la que me arrepiento cada día, ya que lo que hemos hecho siempre son juego tipo Death Pit, con un personaje y varios enemigos que se mueven, pero nada como lo que yo he elegido, y ya me he encontrado con el primer problema.

Lo que quiero hacer es que si se pulsa la tecla espacio, una función cree un número aleatorio al azar entre 1 y 6 con el fin de simular un dado, y que me aparezca en la pantalla una imagen con la cara del dado correspondiente al número aleatorio que ha salido. Bien, eso ya lo tengo hecho dentro de una clase, pero ahora no sé cómo acceder a esos dos métodos desde otra clase que es la de la partida, con el fin de que se usen los métodos de mi clase dado.

Esta es mi clase dado:
Código csharp:
Ver original
  1. public void Lanzar()
  2.     {
  3.         Random r = new Random(DateTime.Now.Millisecond);
  4.         aleatorio = (short) r.Next(1, 6);
  5.     }
  6.  
  7.     public void Dibujar()
  8.     {
  9.         //Dibujamos el dado en la pantalla oculta
  10.         switch (aleatorio)
  11.         {
  12.             case 1: //Sale 1
  13.                 dado1.DibujarOculta(0, 0);
  14.                 break;
  15.  
  16.             case 2: //Sale 2
  17.                 dado2.DibujarOculta(0, 0);
  18.                 break;
  19.  
  20.             case 3: //Sale 3
  21.                 dado3.DibujarOculta(0, 0);
  22.                 break;
  23.  
  24.             case 4: //Sale 4
  25.                 dado4.DibujarOculta(0, 0);
  26.                 break;
  27.  
  28.             case 5: //Sale 5
  29.                 dado5.DibujarOculta(0, 0);
  30.                 break;
  31.  
  32.             case 6: //Sale 6
  33.                 dado6.DibujarOculta(0, 0);
  34.                 break;
  35.         }
  36.     }

Y esto es lo que quiero hacer en la clase partida para que acceda a los dos métodos de arriba
Código csharp:
Ver original
  1. void comprobarTeclas()
  2.     {
  3.           if (Hardware.TeclaPulsada(Hardware.TECLA_ESP))
  4.           {
  5.               Dado.Lanzar();
  6.               lanzar = true;
  7.           }
  8.  
  9. void dibujarElementos()
  10.     {
  11.         // Borro pantalla      
  12.         Hardware.BorrarPantallaOculta(0,0,0);
  13.          
  14.         //Dibujo el dado
  15.         if (lanzar == true)
  16.             Dado.Dibujar();
  17.        
  18.         // Finalmente, muestro en pantalla
  19.         Hardware.VisualizarOculta();        
  20.     }

Esto ha sido lo único que se me ha ocurrido, y el compilador me dice que se requiere una referencia de objeto para el campo, método o propiedad no estáticos para los dos métodos.

En fin si alguien puede ayudarme, se lo agradeceré enormemente.

Última edición por desarah; 15/01/2010 a las 05:53 Razón: Claridad del código