It seems like it might be a better idea to have like maybe five different images, each from a different category, and you have to match the category to the image. Or maybe you have four images where three of them are from one category and one unrelated, and you have to find the three that go together. Or some variation on the theme that might not be so strict, since sometimes the images do not obviously go into one particular category, but you could allow for some small deviation.
What exactly does that accomplish that the current program does not? I think the main problem with the current program is that the noun list on which it is based has some problematic nouns in it. So some of the images are inappropriate (offensive) and others are ambiguous. But the vast majority of cases, a human (or at least I) can tell what the computer is expecting. So given 3 tries at passing 3 rounds in a row, it's very unlikely that I would be able to pass. Some younger folks might have a problem unless we simplify the word list a bit. But even they would often know that 3 pictures of catamarans probably aren't pictures that relate to the word "pig", even if they don't know what a catamaran is. Or that 3 pictures of a quail would go with the word "quail", even though they don't know exactly what a quail looks like, and only know that it's a bird (it's unlikely another bird appears in the list).
It seems like if you picked "categories", we wouldn't be able to use Google images as the source of the program's data... how would it work? You would search on fewer words, but look farther down the list of result images to pick random images? My problem with that is that the farther down the list you go, I think, the less relevant the images become to the word. But I suppose if you use a really good word, there should be lots of relevant images.
How's your PHP... do you want to try implementing one or both of these to show off as a web site instead of a C# program?
