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. 

> On Nov 24, 2017, at 5:38 PM, hughaguila...@gmail.com wrote:
> 
> I invented a chess variation called: Elphaba Chess
> This is just like International Chess except that the queen can't capture the 
> opponent's pieces and it can't be captured --- it is just used for blocking.
> 
> I would like to write a program to play this game, but writing that from 
> scratch is beyond me. 
> Perhaps I could find a public-domain open-source chess program and modify it 
> to use my rules. I would have to change the legal-move code to eliminate 
> captures by the queen or captures of the queen.
> Other than that, the program should work fine. Check-mate is still the goal. 
> The queen is still worth 9 points, but that is irrelevant, so you might as 
> well say that it is worth 0 points.
> I would not expect the point values for the other pieces to change --- they 
> might though --- this would have to be determined by experimentation (by 
> stronger players than myself).
> 
> I would prefer to do this in Go as I'm learning Go and this would be a good 
> learning exercise.
> If there are no such programs available in Go however, then I could use 
> another language --- I know C, C++ and Pascal, but not very well, and I don't 
> like them much.
> My background is in Forth (I've done that professionally), but ANS-Forth 
> killed Forth in 1994, so nobody really uses Forth anymore.
> 
> thanks for any links --- Hugh
> 
> My ultimate goal with Go is to write a program to "understand" the Ido 
> language, at least insomuch as generating a grammar diagram for a sentence 
> and determining if the sentence is grammatical.
> It could go from there to generating an English or Spanish translation. I 
> have a lot to learn about Go before I tackle such a program however.
> 
> Does Go run on smart-phones? I have only heard of Java and Objective-C being 
> used. I have no interest in learning Java, and not much interest in 
> Objective-C.
> 
> This program lends itself well to parallel processing. The meaning and 
> part-of-speech (POS) of each word in an Ido sentence is context-insensitive, 
> so the words can be analyzed in parallel.
> I have designed a multi-core Forth processor that can be built into an FPGA 
> --- that is what I would like to use --- build a handheld device to do the 
> translation.
> 
> 
> -- 
> 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 
> <mailto:golang-nuts+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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