今天,我通过做一个子手游戏来练习矩阵。

到目前为止,我已经设法使程序可以比较用户插入的字母,如果发现它等于该单词的字母之一,它将给出数字的字母位置(0,1, 2,3等)。

void hangman(char word[],int size){
int counter=0;


while(counter<=7){


    printf("\nInsert a letter: ");
    char letter;
    scanf("%c",&letter);
    fflush(stdin);
    if(letter==word[counter++]){
        printf("\nThe letters position is %d\n",counter-1);
    }else{
        if(letter!=word[counter++]){
            imprimirMatriz(y,4,7);
            printf("\nThat letter is not part of the word!\n");
            printf("Try again.\n");
        }
    }


}


}

现在,到目前为止,一切都很好。它给出了字母的位置,这太了不起了,但是,我制作了一个由一行八列组成的矩阵,而我想做的就是让程序显示该字母在该矩阵上的位置。例如,如果单词为“ although”,而索引字母为“ a”,则必须将矩阵打印为“ a _ _ _ _ _ _ _ _”。

你们能为我提供的任何帮助将不胜感激!

最佳答案

您可以将数组用于掩码字符串。
例:

given string = 'abcd'
array1 = ['a']['b']['c']['d']
array2 = ['_']['_']['_']['_']


当演奏者猜出给定字符串中存在字母时,可以将掩码字符串的值分配给正确的字母或给定字符串的相应值。现在很容易返回被屏蔽的字符串。

例:
玩家猜字母'a'-> true
array1中'a'的索引为0-> array2 [0] ='a'->以字符串形式返回array2:'a _ _ _'

10-08 06:55
查看更多