Проблема заключается в том, что я обнаружил, что для моего подхода требуется создание массива char -> char [] из нескольких переменных char. может ли кто-нибудь указать мне в правильном направлении?Добавить char для проблемы с массивом char, для игры hangman
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
string[] wordList = {
"Baseball", "Tackle", "Dubstep", "Ignorance", "Limitation", "Sausage",
"Destruction", "Patriot", "Computing", "Assembly", "Coding", "Hackers",
"Football", "Downward"
};
static void Main(string[] args)
{
int guessRemain = 7;
int wordSel = GenerateRandom();
Program o = new Program();
char[] wordChar = o.wordList[wordSel].ToLower().ToCharArray();
int MAX_BUF = wordChar.Length;
Console.WriteLine("\nHANGMAN v 1.0\n\n\n\n");
char[] userInput = PromptUserEntry();
char[] solution = ScanForMatchingLetter(wordChar, MAX_BUF, userInput);
Console.Read();
}
private static char ScanForMatchingLetter(char[] wordChar, int MAX_BUF, char[] userInput)
{
char[] solution = new char[MAX_BUF];
for (int i = 0; i < MAX_BUF; ++i)
{
if (userInput[0] == wordChar[i])
{
solution[i] = userInput[0];
}
}
return solution;
}
private static char[] PromptUserEntry()
{
Console.WriteLine("Pick a letter:");
char[] userInput = Console.ReadLine().ToCharArray();
return userInput;
}
private static void DisplayGuessLetterLine(char[] solution)
{
Console.Write(solution);
}
private static int GenerateRandom()
{
Random randNum = new Random();
int wordSel = randNum.Next(0, 13);
return wordSel;
}
}
}
У меня проблема с возвратом здесь; возвращаемый тип указан как символ, но я возвращаю char [].
Не используйте массив, если вам требуется хранилище переменной длины. «Список', вероятно, будет работать лучше для вас. –
Oded
Почему вы возвращаете символ, когда вам действительно нужен char [], и метод ('ScanForMatchingLetter') даже имеет char []? –
Все ваши функции являются статическими функциями внутри вашего класса, но ваш массив слов - это переменная экземпляра. Вы также можете применять 'static' к' wordList' и не создавать экземпляр класса Program, как вы делаете. Кроме того, удалите 'static' из всего, создайте нестатический метод' Run', а в 'Main' просто выполните' Program o = new Program(); o.Run(); ' – Steve