Ich muss eine Funktion schreiben, die eine Liste von Zeichenfolgen (Wörter, die in der Länge variieren), und ein int (Größe des Datensatzes zB int-Wert von 4 wird 4 Spalten und vier Zeilen in der Tabelle), und damit muss ich ein kreuzworträtselähnlicher Block erzeugen (Block ist der Datensatz), der so viele der Wörter in der Liste wie möglich enthält, wie ein Kreuzworträtsel, das sie einander kreuzen können, wenn die Buchstaben übereinstimmen richtige Orte, und die Wörter müssen alle durcheinander sein, in jeder Richtung gelesen werden (wie ein Kreuzworträtsel).Erzeuge ein kreuzworträtselähnliches Dataset
Ich kann nicht scheinen, Code zu finden, um mir dabei zu helfen, bis jetzt habe ich die grundlegende Struktur des Datasets, hier ist es, jede mögliche Hilfe wird geschätzt, danke.
public WordsDs WordMixer(List<string> wordList, int size)
{
if ((wordList == null) || (size < 2))
{
return null;
}
//shuffle the words in the list so that they are in a random order
Random random = new Random();
var sortedList = wordList.OrderBy(i => random.Next()).ToList();
//create a dataset for the words
DataSet ds = new DataSet();
DataTable dt = new DataTable();
//add columns and rows according to the size parameter
for (int i = 0; i < size; i++)
{
dt.Columns.Add(i.ToString(), typeof(string));
}
for (int i = 0; i < size; i++)
{
dt.Rows.Add(i);
}
for (int i = 0; i < wordList.Count; i++)
{
}//for (int i = 0; i < wordList.Count; i++)
}
Ich bin ein wenig verwirrt darüber, was Sie unter "in jede Richtung gelesen werden". Meinst du ein Kreuzworträtsel: http://en.wikipedia.org/wiki/Crossword? Oder eine Wortsuche: http://en.wikipedia.org/wiki/Word_search? – DGH
BTW, das ist nicht der beste Weg zu mischen -> http://stackoverflow.com/questions/1287567/c--using-random-and-orderby-a-good-shuffle-algorithmus – digEmAll
Sie müssen vergleichen alle Ihre Wörter in Ihrer Liste eins nach dem anderen und prüfen, ob sie länger sind als int. Sie können ein 10-stelliges Wort nicht in einen 4 * 4-Datensatz einfügen, wenn Sie vorhaben, jeder Zelle einen Buchstaben zu geben. Ich schlage vor, dass Sie Ihre Wörter (Buchstaben für Buchstaben) zufällig in Ihren Datensatz einfügen und den Rest Ihres Datensatzes mit zufälligen Buchstaben füllen. Wenn das ist, was Sie brauchen, kann ich den Code dafür schreiben und ich bin mir sicher, dass es Spaß machen würde :) – Pabuc