Produce a crossword-like dataset
I can't seem to find code to help me with this, so far I have the basic structure of the dataset, here it is, any help will be appreciated, thanks.
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++)
}
You could just use a two-dimensional array to hold the characters. I guess the tricky part is from the word list work out where there a letter is shared between two words. I guess start with the least frequently used letter and work from there!
Interesting Article
http://blogs.teamb.com/craigstuntz/2010/01/11/38518/
Stack Overflow Question may help (although in c++ - might be of use)
Best data structure for crossword puzzle search
Other links to code generators.
http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=6082&lngWId=10
http://dotnetslackers.com/articles/net/Creating-a-programming-crossword-puzzle.aspx
One in c
http://pdos.csail.mit.edu/cgi-bin/theme-cword
精彩评论