[Mono-dev] (no subject)

David Caro esquizofrenia at gmail.com
Thu Nov 9 17:05:13 EST 2006


Hi, I'm programming a Memory game for my C# topic at university, i'm
finished that but there is a problem with a queuedraw (i think that) cause
the second card doesnot turn up at time...
"the second card doesnt flip (roll) at button click time" and i dont know

Thanks if you can help me

   1. /* it is from the manager class */
   2.
   3.      public void EstadoCarta1(EventBox entrante){
   4.                 carta1=entrante;
   5.                 imagen1=(Carta)carta1.Child;
   6.                 imagen1.VolteaFrontal();
   7.                 Thread.Sleep(10);
   8.                 carta1.ButtonPressEvent -= new
   9. Gtk.ButtonPressEventHandler (Carta.SelCarta);
   10.                 estado=Columnas.Carta2;
   11.         }
   12.
   13.         public void EstadoCarta2(EventBox entrante){
   14.                         carta2=entrante;
   15.                         imagen2=(Carta)entrante.Child;
   16. // AQUI NO HACE NADA
   17.                         imagen2.VolteaFrontal();
   18.                         Thread.Sleep(10);
   19.                         System.Console.WriteLine("Segunda Carta");
   20.                          carta2.ButtonPressEvent -= new
   21. Gtk.ButtonPressEventHandler(Carta.SelCarta);
   22.                         imagen2.Sensitive=true;
   23.
   24.                         if(imagen1.Frontal.Equals(imagen2.Frontal)
   ){
   25.                                 jugando++;
   26.                                 imagen1.Sensitive=false;
   27.                                 imagen2.Sensitive=false;
   28.                                 imagen2.VolteaFrontal();
   29.                         }
   30.                         else{
   31.                                 Thread.Sleep(1000);
   32.                                 imagen1.VolteaLogo();
   33.
   34.                                 imagen2.VolteaLogo();
   35.                                 MeterJugador();
   36.                                 SacarJugador();
   37.
   this.JugadorTurno.Text=this.jugando.Nombre;
   38.                                 carta1.ButtonPressEvent += new
   39. Gtk.ButtonPressEventHandler (Carta.SelCarta);
   40.                                 carta2.ButtonPressEvent += new
   41. Gtk.ButtonPressEventHandler(Carta.SelCarta);
   42.                         }
   43.                                 //      En ambos casos cambia el
   estado
   44.                         estado=Columnas.Carta1;
   45.         }
   46.
   47.         public void JugadorEstado(EventBox entrante){
   48.                 if(estado==Columnas.Carta1){
   49.                         this.EstadoCarta1(entrante);
   50.                 }
   51.                 else if(estado==Columnas.Carta2){
   52.                         this.EstadoCarta2(entrante);
   53.                 }
   54.                 // Acabe
   55.         }
   56.
   57. /* It is from card class */
   58.
   59. public static event DelegadoJugador EventoJugador;
   60.         bool valor;
   61.
   62.         static string logo="background.jpg";
   63.         string frontal;
   64.         public string Frontal{
   65.                 get{
   66.                         return frontal;
   67.                 }
   68.                 set{
   69.                         frontal=value;
   70.                 }
   71.         }
   72.
   73.         // EVENTO CARTA
   74.         public static void SelCarta(object o, EventArgs args){
   75.                 // obtenemos la carta que presionó el usuario
   76.                 Gtk.EventBox carta=(Gtk.EventBox)o;
   77.                 System.Console.WriteLine ("Presionada");
   78.                 EventoJugador(carta);
   79.         }
   80.
   81.         /* Funciones de la imagen */
   82.         public void VolteaLogo(){
   83.                 this.FromFile="images/"+logo;
   84.                 this.QueueDraw();
   85.         }
   86.
   87.         public void VolteaFrontal(){
   88.                 this.FromFile="images/"+frontal;
   89.                 this.QueueDraw();
   90.
   91.         }
   92.
   93. /* Then i can conect with a delegate */
   94. Carta.EventoJugador+=new DelegadoJugador(manager.JugadorEstado);
   95.
   96. /*
   97. therefore, when a card is pressed, its is sended to the manager
   and there the program checks which player has pressed that card...
   98.
   99. the only problem is the card 2 dont turn up ... */
   100.
   101. */



http://pastebin.com/820673

-- 
To be or not to be
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20061109/5c3bed52/attachment.html 


More information about the Mono-devel-list mailing list