基本信息
源码名称:中国象棋源码
源码大小:2.13M
文件格式:.zip
开发语言:C#
更新时间:2018-01-11
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
中国象棋源码

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim i As Integer

        Me.Text = "象棋猪八戒"

        Call SetCchess()
        Call mSet子力价值()

        Busy = False    ''电脑没在运算

        NextCer(0) = 1 : NextCer(1) = 0

        REM 将16、士17、象18、马19、车20、包21、卒22(黑)
        REM 帅 8,仕 9、相10、马11、车12、炮13、兵14(红)
        For i = 0 To 22

            IsArms(i) = 0    ''编号为i的标示为不是兵
            If i = 22 Or i = 14 Then IsArms(i) = 1 ''22为黑卒 14为红兵

        Next i

        ''Directory = "C:\Documents and Settings\zsx\My Documents\Visual Studio 2005\Projects\VbCch2011\VbCch2010\Picture\" ''默认安装目录为C:\VbnCch
        Directory = "Picture\"

        cSel = -1


        Call SetCchess()

        Call Display()

    End Sub

    REM 读取图片
    Private Sub LoadPicture(ByVal FileName As String, ByVal PictureBox1 As PictureBox)

        Dim myBinaryData() As Byte
        'Dim myPicture As Image
        Dim fs As FileStream

        Try

            fs = File.OpenRead(FileName)

            ''将图形文件的数据读入一个Byte数组中
            ReDim myBinaryData(CInt(fs.Length - 1))
            fs.Read(myBinaryData, 0, CInt(fs.Length))

            ''根据Byte数组来建立一个MemoryStream对象
            Dim buffer As New MemoryStream(myBinaryData)

            '将MemoryStream对象的目前位置移至开头处
            buffer.Position = 0

            ''将图形文件的二进制数据读入一个Image对象
            'myPicture = Image.FromStream(buffer)
            'C1.Image = Image.FromStream(buffer)
            PictureBox1.Image = Image.FromStream(buffer)


        Catch ex As Exception

            Err.Clear()

        Finally


        End Try


    End Sub

    Private Function PictureFile(ByVal Chess As Byte) As String

        Dim c() As Byte = {1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7}

        Chess = c(Chess) ''取得棋子的文件名数字
        Return Directory Trim(ChessBoard(1).ToString) ".Jpg"

    End Function
    REM 显示
    Private Sub Display()

        Dim i As Integer, k As Integer
        Dim ChessBoard2(91) As Integer      ''棋盘2

        k = 1

        ''将256的ChessBoard转换为90的ChessBoard2
        For i = 0 To 255


            ''第i位置在棋盘上,写入ChessBoard2
            If InBoard(i) Then

                ChessBoard2(k) = ChessBoard(i)
                If k < 91 Then k = k 1

            End If

        Next i


        ''将所有图像控件的图像变成白色
        For i = 0 To Me.Controls.Count - 1

            If (TypeOf Me.Controls(i) Is PictureBox) And Trim(Me.Controls(i).Tag) <> " " Then

                LoadPicture(Directory "0.Bmp", Me.Controls(i))

            End If

        Next i

        C1.Visible = True : If ChessBoard2(1) = 0 Then C1.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(1).ToString) ".Bmp", C1)
        C2.Visible = True : If ChessBoard2(2) = 0 Then C2.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(2).ToString) ".Bmp", C2)
        C3.Visible = True : If ChessBoard2(3) = 0 Then C3.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(3).ToString) ".Bmp", C3)
        C4.Visible = True : If ChessBoard2(4) = 0 Then C4.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(4).ToString) ".Bmp", C4)
        C5.Visible = True : If ChessBoard2(5) = 0 Then C5.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(5).ToString) ".Bmp", C5)
        C6.Visible = True : If ChessBoard2(6) = 0 Then C6.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(6).ToString) ".Bmp", C6)
        C7.Visible = True : If ChessBoard2(7) = 0 Then C7.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(7).ToString) ".Bmp", C7)
        C8.Visible = True : If ChessBoard2(8) = 0 Then C8.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(8).ToString) ".Bmp", C8)
        C9.Visible = True : If ChessBoard2(9) = 0 Then C9.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(9).ToString) ".Bmp", C9)

        C10.Visible = True : If ChessBoard2(10) = 0 Then C10.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(10).ToString) ".Bmp", C10)
        C11.Visible = True : If ChessBoard2(11) = 0 Then C11.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(11).ToString) ".Bmp", C11)
        C12.Visible = True : If ChessBoard2(12) = 0 Then C12.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(12).ToString) ".Bmp", C12)
        C13.Visible = True : If ChessBoard2(13) = 0 Then C13.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(13).ToString) ".Bmp", C13)
        C14.Visible = True : If ChessBoard2(14) = 0 Then C14.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(14).ToString) ".Bmp", C14)
        C15.Visible = True : If ChessBoard2(15) = 0 Then C15.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(15).ToString) ".Bmp", C15)
        C16.Visible = True : If ChessBoard2(16) = 0 Then C16.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(16).ToString) ".Bmp", C16)
        C17.Visible = True : If ChessBoard2(17) = 0 Then C17.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(17).ToString) ".Bmp", C17)
        C18.Visible = True : If ChessBoard2(18) = 0 Then C18.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(18).ToString) ".Bmp", C18)

        C19.Visible = True : If ChessBoard2(19) = 0 Then C19.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(19).ToString) ".Bmp", C19)
        C20.Visible = True : If ChessBoard2(20) = 0 Then C20.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(20).ToString) ".Bmp", C20)
        C21.Visible = True : If ChessBoard2(21) = 0 Then C21.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(21).ToString) ".Bmp", C21)
        C22.Visible = True : If ChessBoard2(22) = 0 Then C22.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(22).ToString) ".Bmp", C22)
        C23.Visible = True : If ChessBoard2(23) = 0 Then C23.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(23).ToString) ".Bmp", C23)
        C24.Visible = True : If ChessBoard2(24) = 0 Then C24.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(24).ToString) ".Bmp", C24)
        C25.Visible = True : If ChessBoard2(25) = 0 Then C25.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(25).ToString) ".Bmp", C25)
        C26.Visible = True : If ChessBoard2(26) = 0 Then C26.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(26).ToString) ".Bmp", C26)
        C27.Visible = True : If ChessBoard2(27) = 0 Then C27.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(27).ToString) ".Bmp", C27)

        C28.Visible = True : If ChessBoard2(28) = 0 Then C28.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(28).ToString) ".Bmp", C28)
        C29.Visible = True : If ChessBoard2(29) = 0 Then C29.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(29).ToString) ".Bmp", C29)
        C30.Visible = True : If ChessBoard2(30) = 0 Then C30.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(30).ToString) ".Bmp", C30)
        C31.Visible = True : If ChessBoard2(31) = 0 Then C31.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(31).ToString) ".Bmp", C31)
        C32.Visible = True : If ChessBoard2(32) = 0 Then C32.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(32).ToString) ".Bmp", C32)
        C33.Visible = True : If ChessBoard2(33) = 0 Then C33.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(33).ToString) ".Bmp", C33)
        C34.Visible = True : If ChessBoard2(34) = 0 Then C34.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(34).ToString) ".Bmp", C34)
        C35.Visible = True : If ChessBoard2(35) = 0 Then C35.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(35).ToString) ".Bmp", C35)
        C36.Visible = True : If ChessBoard2(36) = 0 Then C36.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(36).ToString) ".Bmp", C36)

        C37.Visible = True : If ChessBoard2(37) = 0 Then C37.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(37).ToString) ".Bmp", C37)
        C38.Visible = True : If ChessBoard2(38) = 0 Then C38.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(38).ToString) ".Bmp", C38)
        C39.Visible = True : If ChessBoard2(39) = 0 Then C39.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(39).ToString) ".Bmp", C39)
        C40.Visible = True : If ChessBoard2(40) = 0 Then C40.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(40).ToString) ".Bmp", C40)
        C41.Visible = True : If ChessBoard2(41) = 0 Then C41.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(41).ToString) ".Bmp", C41)
        C42.Visible = True : If ChessBoard2(42) = 0 Then C42.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(42).ToString) ".Bmp", C42)
        C43.Visible = True : If ChessBoard2(43) = 0 Then C43.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(43).ToString) ".Bmp", C43)
        C44.Visible = True : If ChessBoard2(44) = 0 Then C44.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(44).ToString) ".Bmp", C44)
        C45.Visible = True : If ChessBoard2(45) = 0 Then C45.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(45).ToString) ".Bmp", C45)


        C46.Visible = True : If ChessBoard2(46) = 0 Then C46.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(46).ToString) ".Bmp", C46)
        C47.Visible = True : If ChessBoard2(47) = 0 Then C47.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(47).ToString) ".Bmp", C47)
        C48.Visible = True : If ChessBoard2(48) = 0 Then C48.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(48).ToString) ".Bmp", C48)
        C49.Visible = True : If ChessBoard2(49) = 0 Then C49.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(49).ToString) ".Bmp", C49)
        C50.Visible = True : If ChessBoard2(50) = 0 Then C50.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(50).ToString) ".Bmp", C50)
        C51.Visible = True : If ChessBoard2(51) = 0 Then C51.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(51).ToString) ".Bmp", C51)
        C52.Visible = True : If ChessBoard2(52) = 0 Then C52.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(52).ToString) ".Bmp", C52)
        C53.Visible = True : If ChessBoard2(53) = 0 Then C53.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(53).ToString) ".Bmp", C53)
        C54.Visible = True : If ChessBoard2(54) = 0 Then C54.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(54).ToString) ".Bmp", C54)

        C55.Visible = True : If ChessBoard2(55) = 0 Then C55.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(55).ToString) ".Bmp", C55)
        C56.Visible = True : If ChessBoard2(56) = 0 Then C56.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(56).ToString) ".Bmp", C56)
        C57.Visible = True : If ChessBoard2(57) = 0 Then C57.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(57).ToString) ".Bmp", C57)
        C58.Visible = True : If ChessBoard2(58) = 0 Then C58.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(58).ToString) ".Bmp", C58)
        C59.Visible = True : If ChessBoard2(59) = 0 Then C59.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(59).ToString) ".Bmp", C59)
        C60.Visible = True : If ChessBoard2(60) = 0 Then C60.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(60).ToString) ".Bmp", C60)
        C61.Visible = True : If ChessBoard2(61) = 0 Then C61.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(61).ToString) ".Bmp", C61)
        C62.Visible = True : If ChessBoard2(62) = 0 Then C62.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(62).ToString) ".Bmp", C62)
        C63.Visible = True : If ChessBoard2(63) = 0 Then C63.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(63).ToString) ".Bmp", C63)

        C64.Visible = True : If ChessBoard2(64) = 0 Then C64.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(64).ToString) ".Bmp", C64)
        C65.Visible = True : If ChessBoard2(65) = 0 Then C65.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(65).ToString) ".Bmp", C65)
        C66.Visible = True : If ChessBoard2(66) = 0 Then C66.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(66).ToString) ".Bmp", C66)
        C67.Visible = True : If ChessBoard2(67) = 0 Then C67.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(67).ToString) ".Bmp", C67)
        C68.Visible = True : If ChessBoard2(68) = 0 Then C68.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(68).ToString) ".Bmp", C68)
        C69.Visible = True : If ChessBoard2(69) = 0 Then C69.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(69).ToString) ".Bmp", C69)
        C70.Visible = True : If ChessBoard2(70) = 0 Then C70.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(70).ToString) ".Bmp", C70)
        C71.Visible = True : If ChessBoard2(71) = 0 Then C71.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(71).ToString) ".Bmp", C71)
        C72.Visible = True : If ChessBoard2(72) = 0 Then C72.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(72).ToString) ".Bmp", C72)

        C73.Visible = True : If ChessBoard2(73) = 0 Then C73.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(73).ToString) ".Bmp", C73)
        C74.Visible = True : If ChessBoard2(74) = 0 Then C74.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(74).ToString) ".Bmp", C74)
        C75.Visible = True : If ChessBoard2(75) = 0 Then C75.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(75).ToString) ".Bmp", C75)
        C76.Visible = True : If ChessBoard2(76) = 0 Then C76.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(76).ToString) ".Bmp", C76)
        C77.Visible = True : If ChessBoard2(77) = 0 Then C77.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(77).ToString) ".Bmp", C77)
        C78.Visible = True : If ChessBoard2(78) = 0 Then C78.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(78).ToString) ".Bmp", C78)
        C79.Visible = True : If ChessBoard2(79) = 0 Then C79.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(79).ToString) ".Bmp", C79)
        C80.Visible = True : If ChessBoard2(80) = 0 Then C80.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(80).ToString) ".Bmp", C80)
        C81.Visible = True : If ChessBoard2(81) = 0 Then C81.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(81).ToString) ".Bmp", C81)

        C82.Visible = True : If ChessBoard2(82) = 0 Then C82.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(82).ToString) ".Bmp", C82)
        C83.Visible = True : If ChessBoard2(83) = 0 Then C83.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(83).ToString) ".Bmp", C83)
        C84.Visible = True : If ChessBoard2(84) = 0 Then C84.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(84).ToString) ".Bmp", C84)
        C85.Visible = True : If ChessBoard2(85) = 0 Then C85.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(85).ToString) ".Bmp", C85)
        C86.Visible = True : If ChessBoard2(86) = 0 Then C86.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(86).ToString) ".Bmp", C86)
        C87.Visible = True : If ChessBoard2(87) = 0 Then C87.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(87).ToString) ".Bmp", C87)
        C88.Visible = True : If ChessBoard2(88) = 0 Then C88.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(88).ToString) ".Bmp", C88)
        C89.Visible = True : If ChessBoard2(89) = 0 Then C89.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(89).ToString) ".Bmp", C89)
        C90.Visible = True : If ChessBoard2(90) = 0 Then C90.Visible = False Else Call LoadPicture(Directory Trim(ChessBoard2(90).ToString) ".Bmp", C90)

    End Sub




    REM 红方下棋
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click



        Eval = Win_Lost(0)

        InitProgram()

        ''如果是限时则运算think
        If Check2.Checked = True Then Think2(0) : Exit Sub


        StartTimer = myTimer()
        AllowTime = 1000
        Busy = True

        Call SearchRoot(0, Val(TextBox1.Text))

        'Call MsgBox("运算了" n.ToString "层!")
        Call MoveTo(PubBestLocate.From, PubBestLocate.Target)

        Busy = False

    End Sub