0

ここで自分のコードに新鮮な目を向けることができればと思っていました。私は Boggle のゲームの始まりである割り当てに取り組んでいます。基本的な前提は、96 文字のテキスト ファイルがあり、プログラムがそれらの文字を個別に読み取り、線形リンク リストにノードとして追加してから、各項目を別の線形リンク リストにコピーすることです。各ダイスに 6 文字、合計 16 個のダイス。ほとんどの関数は正常に動作していますが、96 文字すべてを含む線形リンク リスト (構造体 boggleDataNode) を取得し、各文字を 2 番目の線形リンク リスト (構造体 boggleDieSideNode) にコピーすることを想定している以下のものを除きます。関数の 3 番目のパラメーターは、コピーされる文字のインデックスであると想定されます。実装を確認できるように、主な関数を以下に含めました。私は現在迷っているので、洞察やガイダンスをいただければ幸いです。

void addBoggleDieSide(struct boggleDataNode *head1, struct boggleDieSideNode *head2, int index)
{
    int i = 0;

    struct boggleDieSideNode *temp = NULL;
    struct boggleDieSideNode *right = NULL;

    struct boggleDataNode *helper = NULL;

    temp = (struct boggleDieSideNode *)malloc(sizeof(struct boggleDieSideNode));

    helper = (struct boggleDataNode *)malloc(sizeof(struct boggleDataNode));

    helper = head1;

    for(i = 0; i <= index; i++)
    {
        helper = helper->nextData;
    }

    strcpy(temp->dieSideData, helper->data);

    temp->nextSide = NULL;

    if (head2 == NULL)
    {
        head2 = temp;
    }
    else
    {
        right = head2;

        while(right->nextSide != NULL)
        {
            right = right->nextSide;
        }

        right->nextSide = temp;
     }

     return;
 }







int main()
{
    int counter = 0;
    int i = 1;

    struct boggleDataNode *head1 = NULL;
    struct boggleDieSideNode *head2 = NULL;

    // Reads in original text file to boggleDataNode linked list
    read(&head1);

    // Displays boggleDataNode linked list
    displayDataFile(head1);

    for(i = 1; i <= 16; i++)
    {
        // Clears die that was just created in loop and starts a new die
        head2 = NULL;

        for(i = 1; i <= 6; i++)
        {
            addBoggleDieSide(head1, head2, counter);
            counter++;
        }

        // Displays values on each die
        displayDieSide(head2);
     }

     return 0;
}
4

1 に答える 1