编扑克游戏遇到的问题(100分)

  • 主题发起人 主题发起人 e学员
  • 开始时间 开始时间
E

e学员

Unregistered / Unconfirmed
GUEST, unregistred user!
初学DELPHI 想编个扑克游戏,采用现成的扑克图案DLL。
但这个DLL只提供了一个在一定位置显示的函数,却没有响应MOUSE的事件,
这样点击某张牌时,就没法控制这张牌的动作,大虾们这个问题如何解决?
这是问题一。

第二个问题是,解决了上面的问题,怎样解决代码冗余的问题,
具体的说,让每张牌在被点击后,都响应一致的动作,如向牌桌的某一位置
移动,要求用同一个代码段实现,如何做?
 
第一个问题。
你画扑克的函数是不是:
function drawcard(bmp:tbitmap;num:integer):integer;far;external 'gbhcards.dll';
如果是的话,那么你可以写一个
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
(Sender as TImage).......
end;
在这个函数里通过(Sender as TImage)来判断是哪张扑克,然后把所有TImage的Onmousemove
指向它就行了。

第二个问题试试下面的方法。
MoveCard(Sender:TImage;x,y:integer);

在函数内部,通过Sender的Tag属性来判断是哪张牌。
 
你说得对,我用的是gbhcards.dll
能否说得详尽些呢?
 
比如如何Sender as TImage的返回,
如何使用sander的tag属性
上述的概念,我在提问前已经有个模糊的认识,但不会用啊 ;P
 
接受答案了.
 
后退
顶部