Gui for chess engine MINIMAX

User projects written in or related to FreeBASIC.
tinram
Posts: 88
Joined: Nov 30, 2006 13:35
Location: UK

Re: Gui for chess engine MINIMAX

Postby tinram » Mar 22, 2012 16:55

Fast, responsive program, with a nice scale option.
Neat code. Superb images by Dr_D.
It doesn't max out a CPU core (like Yea Chess v.1.16, http://free-zd.htnet.hr/drazen/ and some others).
Piece movement is perhaps too fast (easy to miss opponent's last move) and the program ideally needs a move log.
Beating the program seems to play the motherboard speaker?!

At the moment, I can only get some idea of the strength of the chess engine by playing it against Yea Chess. Yea beat it comfortably with both programs set on their default levels (mid-range). Looks as though your program would beat me most of the time, as I find Yea to be tough enough for my limited ability.

This is one of the best Chess programs I've seen in FreeBASIC - great effort Vanya. (Another excellent one is Garvan's OpenGL version.)
Roland Chastain
Posts: 851
Joined: Nov 24, 2011 19:49
Location: Dakar, Senegal
Contact:

Re: Gui for chess engine MINIMAX

Postby Roland Chastain » Mar 22, 2012 18:06

tinram wrote:Fast, responsive program, with a nice scale option.
Neat code. Superb images by Dr_D.


tinram wrote:- great effort Vanya.


This is also my opinion, and I believe that the author of the chess engine would be glad to see what a nice job Vanya made with his code.

@Dr_D

I can't believe how fast and easily you modified your picture. The result is very nice.

As an artist, what do you think about monochrome pictures, pure black and white, like Fritz 1 chess pieces, the pictures I used in my chess program ? Wouldn't you try something of that kind ?

For me, I like it, not only because it suits to my programming level, but also because I find it has its beauty.
BasicCoder2
Posts: 3403
Joined: Jan 01, 2009 7:03

Re: Gui for chess engine MINIMAX

Postby BasicCoder2 » Mar 22, 2012 19:19

Roland Chastain wrote:As an artist, what do you think about monochrome pictures, pure black and white, like Fritz 1 chess pieces, the pictures I used in my chess program ? Wouldn't you try something of that kind ?

For me, I like it, not only because it suits to my programming level, but also because I find it has its beauty.


Beauty is of course in the eye of the beholder.

I like the gold an silver pieces except maybe too much reflection on the front top of the Queen and Castle.

There is the issue of reduction in size I have been using 32x32 images.

I also like the simpler images as it is easy to discriminate between the pieces as they get smaller and also because I can draw them using the PAINT program :)

When I started I didn't even know which was the Queen or King piece!!

ChessPieces1

Code: Select all

#include "fbgfx.bi"
using fb

screenres 540,580,32

dim shared as integer b1(12,12)  'hold pieces data

'read board data
    for y as integer = 0 to 11
        for x as integer = 0 to 11
            read b1(x,y)
        next x
    next y
   
dim as string datum,item

for k as integer = 0 to 11

    for j as integer = 0 to 31
        read datum
        for i as integer = 0 to 31
            item = mid(datum,i+1,1)
            if item = "-" then
                pset (i+k*32,j),rgb(255,255,255)
            else
                if item = " " then
                    pset (i+k*32,j),rgb(255,0,255)
                else
                    pset (i+k*32,j),rgb(0,0,0)
                end if
            end if
        next i

    next j
next k

dim shared as fb.image ptr wPawn
wPawn = imagecreate(32,32,0)
dim shared as fb.image ptr bPawn
bPawn = imagecreate(32,32,0)
dim shared as fb.image ptr wKnight
wKnight = imagecreate(32,32,0)
dim shared as fb.image ptr bKnight
bKnight = imagecreate(32,32,0)
dim shared as fb.image ptr wBishop
wBishop = imagecreate(32,32,0)
dim shared as fb.image ptr bBishop
bBishop = imagecreate(32,32,0)
dim shared as fb.image ptr wRook
wRook = imagecreate(32,32,0)
dim shared as fb.image ptr bRook
bRook = imagecreate(32,32,0)
dim shared as fb.image ptr wQueen
wQueen = imagecreate(32,32,0)
dim shared as fb.image ptr bQueen
bQueen = imagecreate(32,32,0)
dim shared as fb.image ptr wKing
wKing = imagecreate(32,32,0)
dim shared as fb.image ptr bKing
bKing = imagecreate(32,32,0)

get (0,0)-(31,31),wPawn
get (32,0)-(63,31),wKnight
get (64,0)-(95,31),wBishop
get (96,0)-(127,31),wRook
get (128,0)-(159,31),wKing
get (160,0)-(191,31),wQueen

get (192,0)-(223,31),bPawn
get (224,0)-(255,31),bKnight
get (256,0)-(287,31),bBishop
get (288,0)-(319,31),bRook
get (320,0)-(351,31),bKing
get (352,0)-(383,31),bQueen
'*** END  *****



' 1 = pawn, 2 = knight, 3 = bishop, 4 = rook, 5 = queen, 6 = king, 7 = border
' black pieces given negative value, sgn() returns -1 for black and +1 for white

'    0  1  2  3  4  5  6  7  8  9  10 11  <--- internal coordinates
'          A  B  C  D  E  F  G  H         <--- display coordinates
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '0
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '1     
data 7, 7, 4, 2, 3, 6, 5, 3, 2, 4, 7, 7 '2     1
data 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7 '3     2
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '4     3
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '5     4
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '6     5
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '7     6
data 7, 7,-1,-1,-1,-1,-1,-1,-1,-1, 7, 7 '8     7
data 7, 7,-4,-2,-3,-6,-5,-3,-2,-4, 7, 7 '9     8
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '10
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '11


   
'DRAW BOARD
    dim as integer shade = 0
    line (0,0)-(580,580),rgb(0,127,200),bf
    for y as integer = 2 to 9
        for x as integer = 2 to 9

            'DRAW SQUARE
            if shade = 0 then shade = 1 else shade = 0
            if shade = 0 then
                line (x*48,y*48)-(x*48+47,y*48+47),rgb(127,127,127),bf
            else
                line (x*48,y*48)-(x*48+47,y*48+47),rgb(191,191,191 ),bf
            end if
           
            'DRAW PIECE ON THIS SQUARE
            'any white piece on this square?
            if b1(x,y)=1 then
                put (x*48+9,y*48+9),wPawn,trans
            end if
            if b1(x,y)=2 then
                put (x*48+9,y*48+9),wKnight,trans
            end if
            if b1(x,y)=3 then
                put (x*48+9,y*48+9),wBishop,trans
            end if
            if b1(x,y)=4 then
                put (x*48+9,y*48+9),wRook,trans
            end if
            if b1(x,y)=5 then
                put (x*48+9,y*48+9),wQueen,trans
            end if
            if b1(x,y)=6 then
                put (x*48+9,y*48+9),wKing,trans
            end if
            'any black piece on this square?
            if b1(x,y)=-1 then
                put (x*48+9,y*48+9),bPawn,trans
            end if
            if b1(x,y)=-2 then
                put (x*48+9,y*48+9),bKnight,trans
            end if
            if b1(x,y)=-3 then
                put (x*48+9,y*48+9),bBishop,trans
            end if
            if b1(x,y)=-4 then
                put (x*48+9,y*48+9),bRook,trans
            end if
            if b1(x,y)=-5 then
                put (x*48+9,y*48+9),bQueen,trans
            end if
            if b1(x,y)=-6 then
                put (x*48+9,y*48+9),bKing,trans
            end if           
        next x
        if shade = 0 then shade = 1 else shade = 0
    next y
   
    sleep
   

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "              ####              "
DATA "             #----#             "
DATA "            #------#            "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "            #------#            "
DATA "             #----#             "
DATA "             #-##-#             "
DATA "            #------#            "
DATA "          ##--------##          "
DATA "         #------------#         "
DATA "        #--------------#        "
DATA "        ####-######-####        "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "          #----------#          "
DATA "          #----------#          "
DATA "         #------------#         "
DATA "        #--------------#        "
DATA "       #----------------#       "
DATA "      #------------------#      "
DATA "      #-################-#      "
DATA "     #--------------------#     "
DATA "     #--------------------#     "
DATA "     ######################     "

DATA "                                "
DATA "                 #              "
DATA "          ##    #-#             "
DATA "          #-#  #--#             "
DATA "          #--##---##            "
DATA "          #-#-----#-##          "
DATA "          ##-------#--#         "
DATA "          #----------###        "
DATA "         #---#------#--##       "
DATA "        #---##----------#       "
DATA "        #--####--------###      "
DATA "       #---#--#-------#--#      "
DATA "       #---#-#-----#------#     "
DATA "      #------------#----###     "
DATA "      #------------#---#--#     "
DATA "     #------------##------#     "
DATA "     #------------#-------##    "
DATA "    #--------#####-------#-#    "
DATA "    #-------#  #-----------#    "
DATA "   #-##-----#  #-----------#    "
DATA "   #-#-----#  #----------###    "
DATA "    #----##  #-------------#    "
DATA "     ####   #-------------##    "
DATA "           #---------------#    "
DATA "          #---------------##    "
DATA "          #----------------#    "
DATA "         #---------------##     "
DATA "        #-----------------#     "
DATA "       #-------------------#    "
DATA "       #--------------------#   "
DATA "      #---------------------#   "
DATA "      ########################  "

DATA "               ##               "
DATA "              #--#              "
DATA "             #----#             "
DATA "            #------#            "
DATA "           #--------#           "
DATA "          #----------#          "
DATA "         #------------#         "
DATA "         #-----##-----#         "
DATA "        #------##------#        "
DATA "        #------##------#        "
DATA "        #------##------#        "
DATA "        #---########---#        "
DATA "       #----########----#       "
DATA "       #-------##-------#       "
DATA "       #-------##-------#       "
DATA "       #-------##-------#       "
DATA "       #-------##-------#       "
DATA "       #-------##-------#       "
DATA "       #-------##-------#       "
DATA "       #----------------#       "
DATA "       #----------------#       "
DATA "       #----------------#       "
DATA "        #--------------#        "
DATA "        #--------------#        "
DATA "         #-##########-#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "      ####------------####      "
DATA "    ##----############----##    "
DATA "   #-----##          ##-----#   "
DATA "   #######             ######   "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "      #####  ######  #####      "
DATA "      #---#  #----#  #---#      "
DATA "      #---#  #----#  #---#      "
DATA "      #---#  #----#  #---#      "
DATA "      #---####----####---#      "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "      ##-##############-##      "
DATA "       #----------------#       "
DATA "        ################        "
DATA "        #----#----#----#        "
DATA "        #----#----#----#        "
DATA "        ################        "
DATA "        #--#----#----#-#        "
DATA "        #--#----#----#-#        "
DATA "        ################        "
DATA "        #----#----#----#        "
DATA "        #----#----#----#        "
DATA "        ################        "
DATA "        #--#----#----#-#        "
DATA "        #--#----#----#-#        "
DATA "      ####################      "
DATA "     #--------------------#     "
DATA "     #--------------------#     "
DATA "    #----------------------#    "
DATA "    ########################    "

DATA "               ###              "
DATA "               #-#              "
DATA "               #-#              "
DATA "            ####-####           "
DATA "            #-------#           "
DATA "            ####-####           "
DATA "               #-#              "
DATA "               #-#              "
DATA "              #####             "
DATA "             ##---##            "
DATA "    #######  #-----#  #######   "
DATA "   #------####-----####------#  "
DATA "  #---------###---###---------# "
DATA "  #----####---#####---####----# "
DATA "  #--##----###-#-#-###----##--# "
DATA "  #-#---------##-##---------#-# "
DATA "  #-#----------#-#----------#-# "
DATA "  #-#----------#-#----------#-# "
DATA "  #-#----------#-#----------#-# "
DATA "  #-#----------#-#----------#-# "
DATA "   #-#---------#-#---------#-#  "
DATA "    #-#--------#-#--------#-#   "
DATA "     #-#-------#-#-------#-#    "
DATA "      #-#------#-#------#-#     "
DATA "      #-#################-#     "
DATA "      #-------------------#     "
DATA "      #--#--#----###------#     "
DATA "      #--####-####---####-#     "
DATA "      #----------------##-#     "
DATA "      #-##----###--###----#     "
DATA "      #-------------------#     "
DATA "       ###################      "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "          ##         ##         "
DATA "         #--#       #--#        "
DATA "        #----#     #----#       "
DATA "        #----#     #----#       "
DATA "         #--#       #--#        "
DATA "          #-#       #-#         "
DATA "    ##    #-#       #-#    ##   "
DATA "   #--#   #-#       #-#   #--#  "
DATA "  #----#  #--#     #--#  #----# "
DATA "  #----#  #--#     #--#  #----# "
DATA "   #--#   #---#   #---#   #--#  "
DATA "    #-#   #----# #----#   #-#   "
DATA "    #-#   #----# #----#   #-#   "
DATA "    #-#   #-----#-----#   #-#   "
DATA "    #--#  #-----------#  #--#   "
DATA "    #---# #-----------# #---#   "
DATA "    #----##-----------##----#   "
DATA "     #---------------------#    "
DATA "     #---------------------#    "
DATA "     #---------------------#    "
DATA "     #---------------------#    "
DATA "      #-#################-#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "       ###################      "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "              ####              "
DATA "             ######             "
DATA "            ########            "
DATA "           ##########           "
DATA "           ##########           "
DATA "           ##########           "
DATA "           ##########           "
DATA "            ########            "
DATA "             ######             "
DATA "             ##--##             "
DATA "            ########            "
DATA "          ############          "
DATA "         ##############         "
DATA "        ################        "
DATA "        #####------#####        "
DATA "           ##########           "
DATA "           ##########           "
DATA "           ##########           "
DATA "          ############          "
DATA "          ############          "
DATA "         ##############         "
DATA "        ################        "
DATA "       ##################       "
DATA "      ####################      "
DATA "      ##----------------##      "
DATA "     ######################     "
DATA "     ######################     "
DATA "     ######################     "

DATA "                                "
DATA "                #               "
DATA "         ##    ###              "
DATA "         ###  ####              "
DATA "         ###########            "
DATA "         ########-###           "
DATA "         ##########--#          "
DATA "         #########-##-#         "
DATA "        ####-##########         "
DATA "       ####--########--#        "
DATA "       ###----######-###        "
DATA "      ####-##-###########       "
DATA "      ####-#-#####-###--#       "
DATA "     #############-##-###       "
DATA "     #############-######       "
DATA "    #############-########      "
DATA "    #############-#####-##      "
DATA "   ##########    #########      "
DATA "   ########## ############      "
DATA "  ##--######  #########--#      "
DATA "  ##-######  #############      "
DATA "   #######  ############-#      "
DATA "    ####   ###############      "
DATA "          ##############-#      "
DATA "         #################      "
DATA "         ##############-#       "
DATA "        #################       "
DATA "       ###################      "
DATA "      #####################     "
DATA "      #####################     "
DATA "     #######################    "
DATA "     ########################   "

DATA "               ##               "
DATA "              ####              "
DATA "             ######             "
DATA "            ########            "
DATA "           ##########           "
DATA "          ############          "
DATA "         ##############         "
DATA "         ######--######         "
DATA "        #######--#######        "
DATA "        #######--#######        "
DATA "        #######--#######        "
DATA "        ####--------####        "
DATA "       #####--------#####       "
DATA "       ########--########       "
DATA "       ########--########       "
DATA "       ########--########       "
DATA "       ########--########       "
DATA "       ########--########       "
DATA "       ########--########       "
DATA "       ##################       "
DATA "       ##################       "
DATA "       ##################       "
DATA "        ################        "
DATA "        ################        "
DATA "         #------------#         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "      ####################      "
DATA "    ########################    "
DATA "   ########          ########   "
DATA "   #######             ######   "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "      #####  ######  #####      "
DATA "      #####  ######  #####      "
DATA "      #####  ######  #####      "
DATA "      #####  ######  #####      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ###--------------###      "
DATA "       ##################       "
DATA "        #--------------#        "
DATA "        #####-####-#####        "
DATA "        #####-####-#####        "
DATA "        #--------------#        "
DATA "        ###-####-####-##        "
DATA "        ###-####-####-##        "
DATA "        #--------------#        "
DATA "        #####-####-#####        "
DATA "        #####-####-#####        "
DATA "        #--------------#        "
DATA "        ###-####-####-##        "
DATA "        ###-####-####-##        "
DATA "       ##--------------##       "
DATA "     ######################     "
DATA "     ######################     "
DATA "    ########################    "
DATA "    ########################    "

DATA "               ###              "
DATA "               ###              "
DATA "               ###              "
DATA "            #########           "
DATA "            #########           "
DATA "            #########           "
DATA "               ###              "
DATA "               ###              "
DATA "              #---#             "
DATA "             #-###-#            "
DATA "    #######  #-###-#  #######   "
DATA "   ###########-###-###########  "
DATA "  #############---############# "
DATA "  #####----###########----##### "
DATA "  ###--####---#-#-#---####--### "
DATA "  ##-#########--#--#########-## "
DATA "  #-###########-#-###########-# "
DATA "  #-###########-#-###########-# "
DATA "  #-###########-#-###########-# "
DATA "  #-###########-#-###########-# "
DATA "   #-##########-#-##########-#  "
DATA "    #-#########-#-#########-#   "
DATA "     #-########-#-########-#    "
DATA "      #-#######-#-#######-#     "
DATA "      ##-----------------##     "
DATA "      #####################     "
DATA "      ###-##-####---#######     "
DATA "      ###----#----###----##     "
DATA "      #################--##     "
DATA "      ##--####---##---#####     "
DATA "      #####################     "
DATA "       ###################      "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "          ##         ##         "
DATA "         ####       ####        "
DATA "        ######     ######       "
DATA "        ######     ######       "
DATA "         ####       ####        "
DATA "          ###       ###         "
DATA "    ##    ###       ###    ##   "
DATA "   ####   ###       ###   ####  "
DATA "  ######  ####     ####  ###### "
DATA "  ######  ####     ####  ###### "
DATA "   ####   #####   #####   ####  "
DATA "    ###   ###### ######   ###   "
DATA "    ###   ###### ######   ###   "
DATA "    ###   #############   ###   "
DATA "    ####  #############  ####   "
DATA "    ##### ############# #####   "
DATA "    #########################   "
DATA "     #######################    "
DATA "     #######################    "
DATA "     #######################    "
DATA "     #######################    "
DATA "      ##-----------------##     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "       ###################      "


ChessPieces2

Code: Select all


#include "fbgfx.bi"
using fb

screenres 540,580,32

dim shared as integer b1(12,12)  'hold pieces data

'read board data
    for y as integer = 0 to 11
        for x as integer = 0 to 11
            read b1(x,y)
        next x
    next y
   
dim as string datum,item

for k as integer = 0 to 11

    for j as integer = 0 to 31
        read datum
        for i as integer = 0 to 31
            item = mid(datum,i+1,1)
            if item = "-" then
                pset (i+k*32,j),rgb(255,255,255)
            else
                if item = " " then
                    pset (i+k*32,j),rgb(255,0,255)
                else
                    pset (i+k*32,j),rgb(0,0,0)
                end if
            end if
        next i

    next j
next k


dim shared as fb.image ptr wPawn
wPawn = imagecreate(32,32,0)
dim shared as fb.image ptr bPawn
bPawn = imagecreate(32,32,0)
dim shared as fb.image ptr wKnight
wKnight = imagecreate(32,32,0)
dim shared as fb.image ptr bKnight
bKnight = imagecreate(32,32,0)
dim shared as fb.image ptr wBishop
wBishop = imagecreate(32,32,0)
dim shared as fb.image ptr bBishop
bBishop = imagecreate(32,32,0)
dim shared as fb.image ptr wRook
wRook = imagecreate(32,32,0)
dim shared as fb.image ptr bRook
bRook = imagecreate(32,32,0)
dim shared as fb.image ptr wQueen
wQueen = imagecreate(32,32,0)
dim shared as fb.image ptr bQueen
bQueen = imagecreate(32,32,0)
dim shared as fb.image ptr wKing
wKing = imagecreate(32,32,0)
dim shared as fb.image ptr bKing
bKing = imagecreate(32,32,0)

get (0,0)-(31,31),wPawn
get (32,0)-(63,31),wKnight
get (64,0)-(95,31),wBishop
get (96,0)-(127,31),wRook
get (128,0)-(159,31),wKing
get (160,0)-(191,31),wQueen

get (192,0)-(223,31),bPawn
get (224,0)-(255,31),bKnight
get (256,0)-(287,31),bBishop
get (288,0)-(319,31),bRook
get (320,0)-(351,31),bKing
get (352,0)-(383,31),bQueen
'*** END  *****



' 1 = pawn, 2 = knight, 3 = bishop, 4 = rook, 5 = queen, 6 = king, 7 = border
' black pieces given negative value, sgn() returns -1 for black and +1 for white

'    0  1  2  3  4  5  6  7  8  9  10 11  <--- internal coordinates
'          A  B  C  D  E  F  G  H         <--- display coordinates
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '0
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '1     
data 7, 7, 4, 2, 3, 6, 5, 3, 2, 4, 7, 7 '2     1
data 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7 '3     2
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '4     3
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '5     4
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '6     5
data 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7 '7     6
data 7, 7,-1,-1,-1,-1,-1,-1,-1,-1, 7, 7 '8     7
data 7, 7,-4,-2,-3,-6,-5,-3,-2,-4, 7, 7 '9     8
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '10
data 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 '11


   
'DRAW BOARD
    dim as integer shade = 0
    line (0,0)-(580,580),rgb(0,127,200),bf
    for y as integer = 2 to 9
        for x as integer = 2 to 9

            'DRAW SQUARE
            if shade = 0 then shade = 1 else shade = 0
            if shade = 0 then
                line (x*48,y*48)-(x*48+47,y*48+47),rgb(127,127,127),bf
            else
                line (x*48,y*48)-(x*48+47,y*48+47),rgb(191,191,191 ),bf
            end if
           
            'DRAW PIECE ON THIS SQUARE
            'any white piece on this square?
            if b1(x,y)=1 then
                put (x*48+9,y*48+9),wPawn,trans
            end if
            if b1(x,y)=2 then
                put (x*48+9,y*48+9),wKnight,trans
            end if
            if b1(x,y)=3 then
                put (x*48+9,y*48+9),wBishop,trans
            end if
            if b1(x,y)=4 then
                put (x*48+9,y*48+9),wRook,trans
            end if
            if b1(x,y)=5 then
                put (x*48+9,y*48+9),wQueen,trans
            end if
            if b1(x,y)=6 then
                put (x*48+9,y*48+9),wKing,trans
            end if
            'any black piece on this square?
            if b1(x,y)=-1 then
                put (x*48+9,y*48+9),bPawn,trans
            end if
            if b1(x,y)=-2 then
                put (x*48+9,y*48+9),bKnight,trans
            end if
            if b1(x,y)=-3 then
                put (x*48+9,y*48+9),bBishop,trans
            end if
            if b1(x,y)=-4 then
                put (x*48+9,y*48+9),bRook,trans
            end if
            if b1(x,y)=-5 then
                put (x*48+9,y*48+9),bQueen,trans
            end if
            if b1(x,y)=-6 then
                put (x*48+9,y*48+9),bKing,trans
            end if           
        next x
        if shade = 0 then shade = 1 else shade = 0
    next y
   
    sleep

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "              ####              "
DATA "             #----#             "
DATA "            #------#            "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "            #------#            "
DATA "             #----#             "
DATA "             #----#             "
DATA "            #------#            "
DATA "          ##--------##          "
DATA "         #------------#         "
DATA "        #--------------#        "
DATA "        ####--------####        "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "           #--------#           "
DATA "          #----------#          "
DATA "          #----------#          "
DATA "         #------------#         "
DATA "        #--------------#        "
DATA "       #----------------#       "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "     #--------------------#     "
DATA "     #--------------------#     "
DATA "     ######################     "

DATA "                                "
DATA "                 #              "
DATA "          ##    #-#             "
DATA "          #-#  #--#             "
DATA "          #--##---##            "
DATA "          #---------##          "
DATA "          #-----------#         "
DATA "          #------------#        "
DATA "         #--------------#       "
DATA "        #---------------#       "
DATA "        #----------------#      "
DATA "       #-----------------#      "
DATA "       #------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "     #--------------------#     "
DATA "     #---------------------#    "
DATA "    #--------#####---------#    "
DATA "    #-------#    #---------#    "
DATA "   #--------#    #---------#    "
DATA "   #-------#    #----------#    "
DATA "    #----##    #-----------#    "
DATA "     ####     #------------#    "
DATA "             #-------------#    "
DATA "           ##--------------#    "
DATA "          #----------------#    "
DATA "         #-----------------#    "
DATA "        #------------------#    "
DATA "       #-------------------#    "
DATA "       #--------------------#   "
DATA "      #---------------------#   "
DATA "      ########################  "

DATA "                                "
DATA "               ###              "
DATA "              #---#             "
DATA "              #---#             "
DATA "              #---#             "
DATA "               #-#              "
DATA "              #---#             "
DATA "             #-----#            "
DATA "            #-------#           "
DATA "             #-------#          "
DATA "              #------#          "
DATA "           #   #------#         "
DATA "          #-#  #------#         "
DATA "          #--##-------#         "
DATA "         #------------#         "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         #-------------#        "
DATA "         ##-----------##        "
DATA "          #-----------#         "
DATA "          #-----------#         "
DATA "          #-----------#         "
DATA "          #-----------#         "
DATA "       ###---#######---###      "
DATA "     ##-----#       #-----##    "
DATA "    #------#         #------#   "
DATA "    #######           #######   "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "      #####  ######  #####      "
DATA "      #---#  #----#  #---#      "
DATA "      #---#  #----#  #---#      "
DATA "      #---#  #----#  #---#      "
DATA "      #---####----####---#      "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "      #------------------#      "
DATA "      ##----------------##      "
DATA "        #--------------#        "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "         #------------#         "
DATA "      ####------------####      "
DATA "     #--------------------#     "
DATA "     #--------------------#     "
DATA "    #----------------------#    "
DATA "    ########################    "

DATA "               ###              "
DATA "               #-#              "
DATA "               #-#              "
DATA "            ####-####           "
DATA "            #-------#           "
DATA "            ####-####           "
DATA "               #-#              "
DATA "               #-#              "
DATA "              ##-##             "
DATA "             ##---##            "
DATA "    ######   #-----#   ######   "
DATA "   #------#  #-----#  #------#  "
DATA "  #--------#  #---#  #--------# "
DATA "  #---------##-----##---------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "  #---------------------------# "
DATA "   #-------------------------#  "
DATA "   #-------------------------#  "
DATA "    #-----------------------#   "
DATA "     ##-------------------##    "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "       ###################      "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "          ##         ##         "
DATA "         #--#       #--#        "
DATA "        #----#     #----#       "
DATA "        #----#     #----#       "
DATA "         #--#       #--#        "
DATA "          #-#       #-#         "
DATA "    ##    #-#       #-#    ##   "
DATA "   #--#   #-#       #-#   #--#  "
DATA "  #----#  #--#     #--#  #----# "
DATA "  #----#  #--#     #--#  #----# "
DATA "   #--#   #---#   #---#   #--#  "
DATA "    #-#   #----# #----#   #-#   "
DATA "    #-#   #----# #----#   #-#   "
DATA "    #-#   #-----#-----#   #-#   "
DATA "    #-#   #-----#-----#   #-#   "
DATA "    #--#  #-----------#  #--#   "
DATA "    #---# #-----------# #---#   "
DATA "    #----##-----------##----#   "
DATA "     #---------------------#    "
DATA "     #---------------------#    "
DATA "     #---------------------#    "
DATA "     #---------------------#    "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "      #-------------------#     "
DATA "       ###################      "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "              ####              "
DATA "             ######             "
DATA "            ########            "
DATA "           ##########           "
DATA "           ##########           "
DATA "           ##########           "
DATA "           ##########           "
DATA "            ########            "
DATA "             ######             "
DATA "             ######             "
DATA "            ########            "
DATA "          ############          "
DATA "         ##############         "
DATA "        ################        "
DATA "        ################        "
DATA "           ##########           "
DATA "           ##########           "
DATA "           ##########           "
DATA "          ############          "
DATA "          ############          "
DATA "         ##############         "
DATA "        ################        "
DATA "       ##################       "
DATA "      ####################      "
DATA "      ####################      "
DATA "     ######################     "
DATA "     ######################     "
DATA "     ######################     "

DATA "                                "
DATA "                 #              "
DATA "          ##    ###             "
DATA "          ###  ####             "
DATA "          ##########            "
DATA "          ############          "
DATA "          #############         "
DATA "          ##############        "
DATA "         ################       "
DATA "        #################       "
DATA "        ##################      "
DATA "       ###################      "
DATA "       ####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "     ######################     "
DATA "     #######################    "
DATA "    ########################    "
DATA "    #########    ###########    "
DATA "   ##########    ###########    "
DATA "   #########    ############    "
DATA "    #######    #############    "
DATA "     ####     ##############    "
DATA "             ###############    "
DATA "           #################    "
DATA "          ##################    "
DATA "         ###################    "
DATA "        ####################    "
DATA "       #####################    "
DATA "       ######################   "
DATA "      #######################   "
DATA "      ########################  "

DATA "                                "
DATA "               ###              "
DATA "              #####             "
DATA "              #####             "
DATA "              #####             "
DATA "               ###              "
DATA "              #####             "
DATA "             #######            "
DATA "            #########           "
DATA "             #########          "
DATA "              ########          "
DATA "           #   ########         "
DATA "          ###  ########         "
DATA "          #############         "
DATA "         ##############         "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "         ###############        "
DATA "          #############         "
DATA "          #############         "
DATA "          #############         "
DATA "          #############         "
DATA "       ###################      "
DATA "     ########       ########    "
DATA "    ########         ########   "
DATA "    #######           #######   "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "                                "
DATA "      #####  ######  #####      "
DATA "      #####  ######  #####      "
DATA "      #####  ######  #####      "
DATA "      #####  ######  #####      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "      ####################      "
DATA "        ################        "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "         ##############         "
DATA "      ####################      "
DATA "     ######################     "
DATA "     ######################     "
DATA "    ########################    "
DATA "    ########################    "

DATA "               ###              "
DATA "               ###              "
DATA "               ###              "
DATA "            #########           "
DATA "            #########           "
DATA "            #########           "
DATA "               ###              "
DATA "               ###              "
DATA "              #####             "
DATA "             #######            "
DATA "    ######   #######   ######   "
DATA "   ########  #######  ########  "
DATA "  ##########  #####  ########## "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "  ############################# "
DATA "   ###########################  "
DATA "   ###########################  "
DATA "    #########################   "
DATA "     #######################    "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "       ###################      "

DATA "                                "
DATA "                                "
DATA "                                "
DATA "          ##         ##         "
DATA "         ####       ####        "
DATA "        ######     ######       "
DATA "        ######     ######       "
DATA "         ####       ####        "
DATA "          ###       ###         "
DATA "    ##    ###       ###    ##   "
DATA "   ####   ###       ###   ####  "
DATA "  ######  ####     ####  ###### "
DATA "  ######  ####     ####  ###### "
DATA "   ####   #####   #####   ####  "
DATA "    ###   ###### ######   ###   "
DATA "    ###   ###### ######   ###   "
DATA "    ###   #############   ###   "
DATA "    ###   #############   ###   "
DATA "    ####  #############  ####   "
DATA "    ##### ############# #####   "
DATA "    #########################   "
DATA "     #######################    "
DATA "     #######################    "
DATA "     #######################    "
DATA "     #######################    "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "      #####################     "
DATA "       ###################      "
VANYA
Posts: 1324
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: Gui for chess engine MINIMAX

Postby VANYA » Mar 22, 2012 20:00

I have on the windows xp figures are not transparent :(
Has anyone tried: how it works on Windows XP?

On Windows 7, all displayed correctly.
Dr_D
Posts: 2390
Joined: May 27, 2005 4:59
Contact:

Re: Gui for chess engine MINIMAX

Postby Dr_D » Mar 22, 2012 21:07

Thanks again for the compliments guys. :)

Roland Chastain wrote:
tinram wrote:Fast, responsive program, with a nice scale option.
Neat code. Superb images by Dr_D.


tinram wrote:- great effort Vanya.


This is also my opinion, and I believe that the author of the chess engine would be glad to see what a nice job Vanya made with his code.

@Dr_D

I can't believe how fast and easily you modified your picture. The result is very nice.

As an artist, what do you think about monochrome pictures, pure black and white, like Fritz 1 chess pieces, the pictures I used in my chess program ? Wouldn't you try something of that kind ?

For me, I like it, not only because it suits to my programming level, but also because I find it has its beauty.


Sure. :) Lightwave has some extremely versatile rendering capabilities, so I'll mess around a bit and see what they look like with silhouette outlines and stuff.
Dr_D
Posts: 2390
Joined: May 27, 2005 4:59
Contact:

Re: Gui for chess engine MINIMAX

Postby Dr_D » Mar 23, 2012 0:05

So what about something like this? I can refine it a bit more, but it will take a little time to get it just right...

Image
Roland Chastain
Posts: 851
Joined: Nov 24, 2011 19:49
Location: Dakar, Senegal
Contact:

Re: Gui for chess engine MINIMAX

Postby Roland Chastain » Mar 23, 2012 2:50

Dr_D wrote:So what about something like this? I can refine it a bit more, but it will take a little time to get it just right...

Image


Nice !

I am working on a new version of my program. It could be finished in two or three weeks. I would be very glad to use some pictures of yours in this release.
Roland Chastain
Posts: 851
Joined: Nov 24, 2011 19:49
Location: Dakar, Senegal
Contact:

Re: Gui for chess engine MINIMAX

Postby Roland Chastain » Mar 23, 2012 3:33

BasicCoder2 wrote:Beauty is of course in the eye of the beholder.

I like the gold an silver pieces except maybe too much reflection on the front top of the Queen and Castle.

There is the issue of reduction in size I have been using 32x32 images.


I like your pictures. When you have time to waste please draw a 40x40 set for ESCHECS !

;-)
VANYA
Posts: 1324
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: Gui for chess engine MINIMAX

Postby VANYA » Mar 23, 2012 3:53



BasicCoder2! I tried, did not help. I'm using GDI+ library under Windows XP properly loaded images with transparency:

Image

I want to know this is only my problem, or do all that?
Dr_D
Posts: 2390
Joined: May 27, 2005 4:59
Contact:

Re: Gui for chess engine MINIMAX

Postby Dr_D » Mar 23, 2012 5:22

Not much help... but works fine in Windows 7 here. I don't have a box with XP or else I'd try. :\
Coolman
Posts: 208
Joined: Nov 05, 2010 15:09

Re: Gui for chess engine MINIMAX

Postby Coolman » Mar 23, 2012 14:32

VANYA wrote:


BasicCoder2! I tried, did not help. I'm using GDI+ library under Windows XP properly loaded images with transparency:

I want to know this is only my problem, or do all that?


Tested in a win xp vm. same problem ...
VANYA
Posts: 1324
Joined: Oct 24, 2010 15:16
Location: Ярославль
Contact:

Re: Gui for chess engine MINIMAX

Postby VANYA » Mar 23, 2012 14:42

Coolman wrote:
VANYA wrote:


BasicCoder2! I tried, did not help. I'm using GDI+ library under Windows XP properly loaded images with transparency:

I want to know this is only my problem, or do all that?


Tested in a win xp vm. same problem ...



It looks like a library GDI+ is stable and correctly only on Windows Vista and Windows 7.
Basically, I am writing a program in Windows 7. Probably should have already forgotten about the compatibility of the system under a 2001 release and the previously released. :)

P.S. Thank you for testing.
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Gui for chess engine MINIMAX

Postby TESLACOIL » Mar 28, 2012 9:07

>

lots of very good & FREE chess software and utilities here...well worth a look !

http://freechess.50webs.com/misc.html
Roland Chastain
Posts: 851
Joined: Nov 24, 2011 19:49
Location: Dakar, Senegal
Contact:

Re: Gui for chess engine MINIMAX

Postby Roland Chastain » Mar 28, 2012 12:05

TESLACOIL wrote:lots of very good & FREE chess software and utilities here...well worth a look !


It seems to me that this is not the topic of the discussion.

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 2 guests