bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] new Raccoon's brain


From: Joern Thyssen
Subject: Re: [Bug-gnubg] new Raccoon's brain
Date: Wed, 26 Feb 2003 12:52:34 +0000
User-agent: Mutt/1.4i

On Wed, Feb 26, 2003 at 01:00:25PM +0100, Øystein O Johansen wrote
> 
> Hmmmm..... maybe I was a bit fast in my previous mail.
> 
> If I change the dice roll in the example from 31 to 65, I get anMove 24 18
> 13 8 which is not correct!. Then if I change ec.fCubeful to 1 (TRUE), I get
> 24 18 18 13. Strange!
> 
> If I take Jaro's position:
> 
>  GNU Backgammon  Position ID: 4HPKATDgc/ABMA
>                  Match ID   : cIkaAAAAAAAA
>  +13-14-15-16-17-18------19-20-21-22-23-24-+     O: gnubg
>  | X  O  O     O    |   | O              X |     0 points
>  | X           O    |   | O              X |
>  | X           O    |   | O                |
>  | X                |   | O                |
>  | X                |   | O                |
> v|                  |BAR|                  |     (Cube: 1)
>  |                  |   | X                |
>  |                  |   | X                |
>  | O           X    |   | X                |
>  | O           X    |   | X              O |     Rolled 56
>  | O           X    |   | X              O |     0 points
>  +12-11-10--9--8--7-------6--5--4--3--2--1-+     X: user
> 
> I get 24 18 18 13.
> 
> Just as an experiment I change the player on turn, and I expect to get 11 5
> 10 5, but I still get 24 18 18 13. Strange!?

No! See below!

> 
> Can anyone try the code in my example (previous post) and see if they get
> the same result?

I've not checked the code, I'll just point out an important thing:

The board should always be positioned so the player on roll is player 1
(i.e., anBoard[1]). The fMove in the cubeinfo struct is only for
selecting the right gammon price, match scores, and cube owner.

That is,

     int anBoard[2][25] =
            {{ 0,0,0,0,0,5,0,3,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,2,0 },
             { 0,0,0,0,0,5,0,3,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,2,0 }};

to evaluate the move shown in the diagram above (i.e., X having rolled
65). If you wish to analyse with O having rolled 65 you should use:

     int anBoard[2][25] =
            {{ 0,0,0,0,0,5,0,3,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,2,0 },
             { 0,0,0,0,0,5,0,3,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,2,0 }};


Jørn




reply via email to

[Prev in Thread] Current Thread [Next in Thread]