Ir al contenido


Foto

Ayuda con P.O.O. en delphi o lazarus


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

#1 facku21

facku21

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 19 noviembre 2010 - 04:28

Necesito ejemplos sobre como hacer un juego de naipes en pascal o delphi o lazarus, donde haya una clase juegos y que deriven las clases hijas que seria el truco, rumi, y solitario por ejemplo. Necesito alo simple sencillo donde por ejemplo cree el objeto truco este el jugador uno y jugador dos y asi con los demas. No necesito algo complejo algo simple nada mas. Es una ayudita para empezar.
Yo empece hace haciendo algo les paso el codigo. por favor alguna ayudita..lo que me faltaria ahi es que cada jugador juegue al menos una vez y listo, y guardar los puntajes de cada uno de ellos.No necesito algo complejo solamente que le de el turno a un jugador y por ejemplo haga click en un boton y le ceda el turno al otro y asi hasta una determinada cantidad de jugadas. es solo eso y obvio que vayan guardando un puntaje que va a ser siempre el mismo ya que juegan una vez cada uno y no hay cartas ni reglas del juego




delphi
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  9.   StdCtrls;
  10.  
  11. type
  12.  
  13.   { TForm1 }
  14.  
  15.   TForm1 = class(TForm)
  16.     Button1: TButton;
  17.     Button2: TButton;
  18.     Button3: TButton;
  19.     Button4: TButton;
  20.     Label1: TLabel;
  21.     Label2: TLabel;
  22.     Label3: TLabel;
  23.     Label4: TLabel;
  24.     Label5: TLabel;
  25.     Label6: TLabel;
  26.     Label7: TLabel;
  27.     Label8: TLabel;
  28.     procedure Button1Click(Sender: TObject);
  29.     procedure Button2Click(Sender: TObject);
  30.     procedure Button3Click(Sender: TObject);
  31.     procedure Button4Click(Sender: TObject);
  32.     procedure FormCreate(Sender: TObject);
  33.   private
  34.     { private declarations }
  35.   public
  36.     { public declarations }
  37.  
  38.   end;
  39.  
  40. var
  41.   Form1: TForm1;
  42.  
  43. type
  44.  
  45.     { trecord }
  46.  
  47.     trecord= class(tobject)
  48.     private
  49.       mayor_punt:integer;
  50.       puntaje:integer;
  51.       nom_jugador:string;
  52.       nom_juego:string;
  53.  
  54. end;
  55.  
  56. type
  57.  
  58.     { tjuego }
  59.  
  60.     tjuego= class(tobject)
  61.     private
  62.       Fnombre: string;
  63.       Freglas:string;
  64.       Fcant_cartas:integer;
  65.       Fcant_jugadores:integer;
  66.       records:trecord;
  67.       procedure setnombre(const AValue: string);
  68.       procedure jugar(cantidadjugadores: fcant_jugadores; cantidadcartas:fcant_cartas);
  69.       procedure setreglas(const AValue: string);
  70.     published
  71.       property nombre:string read Fnombre write setnombre;
  72.       property reglas:string read Freglas write setreglas;
  73.  
  74.  
  75. end;
  76.  
  77. type
  78.  
  79.     { tsolitario }
  80.  
  81.     tsolitario= class(tjuego)
  82.     constructor create;
  83.     procedure jugar();
  84. end;
  85.  
  86. type
  87.  
  88.     { ttruco }
  89.  
  90.     ttruco= class(tjuego)
  91.     constructor create;
  92. end;
  93.  
  94. type
  95.  
  96.     { trumi }
  97.  
  98.     trumi= class(tjuego)
  99.     constructor create;
  100. end;
  101.  
  102. type
  103.  
  104.     { tescoba }
  105.  
  106.     tescoba= class(tjuego)
  107.     constructor create;
  108.     end;
  109.  
  110. type
  111.     tjugador= class(tobject)
  112.     nombre_jug:string;
  113. end;
  114. var
  115. jug1, jug2: tjugador;
  116.  
  117. implementation
  118. { tjuego }
  119.  
  120. procedure tjuego.setnombre(const AValue: string);
  121. begin
  122.   if Fnombre=AValue then exit;
  123.   Fnombre:=AValue;
  124. end;
  125.  
  126. procedure tjuego.jugar(cantidadjugadores: fcant_juadores;
  127.   cantidadcartas: fcant_cartas);
  128. begin
  129.  
  130. end;
  131.  
  132. procedure tjuego.setreglas(const AValue: string);
  133. begin
  134.     if Fnombre=AValue then exit;
  135.   Fnombre:=AValue;
  136. end;
  137.  
  138. { tsolitario }
  139.  
  140. constructor tsolitario.create;
  141. begin
  142.       inherited;
  143.       nombre := 'SOLITARIO';
  144.       reglas:='reglamento del solitario';
  145.       fcant_jugadores:=1;
  146.       fcant_cartas:=40;
  147.  
  148. end;
  149.  
  150. procedure tsolitario.jugar();
  151. begin
  152. ShowMessage('Peticion de un usuario');
  153. end;
  154.  
  155.  
  156. { ttruco }
  157.  
  158. constructor ttruco.create;
  159. begin
  160.     inherited;
  161.     nombre := 'TRUCO';
  162. end;
  163.  
  164.  
  165. { trumi }
  166.  
  167. constructor trumi.create;
  168. begin
  169.     inherited;
  170.     nombre := 'RUMI';
  171. end;
  172.  
  173. { tescoba }
  174.  
  175. constructor tescoba.create;
  176. begin
  177.     inherited;
  178.     nombre := 'ESCOBA';
  179. end;
  180.  
  181. { TForm1 }
  182.  
  183. procedure TForm1.Button1Click(Sender: TObject);
  184. var
  185.   s:tsolitario;
  186. begin
  187.   s:=tsolitario.create;
  188.   s.fcant_jugadores:=1;
  189.   s.fcant_cartas:=40;
  190.  
  191.   s.jugar();
  192.  
  193.   label1.Caption:=s.nombre;
  194.   label4.Caption:=inttostr(s.fcant_jugadores);
  195.   label6.Caption:=inttostr(s.fcant_cartas);
  196.   label8.Caption:=s.reglas;
  197. end;
  198.  
  199. procedure TForm1.Button2Click(Sender: TObject);
  200. var
  201.   t:ttruco;
  202. begin
  203.   t:=ttruco.create;
  204.   t.fcant_jugadores:=2;
  205.   t.fcant_cartas:=3;
  206.  
  207.   label1.Caption:=t.nombre;
  208.   label4.Caption:=inttostr(t.fcant_jugadores);
  209.   label6.Caption:=inttostr(t.fcant_cartas);
  210. end;
  211.  
  212. procedure TForm1.Button3Click(Sender: TObject);
  213. var
  214.   r:trumi;
  215. begin
  216.   r:=trumi.create;
  217.   r.fcant_jugadores:=2;
  218.   r.fcant_cartas:=10;
  219.  
  220.   label1.Caption:=r.nombre;
  221.   label4.Caption:=inttostr(r.fcant_jugadores);
  222.   label6.Caption:=inttostr(r.fcant_cartas);
  223. end;
  224.  
  225. procedure TForm1.Button4Click(Sender: TObject);
  226. var
  227.   e:tescoba;
  228. begin
  229.   e:=tescoba.create;
  230.   e.fcant_jugadores:=2;
  231.   e.fcant_cartas:=3;
  232.  
  233.   label1.Caption:=e.nombre;
  234.   label4.Caption:=inttostr(e.fcant_jugadores);
  235.   label6.Caption:=inttostr(e.fcant_cartas);
  236. end;
  237.  
  238. procedure TForm1.FormCreate(Sender: TObject);
  239. begin
  240.  
  241. end;
  242.  
  243.  
  244. { trecord }
  245.  
  246.  
  247.  
  248. initialization
  249.   {$I Unit1.lrs}
  250.  
  251. end.


                       
  • 0




IP.Board spam blocked by CleanTalk.