以下問題:讓字符串增長輸入
我想做一種hang子手遊戲(控制檯中的所有東西)。 所以我做了一個循環,在遊戲結束後會變成13次,玩家鬆動(如果玩家插入錯誤的字母,它只會倒數)。 現在,我想向用戶顯示他已使用哪些字母。所以輸出應該是這樣的:「你已經使用過:a,b,c,g ...」等等。所以在每次嘗試之後,該行都會增長一個字母(當然是輸入字母)。 我試過strcpy,但它只會產生隨機字母,我從來沒有放過,它不會增長,所以我該如何處理?
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <ctype.h>
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main()
{
char word[81], used[14];
int wrong=0, laenge, _, i;
char input;
SetConsoleTitle(" Guess me if u Can! ");
//printf("\n\n spielst du mit einem Freund oder alleine?"); /*for later
//printf(" \n\n [1] alleine"
// " \n\n [2] mit einem Freund"); */
printf("\n\n please insert a word (max. 80 characters): \n\n");
gets(word);
laenge=strlen(word);
printf("\n\n this word has %i characters.\n\n",laenge);
for(i=0; i<13; i++)
{
// for(_=0; _<laenge; _++) /*ignore this this is also for later
// printf(" _");
// printf("\n"); */
gotoxy(10,10);
printf("\n\n please insert a letter now: ");
input=getch();
strcpy(used, &input);
printf("\n\n The following characters are allready used: %c ", used);
if(strchr(word, input)){
printf("\n\n %c is in the word\t\t\t\t\t\t\n\n");
i--;
}
else{
printf("\n\n the letter %c is wrong!\n");
wrong++;
printf(" you have %i try",13-wrong);
}
}
system("cls");
printf("\n\n to many tries.\n\n");
system("Pause");
}
邊注:從來沒有使用的變量名與'_'開始(他們可能會使用系統變量衝突)。更少一個'_'。 –
這就是爲什麼我總是使用帶有字符串的語言。 –