Ir al contenido



Foto

Juego de habilidad mental


  • Por favor identifícate para responder
5 respuestas en este tema

#1 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 05 diciembre 2008 - 10:54

Hola, ya que estamos bien metidos con el asunto de los juegos, les compartiré esta idea que nunca terminé  :p
Este juego se trata más que todo de rapides e inteligencia, usa un componente RX (DiceCube) para tirar el dado, dependiendo del valor es el avance en el juego, pero para poder pasar a esa casilla debes responder una pregunta con diferentes opciones en menos de 10 segundos... básicamente esa es la idea, aún no tiene las preguntas pero se pueden ir trabajando en ellas  :D

El juego luce más o menos como en la fotografía adjunta.


  • 0

#2 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 05 diciembre 2008 - 10:58

Aqui estan los archivos fuente...

Archivos adjuntos

  • Archivo adjunto  73_.zip   416,52KB   11 descargas

  • 0

#3 Caral

Caral

    Advanced Member

  • Administrador
  • 4.249 mensajes
  • LocationCosta Rica

Escrito 05 diciembre 2008 - 11:10

Hola
El problema que tienen estos juegos es que cuando se necesitan componentes adicionales nos cuesta poner a funcionar el codigo, cuesta entenderlo.
Seria bueno que se pusiera el codigo pero tambien el componente para poder verlo bien y poder tratar de aportar.
Me gusta la idea, las imagenes son buenas pero no se puede correr.
Saludos
  • 0

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 05 diciembre 2008 - 01:33

Hola Caral, es verdad lo que dices... en realidad el mismo componente fué el que me inspiró la idea, este se llama TRxDice viene junto con el paquete de componentes RX (http://sourceforge.net/projects/rxlib/) y el código, muy crudo la verdad :p, contiene esto



delphi
  1. unit UJuego;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, RXDice, jpeg, ExtCtrls, StdCtrls, Menus, Buttons;
  8.  
  9. type
  10.   TFrmJuego = class(TForm)
  11.     fondo: TImage;
  12.     dado: TRxDice;
  13.     tiempo: TTimer;
  14.     carita1: TImage;
  15.     carita2: TImage;
  16.     carita3: TImage;
  17.     carita4: TImage;
  18.     penitencia: TLabel;
  19.     turno: TLabel;
  20.     b1: TBevel;
  21.     b2: TBevel;
  22.     b3: TBevel;
  23.     b4: TBevel;
  24.     b10: TBevel;
  25.     b11: TBevel;
  26.     b12: TBevel;
  27.     b13: TBevel;
  28.     b14: TBevel;
  29.     b9: TBevel;
  30.     b15: TBevel;
  31.     b16: TBevel;
  32.     b17: TBevel;
  33.     b18: TBevel;
  34.     b5: TBevel;
  35.     b6: TBevel;
  36.     b7: TBevel;
  37.     b8: TBevel;
  38.     nuevo: TSpeedButton;
  39.     procedure dadoClick(Sender: TObject);
  40.     procedure tiempoTimer(Sender: TObject);
  41.     procedure nuevoClick(Sender: TObject);
  42.     procedure FormCreate(Sender: TObject);
  43.   private
  44.     { Private declarations }
  45.   public
  46.     { Public declarations }
  47.   end;
  48.  
  49. var
  50.   FrmJuego: TFrmJuego;
  51.   t,cl,ct: Integer;
  52.  
  53. implementation
  54.  
  55. {$R *.dfm}
  56.  
  57. procedure TFrmJuego.dadoClick(Sender: TObject);
  58. begin
  59.   cl := carita1.Left;
  60.   ct := carita1.Top;
  61.   dado.Rotate := True; // dado es el componente, tiene la propiedad rotate que lo hace girar
  62.   tiempo.Enabled := True;
  63.   carita1.Left := b7.Left + 4;
  64.   carita1.Top := b7.Top + 4;
  65.   t := t + 1;
  66.   if turno.Caption = 'Turno Carita Nº: 4' then
  67.     turno.Caption := 'Turno Carita Nº: 1'
  68.   else
  69.     turno.Caption := 'Turno Carita Nº: ' + IntToStr(t);
  70. end;
  71.  
  72. procedure TFrmJuego.tiempoTimer(Sender: TObject);
  73. begin
  74. // Esta parte de código realmente no hace mucho...
  75. // solo fue como prueba, en ves del mensaje estaría la pantalla con la pregunta y las opciones de respuesta
  76.   dado.Rotate := False;
  77.   tiempo.Enabled := False;
  78.   if MessageDlg('¿Era su turno?',mtConfirmation,[mbYes,mbNo],0)=mrNo then
  79.     begin
  80.       penitencia.Caption := 'Regresa a su casilla por mentiroso';
  81.       carita1.Left := cl;
  82.       carita1.Top := ct;
  83.     end;
  84. end;
  85.  
  86. procedure TFrmJuego.nuevoClick(Sender: TObject);
  87. begin
  88.   turno.Caption := 'Turno Carita Nº: 1';
  89.   t := 1;
  90. end;
  91.  
  92. procedure TFrmJuego.FormCreate(Sender: TObject);
  93. begin
  94.   turno.Caption := turno.Caption + '1';
  95.   t := 1;
  96. end;
  97.  
  98. end.



Para las preguntas pensé o en un archivo ini o una pequeña bd, eso sí con los datos cifrados... no queremos trampa  :p
  • 0

#5 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 05 diciembre 2008 - 01:47

aqui nadie seria capaz de hacer trampas, yo eso no lo creo  8-|
  • 0

#6 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 05 diciembre 2008 - 02:00

¿Entonces cuál sería el tema, contenido de las preguntas?  :^)
  • 0