亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.frm

?? 中國象棋支持網絡功能(VB)
?? FRM
?? 第 1 頁 / 共 4 頁
字號:
'End Type

'CBoard
'Private Type CBoard
'    pos As CPoint
'    side As Integer
'End Type

Private Sub TransSide(ByRef side As Integer)
If side = FF_SIDE1 Then
    side = FF_SIDE2
Else
    side = FF_SIDE1
End If
End Sub

Private Sub TransState(method As Integer)
main.WindowState = vbNormal

Select Case method
Case FF_US_INITALL
    InitalBoard
    m_State = FF_UA_INVALID
    c_MunNew.Visible = False
    c_MunLoad.Enabled = True
    c_eState.Text = ""
    c_eMsg.Text = ""
    c_CmdSay.Enabled = False
    c_MunShow.Checked = bIsNet
    pos_side = FF_SIDE1
    Chess_On = FF_EMP
    c_spChessOn.Visible = False
    c_sUse.Close
    b_isCon = False
Case FF_US_INITNET
    frm_net.Visible = True
    main.Width = 8835
    pic_noclick.Visible = True
    pic_click.Visible = False
    c_sColor.FillColor = &H8000000F
    c_CmdCon.Enabled = True
Case FF_US_INITLOCAL
    frm_net.Visible = False
    main.Width = 5880
    pic_noclick.Visible = False
    pic_click.Visible = True
    c_sColor.FillColor = vbRed
    local_side = FF_SIDE1
Case FF_US_NET_CON
    c_CmdSay.Enabled = True
    b_isCon = True
    c_CmdCon.Enabled = False
    c_eState.Text = "網絡連接成功"
Case FF_US_USE_CON
    m_State = FF_UA_USE
    c_MunLoad.Enabled = False
    c_MunNew.Visible = False
    c_eState.Text = "開始"
End Select
End Sub

Private Sub InitalBoard()
Dim i As Integer
'For i = 0 To 8
'For j = 0 To 9
'm_board(i * 8 + j).side = FF_EMP
'Next j
'Next i

Dim x_step, d_step As Integer
x_step = 0
d_step = -1
For i = 0 To 8
c_chess(i).Top = 0
c_chess(i).Left = 2595 + x_step * d_step
c_chess(i + 16).Top = 5400
c_chess(i + 16).Left = c_chess(i).Left
'm_board(4 + x_step / 600 * d_step, 0) = i
'm_board(4 + x_step / 600 * d_step, 9) = i + 16
If (i / 2 = Int(i / 2)) Then x_step = x_step + 600
d_step = -d_step
Next i

For i = 0 To 1
c_chess(i + 9).Top = 1200
c_chess(i + 9).Left = 795 + i * 3600
c_chess(i + 25).Top = 4200
c_chess(i + 25).Left = c_chess(i + 9).Left
'm_board(1 + i * 6, 2) = i + 9
'm_board(1 + i * 6, 7) = i + 25
Next i

For i = 0 To 4
c_chess(i + 11).Top = 1800
c_chess(i + 11).Left = 195 + i * 1200
c_chess(i + 27).Top = 3600
c_chess(i + 27).Left = c_chess(i + 11).Left
'm_board(i * 2, 3) = i + 11
'm_board(i * 2, 6) = i + 27
Next i

For i = 0 To 31
c_chess(i).Visible = True
Next i
End Sub

Private Function DuiJiang() As Boolean
Dim i, count, temp As Integer
If Not c_chess(0).Left = c_chess(16).Left Then
DuiJiang = False
Exit Function
End If

temp = Sgn(c_chess(16).Top - c_chess(0).Top)
count = 0
For i = c_chess(0).Top / 600 + temp To c_chess(16).Top / 600 - temp Step temp
If FindChessInPos((c_chess(0).Left - 195) / 600, i) > -1 Then count = count + 1
Next i

If count = 0 Then
DuiJiang = True
Exit Function
End If

DuiJiang = False
End Function

Private Sub Die(ByVal chess_die As Integer)
If chess_die = 0 Then
    MsgBox "Black is Die", vbOKOnly, "Chinese Chess"
Else
    MsgBox "Red is Die", vbOKOnly, "Chinese Chess"
End If
If bIsNet = True Then
    InitalBoard
    m_State = FF_UA_INIT
    c_MunNew.Visible = True
    c_MunLoad.Enabled = True
    c_eState.Text = ""
    c_eMsg.Text = ""
    c_CmdSay.Enabled = True
    c_MunShow.Checked = bIsNet
    pos_side = FF_SIDE1
    Chess_On = FF_EMP
    c_spChessOn.Visible = False
    frm_net.Visible = True
    pic_noclick.Visible = True
    pic_click.Visible = False
    c_sColor.FillColor = &H8000000F
Else
TransState FF_US_INITALL
TransState FF_US_INITLOCAL
End If
End Sub

Private Function GoChess(ByVal chess As Integer, ByVal x_off As Integer _
        , ByVal y_off As Integer) As Boolean

Dim use_side As Integer
Dim x_begin, y_begin As Integer
Dim Distent As Single
Dim i As Integer

If chess > 15 Then
    use_side = FF_SIDE2
Else
    use_side = FF_SIDE1
End If

x_begin = (c_chess(chess).Left - 195) / 600
y_begin = (c_chess(chess).Top) / 600

Distent = Sqr((x_off - x_begin) ^ 2 + (y_off - y_begin) ^ 2)

Select Case Int((chess - use_side * 16 + 1) / 2)
Case 0 'jian
    If Distent > 1 Then GoTo errhandle
    If x_off < 3 Or x_off > 5 Then GoTo errhandle
    If GetSelf(chess, y_off) > 2 Then GoTo errhandle
    c_chess(chess).Left = x_off * 600 + 195
    If DuiJiang = True Then
    MsgBox "Can Not this col", vbOKOnly, "Chinese Chess"
    c_chess(chess).Left = x_begin * 600 + 195
    GoTo errhandle
    End If
Case 1 'shi
    If Distent < 1.4 Or Distent > 1.5 Then GoTo errhandle
    If x_off < 3 Or x_off > 5 Then GoTo errhandle
    If GetSelf(chess, y_off) > 2 Then GoTo errhandle
Case 2 'xiang
    If Distent < 2.8 Or Distent > 2.9 Then GoTo errhandle
    If GetSelf(chess, y_off) > 4 Then GoTo errhandle
    If FindChessInPos((x_off + x_begin) / 2, (y_begin + y_off) / 2) > -1 Then GoTo errhandle
Case 3 'ma
    If Distent < 2.2 Or Distent > 2.3 Then GoTo errhandle
    If FindChessInPos(x_off - Sgn(x_off - x_begin), y_off - Sgn(y_off - y_begin)) > -1 Then GoTo errhandle
Case 4 'che
    If (Not x_begin = x_off) And (Not y_begin = y_off) Then GoTo errhandle
    If x_begin = x_off Then
    For i = y_begin + Sgn(y_off - y_begin) To y_off - Sgn(y_off - y_begin) Step Sgn(y_off - y_begin)
        If Not FindChessInPos(x_off, i) = -1 Then GoTo errhandle
    Next i
    End If
    If y_begin = y_off Then
    For i = x_begin + Sgn(x_off - x_begin) To x_off - Sgn(x_off - x_begin) Step Sgn(x_off - x_begin)
        If Not FindChessInPos(i, y_off) = -1 Then GoTo errhandle
    Next i
    End If
Case 5 'pao
    If (Not x_begin = x_off) And (Not y_begin = y_off) Then GoTo errhandle
    If x_begin = x_off Then
    For i = y_begin + Sgn(y_off - y_begin) To y_off Step Sgn(y_off - y_begin)
        If Not FindChessInPos(x_off, i) = -1 Then GoTo errhandle
    Next i
    End If
    If y_begin = y_off Then
    For i = x_begin + Sgn(x_off - x_begin) To x_off Step Sgn(x_off - x_begin)
        If Not FindChessInPos(i, y_off) = -1 Then GoTo errhandle
    Next i
    End If
Case Else 'bing
    If Distent > 1 Then GoTo errhandle
    If GetSelf(chess, y_off) < GetSelf(chess, y_begin) Then GoTo errhandle
    If GetSelf(chess, y_off) < 5 And (Not x_off = x_begin) Then GoTo errhandle
End Select
    
c_chess(chess).Left = x_off * 600 + 195
c_chess(chess).Top = y_off * 600

If bIsNet = False Then
    TransSide local_side
    If c_sColor.FillColor = vbRed Then
    c_sColor.FillColor = vbBlack
    Else
    c_sColor.FillColor = vbRed
    End If
Else
    pic_click.Visible = Not pic_click.Visible
    pic_noclick.Visible = Not pic_click.Visible
End If

TransSide pos_side
GoChess = True
Exit Function

errhandle:
    GoChess = False
End Function

Private Function FindChessInPos(ByVal X As Integer, ByVal Y As Integer) As Integer
Dim i As Integer
For i = 0 To 31
    If c_chess(i).Visible = True And c_chess(i).Top / 600 = Y And (c_chess(i).Left - 195) / 600 = X Then
    FindChessInPos = i
    Exit Function
    End If
Next i
FindChessInPos = -1
End Function

Private Sub TransBoard()
Dim i, x_off, y_off As Integer
For i = 0 To 31
x_off = (c_chess(i).Left - 195) / 600
x_off = 8 - x_off
y_off = c_chess(i).Top / 600
y_off = 9 - y_off
c_chess(i).Left = x_off * 600 + 195
c_chess(i).Top = y_off * 600
Next i
End Sub

Private Function GetSelf(ByVal chess As Integer, ByVal Y As Integer) As Integer
Dim temp_side As Integer
If bIsNet = True Then
    temp_side = Int(chess / 16)
    If Not local_side = temp_side Then
    GetSelf = 9 - Y
    Else
    GetSelf = Y
    End If
Else
    If chess > 15 Then
    GetSelf = 9 - Y
    Else
    GetSelf = Y
    End If
End If
End Function

Private Sub c_chess_Click(Index As Integer)
If (bIsNet = True) And (Not m_State = FF_UA_USE) Then Exit Sub
If Not pos_side = local_side Then Exit Sub
Dim i As Integer
Dim count As Integer
Dim x_off, y_off, x_begin, y_begin As Integer
x_off = (c_chess(Index).Left - 195) / 600
y_off = (c_chess(Index).Top) / 600

If Not Int(Index / 16) = local_side Then
    Chess_On = Index
    c_spChessOn.Left = c_chess(Chess_On).Left - 60
    c_spChessOn.Top = c_chess(Chess_On).Top - 60
    c_spChessOn.Visible = True
Else
    If Chess_On = FF_EMP Then Exit Sub
    If GoChess(Chess_On, x_off, y_off) = True Then
        If bIsNet = True And m_State = FF_UA_USE Then c_sUse.SendData _
                "Post " + Chr(Chess_On + 65) + Chr(x_off + 48) + Chr(y_off + 48)
        c_chess(Index).Visible = False
        If Index = 0 Or Index = 16 Then
            Die Index
            Exit Sub
        End If
       Chess_On = FF_EMP
        c_spChessOn.Visible = False
    Else
        If Chess_On = 9 Or Chess_On = 10 Or Chess_On = 25 Or Chess_On = 25 Or Chess_On = 26 Then
        x_begin = (c_chess(Chess_On).Left - 195) / 600
        y_begin = (c_chess(Chess_On).Top) / 600
        count = 0
        If (Not x_begin = x_off) And (Not y_begin = y_off) Then Exit Sub
            If x_begin = x_off Then
            For i = y_begin + Sgn(y_off - y_begin) To y_off - Sgn(y_off - y_begin) Step Sgn(y_off - y_begin)
                If Not FindChessInPos(x_off, i) = -1 Then count = count + 1
            Next i
            End If
            
            If y_begin = y_off Then
            For i = x_begin + Sgn(x_off - x_begin) To x_off - Sgn(x_off - x_begin) Step Sgn(x_off - x_begin)
                If Not FindChessInPos(i, y_off) = -1 Then count = count + 1
            Next i
            End If
        End If
        End If
        If count = 1 Then
            If bIsNet = True And m_State = FF_UA_USE Then c_sUse.SendData _
                "Post " + Chr(Chess_On + 65) + Chr(x_off + 48) + Chr(y_off + 48)
            c_chess(Chess_On).Top = c_chess(Index).Top
            c_chess(Chess_On).Left = c_chess(Index).Left
            c_chess(Index).Visible = False
            If Index = 0 Or Index = 16 Then
                Die Index
                Exit Sub
            End If
            Chess_On = FF_EMP
            c_spChessOn.Visible = False
            If bIsNet = False Then
                TransSide local_side
    If c_sColor.FillColor = vbRed Then
    c_sColor.FillColor = vbBlack
    Else
    c_sColor.FillColor = vbRed
    End If
            Else
                pic_click.Visible = Not pic_click.Visible
                pic_noclick.Visible = Not pic_noclick.Visible
            End If
            TransSide pos_side
        End If
End If
End Sub

Private Sub c_cmdReset_Click()
Load f_Gnet
f_Gnet.Show vbModal, main
TransState FF_US_INITALL
If bIsNet = True Then
TransState FF_US_INITNET
Else
TransState FF_US_INITLOCAL
End If

End Sub

Private Sub c_MunLoad_Click()
On Error GoTo calcelhandle
c_cdgFile.DialogTitle = "Load"
c_cdgFile.ShowOpen
Dim i, x_off, y_off, temp As Integer
Dim message As String

message = "Load "

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品观看国产| 欧美日本一道本在线视频| 日本道色综合久久| 欧美成人高清电影在线| 亚洲尤物视频在线| 成人av手机在线观看| 日韩欧美国产系列| 伊人一区二区三区| eeuss影院一区二区三区| 欧美大片国产精品| 日韩制服丝袜av| 欧美专区亚洲专区| 136国产福利精品导航| 国产精品一区二区在线播放 | 狠狠色丁香久久婷婷综| 欧美性欧美巨大黑白大战| 久久午夜免费电影| 欧美aaaaa成人免费观看视频| 99re6这里只有精品视频在线观看| 欧美一区二区成人| 亚洲电影在线播放| 91久久精品一区二区| 欧美国产综合一区二区| 香蕉av福利精品导航| 在线一区二区观看| 亚洲欧洲性图库| 韩国一区二区在线观看| 欧美sm美女调教| 麻豆成人综合网| 337p日本欧洲亚洲大胆色噜噜| 日本不卡一二三区黄网| 6080yy午夜一二三区久久| 亚洲二区在线观看| 欧美天堂亚洲电影院在线播放| 一区二区三区四区在线| 色婷婷av一区二区三区软件 | 不卡电影一区二区三区| 国产农村妇女毛片精品久久麻豆 | 亚洲成国产人片在线观看| 国产欧美精品在线观看| 一区二区欧美视频| 日本丰满少妇一区二区三区| 亚洲欧美日韩在线| 欧美在线视频不卡| 五月综合激情日本mⅴ| 日韩午夜激情免费电影| 国产一区不卡视频| 欧美激情资源网| 51精品国自产在线| 蜜桃av一区二区在线观看 | 亚洲成人先锋电影| 91精品国产综合久久精品| 人人超碰91尤物精品国产| 久久综合色鬼综合色| 成人一级黄色片| 亚洲综合在线视频| 日韩精品一区二区三区swag| 国产一区在线观看视频| 精品对白一区国产伦| 久久午夜电影网| 国产91精品一区二区麻豆亚洲| 色88888久久久久久影院按摩| 亚洲精品日产精品乱码不卡| 欧美疯狂做受xxxx富婆| 国产乱子伦一区二区三区国色天香| 国产嫩草影院久久久久| 欧美日韩在线观看一区二区 | 亚洲一区二区美女| 欧美大片日本大片免费观看| www..com久久爱| 日韩国产欧美在线视频| 欧美国产精品劲爆| 欧美精品第1页| 成人永久aaa| 免费精品视频在线| 亚洲精品视频在线观看网站| 91碰在线视频| 色8久久精品久久久久久蜜| 亚洲一级二级在线| 久久综合av免费| 色婷婷国产精品综合在线观看| 人人狠狠综合久久亚洲| 亚洲精品高清在线| 久久免费午夜影院| 欧美日韩三级视频| 99久免费精品视频在线观看| 久久av老司机精品网站导航| 亚洲蜜臀av乱码久久精品蜜桃| 日韩欧美国产一区二区三区 | 亚洲免费在线观看| 精品福利在线导航| 在线电影一区二区三区| 97精品久久久午夜一区二区三区 | 精品久久久久香蕉网| 在线精品视频一区二区三四| 国产盗摄视频一区二区三区| 蜜芽一区二区三区| 午夜不卡av在线| 成人欧美一区二区三区小说 | 国产麻豆午夜三级精品| 午夜国产不卡在线观看视频| 久久免费偷拍视频| 精品日韩av一区二区| 欧美一区二区视频观看视频| 在线免费不卡视频| 国产一区二区精品久久99| 久久婷婷成人综合色| 日韩精品一区二区三区四区| 国产精品美女一区二区| 欧美一级日韩不卡播放免费| 欧美日韩国产一区二区三区地区| 在线视频欧美精品| 一本久道久久综合中文字幕| 99国产精品国产精品毛片| 99在线热播精品免费| 91在线免费视频观看| 99久久精品国产一区二区三区| 国产99精品视频| 成人免费毛片高清视频| av电影一区二区| 色综合一区二区三区| 色哟哟一区二区在线观看| 欧美视频一区在线| 日韩午夜在线播放| 精品999在线播放| 国产清纯美女被跳蛋高潮一区二区久久w | 在线观看日韩国产| 色综合天天做天天爱| 成人毛片老司机大片| av男人天堂一区| 色综合久久天天| 在线免费观看日本一区| 制服丝袜亚洲播放| 欧美va在线播放| 欧美国产一区二区在线观看| **网站欧美大片在线观看| 亚洲电影一级黄| 精品一区二区影视| av电影在线观看一区| 欧美专区日韩专区| 色综合久久久网| 日韩欧美一级二级三级久久久| 精品国产一区二区精华| 国产精品进线69影院| 亚洲国产精品久久人人爱蜜臀| 美腿丝袜在线亚洲一区 | 亚洲丝袜精品丝袜在线| 午夜久久电影网| 国产精品99久久久久久久女警| 91福利社在线观看| 久久品道一品道久久精品| 一区二区三区不卡在线观看| 日本vs亚洲vs韩国一区三区| 成人永久免费视频| jizzjizzjizz欧美| 日韩精品一区二区三区视频播放| 国产精品久久久久一区| 日韩精品电影在线观看| eeuss影院一区二区三区| 日韩美一区二区三区| 亚洲男人天堂av| 国产自产高清不卡| 欧美日韩国产综合一区二区三区| 国产日韩欧美电影| 男人的天堂久久精品| 色婷婷国产精品| 久久午夜色播影院免费高清| 亚洲第一综合色| 99国产麻豆精品| 日韩一二在线观看| 亚洲电影你懂得| 91女人视频在线观看| 精品嫩草影院久久| 日一区二区三区| 欧洲另类一二三四区| 国产精品视频一二三区| 欧美aⅴ一区二区三区视频| 欧美日韩国产一级| 国产精品美女视频| 亚洲一区二区三区四区不卡| 一区二区三区高清| 福利电影一区二区| 欧美xxx久久| 美日韩黄色大片| 91精品久久久久久久99蜜桃| 欧美韩国日本一区| 国产精品一区一区三区| 26uuu成人网一区二区三区| 欧美aaa在线| 欧美一区二区在线免费观看| 亚洲久本草在线中文字幕| 99久免费精品视频在线观看| 精品国产免费人成在线观看| 日韩电影一区二区三区四区| 欧美日韩三级视频| 日日摸夜夜添夜夜添精品视频 | 国产精品麻豆视频| 国产成人鲁色资源国产91色综| 亚洲精品在线免费播放| 久久精品999|