⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xq.frm

📁 此文件为一款非常出色的黑白棋游戏
💻 FRM
📖 第 1 页 / 共 2 页
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form xq 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "黑白棋"
   ClientHeight    =   5760
   ClientLeft      =   855
   ClientTop       =   810
   ClientWidth     =   5100
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5760
   ScaleWidth      =   5100
   Begin VB.PictureBox qp 
      AutoRedraw      =   -1  'True
      BackColor       =   &H0080C0FF&
      Height          =   5100
      Left            =   0
      ScaleHeight     =   5040
      ScaleWidth      =   5040
      TabIndex        =   1
      Top             =   660
      Width           =   5100
      Begin MSComDlg.CommonDialog CommonDialog1 
         Left            =   960
         Top             =   2040
         _ExtentX        =   847
         _ExtentY        =   847
         _Version        =   393216
      End
      Begin VB.Timer Timer1 
         Enabled         =   0   'False
         Interval        =   1000
         Left            =   4560
         Top             =   4560
      End
   End
   Begin VB.PictureBox Picture1 
      BackColor       =   &H00FFFFFF&
      Height          =   615
      Left            =   0
      ScaleHeight     =   555
      ScaleWidth      =   5040
      TabIndex        =   0
      Top             =   0
      Width           =   5100
      Begin VB.Label xqwz 
         Alignment       =   2  'Center
         BackColor       =   &H00FFFFFF&
         Caption         =   "1,1"
         BeginProperty Font 
            Name            =   "Arial"
            Size            =   10.5
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H0000C000&
         Height          =   255
         Left            =   4200
         TabIndex        =   6
         Top             =   0
         Visible         =   0   'False
         Width           =   855
      End
      Begin VB.Label xzld 
         BackColor       =   &H00FFFF00&
         Caption         =   "现在该    棋下"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   15
            Charset         =   134
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   1680
         TabIndex        =   4
         Top             =   0
         Visible         =   0   'False
         Width           =   2295
      End
      Begin VB.Label bqxy 
         BackColor       =   &H00FFFFFF&
         Caption         =   "白棋现有 2 子"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   10.5
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   0
         TabIndex        =   3
         Top             =   80
         Visible         =   0   'False
         Width           =   1575
      End
      Begin VB.Label timenow 
         Alignment       =   2  'Center
         BackColor       =   &H00FFFFFF&
         Caption         =   "00:00"
         BeginProperty Font 
            Name            =   "System"
            Size            =   9.75
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H00FF0000&
         Height          =   255
         Left            =   4200
         TabIndex        =   2
         Top             =   240
         Width           =   855
      End
      Begin VB.Label hqxy 
         BackColor       =   &H00FFFFFF&
         Caption         =   "黑棋现有 2 子"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   10.5
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   0
         TabIndex        =   5
         Top             =   330
         Visible         =   0   'False
         Width           =   1575
      End
   End
   Begin VB.Menu game 
      Caption         =   "游  戏&F"
      Begin VB.Menu MNrj 
         Caption         =   "人机大战"
         Shortcut        =   {F2}
      End
      Begin VB.Menu mnRR 
         Caption         =   "人人对抗"
         Enabled         =   0   'False
         Shortcut        =   {F3}
      End
      Begin VB.Menu mnFP 
         Caption         =   "复    盘"
         Enabled         =   0   'False
         Shortcut        =   {F4}
      End
      Begin VB.Menu STEP 
         Caption         =   "-"
      End
      Begin VB.Menu mnExit 
         Caption         =   "退    出&X"
      End
   End
   Begin VB.Menu hlp 
      Caption         =   "帮  助&H"
      Begin VB.Menu rules 
         Caption         =   "游戏规则"
         Shortcut        =   {F1}
      End
      Begin VB.Menu mnAbout 
         Caption         =   "关    于&A"
      End
   End
   Begin VB.Menu fqyz 
      Caption         =   "放弃一子&C"
   End
End
Attribute VB_Name = "xq"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'下载网址:http://vb.cn99.com

Dim passedtime As Integer
Dim zt As Byte
Dim qizi(16, 16) As Integer
Dim qizio(16, 16) As Integer
Private Type xqsave
  X As Integer
  Y As Integer
End Type
Dim xqpd(256) As Integer
Dim kyxq(16, 16) As Boolean
Dim xqsave(512) As xqsave
Dim ws%, bs%, zq As Long


Private Sub Form_Load()
Show
If App.PrevInstance Then End

drawnewqp
initqizi
End Sub
Sub drawnewqp()
Dim cx, cy, i

qp.ScaleHeight = 1000   ' 设置高度的单位值。
qp.ScaleWidth = 1000    ' 设置宽度的单位值。
qp.DrawWidth = 3   ' 设置 DrawWidth。
qp.Line (-1, -1)-(1000, 1000), QBColor(11), B
qp.DrawWidth = 1
i = QBColor(11)

For cy = 1 To 15
    qp.Line (62.5 * cy, 0)-(62.5 * cy, 1000), i
    qp.Line (0, 62.5 * cy)-(1000, 62.5 * cy), i
Next

End Sub

Private Sub fqyz_Click()
Dim b, t, i%, o%
'pdkyxq 1
If zt = 1 Then
For i = 1 To 16
For o = 1 To 16
If dfpd(i%, o%, 1) Then
t = -1
GoTo 12
End If
Next
Next

12 If t Then
b = MsgBox("您至少还可以在" + Str(i%) + "," + Str(o%) + "落子,确认放弃吗?", vbYesNo)
If b = 7 Then Exit Sub
zq = zq + 1
xqsave(zq).X = 0
xqsave(zq).Y = 0
zq = zq + 1
dfxq
hq
pdkyxq 1
Else
zq = zq + 1
xqsave(zq).X = 0
xqsave(zq).Y = 0
zq = zq + 1
dfxq
hq
pdkyxq 1
End If
End If
End Sub

Private Sub mnAbout_Click()
msg$ = msg$ + "          黑白棋 v1.0 for Win 95" + Chr(13) + Chr(13)
msg$ = msg$ + "程序设计:陈  硕  E-Mail : chenshuo@163.net" + Chr(13)
msg$ = msg$ + "个人主页:duzhe.yeah.net  Last updated on 7/27" + Chr(13)
'msg$ = msg$ + "" + Chr(13)
'msg$ = msg$ + "" + Chr(13)
'msg$ = msg$ + "" + Chr(13)
'msg$ = msg$ + "" + Chr(13)
MsgBox msg, , "关于"
End Sub

Private Sub mnExit_Click()
End
End Sub

Private Sub MNrj_Click()
If zt = 0 Then
passedtime = 0
Timer1.Enabled = True
bqxy.Visible = True
hqxy.Visible = True
xzld.Visible = True
xqwz.Visible = True
xzld.Caption = "   人机大战"
pd 1, 1, 1
hq
pdkyxq (1)
zt = 1
Else
b = MsgBox("这盘棋尚未下完,重新开始吗?", vbYesNo + 32, "新局")
If b = 6 Then
passedtime = 0
Timer1.Enabled = True
initqizi
pd 1, 1, 1
hq2
pdkyxq (1)
End If
End If





'zqrj
End Sub

Private Sub qp_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X / 62.5 = Int(X / 62.5) Or Y / 62.5 = Int(Y / 62.5) Then qp.MousePointer = 12: Exit Sub
If kyxq(Int((X) / 62.5) + 1, Int((Y) / 62.5) + 1) = -1 Then qp.MousePointer = 2 Else qp.MousePointer = 12
xqwz.Caption = (Int((X) / 62.5) + 1) & "," & (Int((Y) / 62.5) + 1)
End Sub

Private Sub qp_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'MsgBox X, , Y
Dim cy%, cx%
If zt = 1 And Button = 1 Then
If X / 62.5 = Int(X / 62.5) Or Y / 62.5 = Int(Y / 62.5) Then Exit Sub
cx = Int(X / 62.5) + 1
cy = Int(Y / 62.5) + 1
If dfpd(cx, cy, 1) And qizi(cx, cy) = 0 Then
qizi(cx, cy) = 1
pd cx, cy, 1
hq
zq = zq + 1
xqsave(zq).X = cx
xqsave(zq).Y = cy
zq = zq + 1
dfxq
hq
pdkyxq 1
End If
'MsgBox dfpd(Int(X / 62.5) + 1, Int(Y / 62.5) + 1, 1)
End If
End Sub

Private Sub rules_Click()
msg$ = msg$ + "    黑白棋是一种益智游戏,但在棋盘上下棋非常麻烦,因为要不停地将黑白" + Chr(13)
msg$ = msg$ + "两棋互换(日本人想出了一个好办法:将棋子正反面涂为异色),于是我用basic" + Chr(13)
msg$ = msg$ + "写了这么一个小程序,以方便大家。" + Chr(13)
msg$ = msg$ + "    游戏规则非常简单:在一个棋盘上先放上四枚棋子,黑白双方轮流下棋," + Chr(13)
msg$ = msg$ + "每一子须下在棋盘的空白处且能“吃掉”对方至少一子,否则自己不能下而" + Chr(13)
msg$ = msg$ + "由对方继续下;“吃掉”对方的棋子是指:以落点为中心,向左看去经过几" + Chr(13)
msg$ = msg$ + "个对方的棋子后又有自己的棋子(中间不能有空格),则这几个对方的棋子就" + Chr(13)
msg$ = msg$ + "被换成我方的棋子,即被吃掉了,对方被换掉几子便是吃了几子。此种“看" + Chr(13)
msg$ = msg$ + "法”应同时应用于向右、向上、向下等八个方向。" + Chr(13)
msg$ = msg$ + "  以下面一个棋盘的局部为例,“.”为空位、“o”为白棋、“x”为黑棋:" + Chr(13)
msg$ = msg$ + "   若白棋在d4下子,棋盘变为图二,白棋吃掉黑棋4子。" + Chr(13)
msg$ = msg$ + "" + Chr(13)
msg$ = msg$ + "图一:             图二:" + Chr(13)
msg$ = msg$ + "  1 2 3 4 5         1 2 3 4 5" + Chr(13)
msg$ = msg$ + "a o . . o .       a o . . o ." + Chr(13)
msg$ = msg$ + "b . x x . .       b . o x x ." + Chr(13)
msg$ = msg$ + "c . . x x .       c . . o . ." + Chr(13)
msg$ = msg$ + "d o x x . .       d o o o o ." + Chr(13)
msg$ = msg$ + "e . . . . .       e . . . . ." + Chr(13)
msg$ = msg$ + "判断胜负:" + Chr(13)
msg$ = msg$ + "    若棋盘下满了,则棋子多的一方胜利;若中途一方棋子被全部吃完," + Chr(13)
msg$ = msg$ + "对方胜利。" + Chr(13)

MsgBox msg$, , "黑白棋规则"
End Sub

Private Sub Timer1_Timer()
passedtime = passedtime + 1
timenow.Caption = Right("00" & (passedtime \ 60), 2) & ":" & Right("00" & (passedtime Mod 60), 2)
End Sub
Sub pd(X%, Y%, c%)

If X% = 0 Or Y% = 0 Then GoTo 30

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -