有80张牌。。三个玩家。。开始时洗牌。。用随即函数。然后发牌每人拿19张,然后第一玩家摸一张之后开始打牌
。。
想问的就是怎样写这个洗牌和发牌函数
不用数据库。。
用type 
Card=record
  CardCode:integer;
.....
............记录定义没写完。。不会。。HUHU~~~。

谢谢大家了。。~

解决方案 »

  1.   

    谢谢了..呵呵..
    但是我真不是什么高手啊...您可是四星上将了啊..~~!!:)
    ~~~~~~~~~~~
    今天在QQ上问了个叫DELPHI的前辈.....
    对方甩了句"简单得要死"就没理我了。....
    ~~~~~~~~~~~~~~~~~~~~~~
    就是定义一个结构体后...
    随机定义牌的堆放顺序...80张牌.就定义一个80个元素的数组..
    再对它们一一进行随机的顺序堆放..也就是没张牌获得一个1..80的顺序号...
    我笨..前辈们能给点思路吗?
    谢谢了.
      

  2.   

    定义两个TStringList
    var
      A1, A2: TStrtingList;
      I, iPos: Integer;
    begin
      A1 := TStringList.Create;
      A2 := TStringList.Create;
      for I := 1 to 80 do  //初始化
      begin
        A1.Add(IntToStr(I));
      end;
      Ramdomize;
      for I := 1 to 80 do  //洗牌
      begin
        iPos := Ramdomize(A1.Count);
        A2.Add(A1[iPos]);
        A1.Delete(iPos);
      end;
      //从A2中发牌, 发出一张Delete一张, 楼主自己写写吧
    end;
      

  3.   

    最后别忘了
    A1.Free;
    A2.Free;
      

  4.   

    var
      A1, A2: TStrtingList;
      I, iPos: Integer;
      a,b,c:string;
    begin
      A1 := TStringList.Create(self);
      A2 := TStringList.Create(self);
      for I := 1 to 80 do  
      begin
        A1.Add(IntToStr(mod(I,14));
      end;
      Ramdomize;
      for I := 1 to 80 do  
      begin
        iPos := Ramdomize(A1.Count);
        A2.Add(A1[iPos]);
        A1.Delete(iPos);
      end;
      for I:=1 to 80 do
      begin  
     case mod(I,3)
     case 0: 
    begin
    a:=a+inttostr(A2[I]);
    A2.Delete(I);
    end;
     case 1:
     begin
     b:=b+inttostr(A2[I]);
    A2.Delete(I);
     end;
     case 2:
     begin
     c:=c+inttostr(A2[I]);
    A2.Delete(I);
     end;
    end;
    end;
     a,b,c中装的就是三个玩家的牌,前面的MOD函数,我想应该是,请楼主试一下,也许函数写错了,因为牌只有十三种样式!除14取余就行了!
      

  5.   

    我写过扑克牌(SHOWHAND)不过时间长了,也是自己写着玩的。。留个QQ给你,闲着也闷,
    QQQ上聊聊。因为我的方法和他们都不太一样。我用的是TLIST,随即的产生和他们也不太一样。懒的在这里写。分我不要。你给楼上的和楼下的吧。。QQ上随便聊聊。
    QQ:29879344
      

  6.   

    聊QQ都累了。。都不知道聊什么。。昨天想找个QQ群的聊。结果人家告诉我人满了:(
    呵呵找几个臭味相投的人聊了。我没有QQ群,也没加QQ群。不是会员。哈哈
      

  7.   

    我只是想问一下,都用randommisz,然后用random来生成牌,问题是radom生成的时候会重复吗?假如说就发一幅牌1`52,用radom能保证一定不会发重复牌吗?
      

  8.   

    已经知道了。.
    用LIST...很方便..结