On Fri, 01 Dec 2017 18:35:34 -0800 hughaguila...@gmail.com wrote: hughaguila...@gmail.com writes: > > On Friday, December 1, 2017 at 5:54:44 PM UTC-7, Bakul Shah wrote: > > > > You should consider writing a chess program from scratch. It could be a > > lot of fun! > > > > If you start with a mature chess playing engine, you wouldn't learn as > > much and you would spend time fighting/interfacing with the engine. Since > > your chess is not quite the same as a regular chess, you may find that the > > assumption about how a queen moves may indeed be deeply ingrained in an > > existing chess engine. And undoing that could mean diving deep in the chess > > engine's code. > > > > If you are worried about a nice GUI, one option is to use an existing > > program to display the chess board (and assuming it allows two people to > > play), connect to it from your program via a tcp connection or two. You > > still have to model the board, keep track of each player's chess pieces, > > check that all moves are valid, write code to let your program play chess > > intelligently etc. All of these will give you plenty of practice with Go. > > > > If you ultimate goal is different, why not just focus on it? Very likely > > you will go through multiple iterations and in the process learn the > > programming language well as well. > > > > Have you written a game program like this? It is very difficult!
Many years ago when I was a student. A two player game. I could easily beat the first version. Then I analyzed it & realized a data representation change would speed it up by a factor of more than 100. Now the computer could look a few more turns ahead in the same time frame and I never beat it after that. > As a first Go program, I think I should aim somewhat lower. For example, I > could port my LowDraw program from ANS-Forth (it was my first-ever > ANS-Forth program, written in 2007 or thereabouts) . > That program did a recursive-descent traversal of all possible LowDraw > poker hands and calculated the probabilities of all the possible results > --- this could be done for various drawing strategies to compare them. > It would be interesting to compare the speed of the Go version with the > speed of the existing Forth program --- there would be some opportunity for > parallel processing --- the branches of the recursive descent can be done > in parallel, as they aren't dependent upon each other. Yes, this would be an easier choice. > In regard to Elphaba Chess, I think I will just delve into that Stockfish > program --- a Go program would have been cool --- if there is no Go program > though, then the C++ program is likely the best option. There seem to be many chess related packages: https://golanglibs.com/top?q=chess -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.