Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


#Actualjwezorek

Posted 02 April 2013 - 01:34 AM

I think to write machine players for these games from easiest to implement to hardest would be:

 

 

  • Tic-Tac-Toe: beginner. Tic-tac-toe is easy because perfect play can be expressed as a list of rules that would be relatively straight-forward to implement in a function. See here.
  • Hangman : beginner. You need to implement a dictionary as a data structure that can be searched with wild cards, basically. A beginner could do this by doing the naive linear time search, building a set of all possible matches, picking a word at random from this set, and picking a letter that hasn't been played yet at random from this word.
  • Battleship: intermediate. Wouldn't be entirely trivial to implement a good machine player, I think, although not sure I remember how you play battleship so am not sure.
  • Connect Four: advanced. This is the easiest of the games listed for which you would want to implement the alpha beta algorithm, but realistically doing this at all competently is advanced in my opinion; others may find this conservative.
  • Checkers: advanced. 
  • Chess: expert.
  • Go: expert. 

But basically writing machine players for any of these besides Tic-Tac-Toe would not be a good project for a total beginner.


#3jwezorek

Posted 01 April 2013 - 03:45 PM

I think to write machine players for these games from easiest to implement to hardest would be:

 

 

  • Tic-Tac-Toe: beginner. Tic-tac-toe is easy because perfect play can be expressed as a simple list rules that would be relatively straight-forward to implement in a function. See here.
  • Hangman : beginner. You need to implement a dictionary as a data structure that can be searched with wild cards, basically. A beginner could do this by doing the naive linear time search, building a set of all possible matches, picking a word at random from this set, and picking a letter that hasn't been played yet at random from this word.
  • Battleship: intermediate. Wouldn't be entirely trivial to implement a good machine player, I think, although not sure I remember how you play battleship so am not sure.
  • Connect Four: advanced. This is the easiest of the games listed for which you would want to implement the alpha beta algorithm, but realistically doing this at all competently is advanced in my opinion; others may find this conservative.
  • Checkers: advanced. 
  • Chess: expert.
  • Go: expert. 

But basically writing machine players for any of these besides Tic-Tac-Toe would not be a good project for a total beginner.


#2jwezorek

Posted 01 April 2013 - 03:43 PM

I think to write machine players for these games from easiest to implement to hardest would be:

 

 

  • Tic-Tac-Toe: beginner. Tic-tac-toe is easy because perfect play can be expressed as a simple list rules that would be relatively straight-forward to implement in a function. See here.
  • Hangman : beginner. You need to implement a dictionary as a data structure that can be searched with wild cards, basically. A beginner could do this by doing the naive linear time search, building a set of all possible matches, picking a word at random from this set, and picking a letter that hasn't been played yet at random from this word.
  • Battleship: intermediate. Wouldn't be entirely trivial to implement a good machine player.
  • Connect Four: advanced. This is the easiest of the games listed for which you woould want to implement the alpha beta algorithm.
  • Checkers: advanced. 
  • Chess: expert.
  • Go: expert. 

But basically writing machine players for any of these besides Tic-Tac-Toe would not be a good project for a total beginner.


#1jwezorek

Posted 01 April 2013 - 03:42 PM

I think to write machine players for these games from easiest to implement to hardest would be:

 

 

  • Tic-Tac-Toe: beginner. Tic-tac-toe is easy because perfect play can be expressed as a simple list rules that would be relatively straight-forward to implement in a function. See here.
  • Hangman : beginner. You need to implement a dictionary as a data structure that can be searched with wild cards, basically. A beginner could do this by doing the naive linear time search, building a set of all possible matches, picking a word at random from this set, and picking a letter that hasn't been played yet at random from this word.
  • Battleship: intermediate. Wouldn't be entirely trivial to implement a good machine player.
  • Connect Four: advanced. This is the easiest of the games listed for which you woould want to implement the alpha beta algorithm.
  • Checkers: advanced. 
  • Chess: expert.
  • Go: expert. 

But basically writing machine players for any of these besides Tic-Tac-Toe would not be a good project for a beginner -- perfect play for tic


PARTNERS