1

ASレベルのコンピューティングコースでは、Turbo Pascalを使用しており、拡張作業のために、ブラックジャック/21スタイルのカードゲームを作成するタスクが与えられています。一般的なカードゲームのデータ構造のユニットを作成することにしました。

unit CardLib;

interface

type
    CardSuite = (clubs, diamonds, hearts, spades);

    Card = record
        name:String;
        value:Integer;
        suite:CardSuite;
    end;

    CardDeck = object
        cards: Array[0..51] of Card;
        freeIndex: Integer;
        constructor init;
        procedure addNewCard(suite:CardSuite, name:String, value:Integer);
        procedure addCard(c:Card);
        function drawCard:Card;
        destructor done;
    end;

    CardHand = object
        cards: Array[0..51] of Card;
        freeIndex: Integer;
        constructor init(deck:CardDeck, size:Integer);
        function getLowestTotal:Integer; {Aces are worth 1}
        function getHighestTotal:Integer; {Aces are worth 11}
        procedure addCard(c:Card);
        destructor done;
    end;
...

TurboPascal互換モードでFreePascalを使用してこのコードをコンパイルしていますが、次のエラーが発生します。

CardLib.pas(18,39) Fatal: Syntax error, ")" expected but "," found
Fatal: Compilation aborted
Error: /usr/bin/ppcarm returned an error exitcode (normal if you did not specify a source file to be compiled)

addNewCardプロシージャをコメントアウトすると、代わりにCardHandコンストラクタで同じエラーが発生します。これを引き起こしているアイデアはありますか?

4

1 に答える 1

3

パラメータを区切るにはセミコロンを使用します。

procedure addNewCard(suite:CardSuite; name:String; value:Integer);
于 2012-11-14T18:01:34.953 に答える