今天,我通过做一个子手游戏来练习矩阵。
到目前为止,我已经设法使程序可以比较用户插入的字母,如果发现它等于该单词的字母之一,它将给出数字的字母位置(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 _ _ _'