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.

Reply via email to