Avatar billede jakob/cosmo Nybegynder
07. februar 2002 - 15:25 Der er 7 kommentarer og
1 løsning

KORTSPIL

hej alle.
Er der slet ingen der kan finde ud af at lave et skellet til et kortspil!!
Avatar billede martinlind Nybegynder
07. februar 2002 - 15:31 #1
Sku da ikke for 30 point !!!!
Avatar billede jakob/cosmo Nybegynder
07. februar 2002 - 15:33 #2
jeg har lave en med 150 der hedder kortspil med lille skriv det der så får du 150 eller hvad vil du have?
Avatar billede stoney Nybegynder
07. februar 2002 - 15:54 #3
Prøv nu lige at kigge på det link jeg gav dig tidligere.
Tcard og pokermachine.

Her har du alle dine kort , så du stort set kan gøre hvad du vil.

Stoney
Avatar billede jakob/cosmo Nybegynder
07. februar 2002 - 16:09 #4
jeg har prøvet det virker ikke!!

men kan I fortælle mig hvad jeg skal tilføje/ændre/lave om
for at få alt det andet til at virke også(variabler,Komponenter)
jeg har nemlig fået fat i en men uden adgang til komponenter, variabler osv.
den ser sådan ud:
unit eventu;

interface

uses CardClasses,CardFkt;

  procedure ProgInit;
  procedure NewGame;
  procedure MouseDown(Pile: TPile; Card: TCard);
  procedure MouseUp(Pile: TPile; Card: TCard);


implementation

uses dialogs,sysutils;

{ her kan du placere globale erklæringer af f.eks. pile }


procedure ProgInit;
{ Kaldes ved programstart;
  skriv evt. initialiseringer ved programstart i denne procedure }
begin
end;

procedure NewGame;
{ Kaldes ved start af nyt spil;
  skriv evt. initialiseringer ved start af nyt spil;
  HUSK først at kalde free for alle skabte objekter fra
  evt. tidligere spil  }
begin
end;

procedure MouseDown(Pile: TPile; Card: TCard);
{ kaldes ved MouseDown i bunken Pile på kortet Card;
  skriv kode der skal udføres ved MouseDown }
begin
end;

procedure MouseUp(Pile: TPile; Card: TCard);
{ kaldes ved MouseUp i bunken Pile på kortet Card;
  skriv kode der skal udføres ved MouseUp }
begin
end;

end.

og

unit gui;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Menus;

type
  TFrmBord = class(TForm)
    MainMenu1: TMainMenu;
    Nytspil1: TMenuItem;
    Afslut1: TMenuItem;
    Afslut2: TMenuItem;
    procedure FormPaint(Sender: TObject);
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Afslut1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Afslut2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure EraseRect(HFillrect,VFillRect: TRect);
    procedure DrawEmptyPile(aType: integer;x1,y1: integer);
    procedure CardDrawInverted(x,y,CardNr: integer);
    procedure CardDraw(x,y,CardNr: integer);
    procedure BackDraw(x,y,BackNr: integer);
  end;

var
  FrmBord: TFrmBord;

implementation

{$R *.DFM}

uses cardclasses, cardFkt, Eventu;

procedure TFrmBord.EraseRect(HFillrect,VFillRect: TRect);
begin
  Canvas.brush.Color:=Color;
  Canvas.FillRect(HFillRect);
  Canvas.FillRect(VFillRect);
end;

procedure TFrmBord.DrawEmptyPile(aType: integer;x1,y1: integer);
const d=5;
var i: integer;
begin
  case aType of
    1: _BackDraw(Canvas,x1,y1,14);
    2: _BackDraw(Canvas,x1,y1,13);
    else
      Canvas.Pen.Color:=clLime;
      for i:=0 to 1 do
        Canvas.RoundRect(x1+i,y1+i,x1+CardWidth-i,y1+CardHeight-i,d,d);
  end
end;

procedure TFrmBord.CardDrawInverted(x,y,CardNr: integer);
begin
  _CardDrawInverted(FrmBord.Canvas,x,y,CardNr);
end;

procedure TFrmBord.CardDraw(x,y,CardNr: integer);
begin
  _CardDraw(FrmBord.Canvas,x,y,CardNr);
end;

procedure TFrmBord.BackDraw(x,y,BackNr: integer);
begin
  _BackDraw(FrmBord.Canvas,x,y,BackNr);
end;

procedure TFrmBord.FormPaint(Sender: TObject);
begin
  CTable.Refresh;
end;

procedure TFrmBord.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var p: TPile; c: TCard;
begin
  CTable.GetPileCardAt(x,y,p,c);
  if p<>nil then Eventu.MouseDown(p,c);
end;

procedure TFrmBord.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var p: TPile; c: TCard;
begin
  CTable.GetPileCardAt(x,y,p,c);
  if p<>nil then Eventu.MouseUp(p,c);
end;

procedure TFrmBord.Afslut1Click(Sender: TObject);
begin
  NewGame;
end;

procedure TFrmBord.FormCreate(Sender: TObject);
begin
  ProgInit;
end;

procedure TFrmBord.Afslut2Click(Sender: TObject);
begin
  close
end;

procedure TFrmBord.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  CTable.Clear;
end;

end.

men problamet med denne er at man ikke kan bruge kort og komponenter, variabler samtidig!!
Avatar billede stoney Nybegynder
07. februar 2002 - 16:40 #5
Er det pokermachine du ikke kan få til at virke

Stoney
Avatar billede angelod Novice
07. februar 2002 - 17:10 #6
Hva faen snakker du da om? Jeg prøvede TCard komponenten, og den virker nøjagtig som den skal!
Avatar billede jakob/cosmo Nybegynder
08. februar 2002 - 14:32 #7
nej TCard
Avatar billede jakob/cosmo Nybegynder
11. februar 2002 - 10:45 #8
så glem det da!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester