精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>随便写的一个 VB6井字游戏程序(不严密,电脑无逻辑)

主题:随便写的一个 VB6井字游戏程序(不严密,电脑无逻辑)
发信人: tonycl(凉风月亮)
整理人: winsy(2004-06-21 09:46:01), 站内信件
form1:


VERSION 5.00
Begin VB.Form Form1 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "井字游戏"
   ClientHeight    =   3915
   ClientLeft      =   150
   ClientTop       =   540
   ClientWidth     =   3510
   Icon            =   "Form1.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   3915
   ScaleWidth      =   3510
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton Command2 
      Caption         =   "玩家对战(&P)"
      Height          =   1455
      Left            =   120
      TabIndex        =   12
      Top             =   2280
      Width           =   3255
   End
   Begin VB.CommandButton Comp 
      Caption         =   "对电脑(&C)"
      Height          =   1455
      Left            =   120
      TabIndex        =   11
      Top             =   840
      Width           =   3255
   End
   Begin VB.CommandButton Retry 
      Caption         =   "再来(&R)"
      Height          =   375
      Left            =   1080
      TabIndex        =   10
      Top             =   3480
      Visible         =   0   'False
      Width           =   1215
   End
   Begin VB.CommandButton Command1 
      Caption         =   "33"
      Height          =   975
      Index           =   33
      Left            =   2280
      TabIndex        =   8
      Top             =   2760
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "32"
      Height          =   975
      Index           =   32
      Left            =   1200
      TabIndex        =   7
      Top             =   2760
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "31"
      Height          =   975
      Index           =   31
      Left            =   120
      TabIndex        =   6
      Top             =   2760
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "23"
      Height          =   975
      Index           =   23
      Left            =   2280
      TabIndex        =   5
      Top             =   1800
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "22"
      Height          =   975
      Index           =   22
      Left            =   1200
      TabIndex        =   4
      Top             =   1800
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "21"
      Height          =   975
      Index           =   21
      Left            =   120
      TabIndex        =   3
      Top             =   1800
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "13"
      Height          =   975
      Index           =   13
      Left            =   2280
      TabIndex        =   2
      Top             =   840
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "12"
      Height          =   975
      Index           =   12
      Left            =   1200
      TabIndex        =   1
      Top             =   840
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "11"
      Height          =   975
      Index           =   11
      Left            =   120
      TabIndex        =   0
      Top             =   840
      Width           =   1095
   End
   Begin VB.Label Lab1 
      Caption         =   "请选择:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   26.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   735
      Left            =   120
      TabIndex        =   9
      Top             =   120
      Width           =   3135
   End
   Begin VB.Menu MnuFile 
      Caption         =   "文件(&F)"
      Begin VB.Menu MnuC 
         Caption         =   "对电脑(&C)"
      End
      Begin VB.Menu MnuP 
         Caption         =   "对玩家(&P)"
      End
      Begin VB.Menu MnuL1 
         Caption         =   "-"
      End
      Begin VB.Menu MnuExit 
         Caption         =   "退出(&X)"
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Player As Integer
Dim A(1 To 3, 1 To 3) As Boolean
Dim B(1 To 3, 1 To 3) As Integer
Dim Counter As Integer
Dim Winner As Integer
Dim Computer As Boolean

Private Sub Command1_Click(Index As Integer)
Comp.Visible = False
X = Index \ 10
Y = Index - X * 10

If Not Winner = 0 Then Beep: Exit Sub
If A(X, Y) = False Then
   A(X, Y) = True
 Else
 'Beep
 Exit Sub
End If

Counter = Counter + 1

If Player = 1 Then
  Command1(Index).Caption = "O"
  B(X, Y) = 1
  Player = 2
  If Not Computer Then Lab1.Caption = "玩家" & Player
  Chck
  If Computer Then Call CompWork
  Else
  Command1(Index).Caption = "X"
  B(X, Y) = 2
  Player = 1
  If Not Computer Then Lab1.Caption = "玩家" & Player
  Chck
End If

'Command1(Index).Enabled = False



If Counter = 9 And Winner = 0 Then
  Winner = 3
  Lab1.Caption = "平局!! :("
  Beep
  Retry.Visible = True
  
  For i = 1 To 3
  For j = 1 To 3
    Command1(i * 10 + j).Enabled = False
  Next
  Next
End If


End Sub

Private Sub CompWork()
Randomize (Timer)
If Not Winner = 0 Then Exit Sub

Do Until Player = 1
If Not Winner = 0 Then Exit Sub
  i = Int((3 * Rnd) + 1)
  j = Int((3 * Rnd) + 1)
  Call Command1_Click(i * 10 + j)
  
If Counter = 9 And Winner = 0 Then
  Winner = 3
  Lab1.Caption = "平局!! :("
  Beep
  Retry.Visible = True
  
  For i = 1 To 3
  For j = 1 To 3
    Command1(i * 10 + j).Enabled = False
  Next
  Next
End If

Loop

End Sub




Private Sub Command2_Click()

MnuP.Enabled = False
MnuC.Enabled = True

Me.Caption = "玩家对战"
Computer = False
Command2.Visible = False
Comp.Visible = False
Lab1.Caption = "玩家1"
End Sub

Private Sub Comp_Click()

MnuC.Enabled = False
MnuP.Enabled = True

Me.Caption = "无逻辑电脑"
Computer = True
Command2.Visible = False
Comp.Visible = False
Lab1.Caption = "对电脑"
End Sub

Private Sub Form_Load()
Counter = 0
Winner = 0
Player = 1

For i = 1 To 3
For j = 1 To 3
  A(i, j) = False
  Command1(i * 10 + j).Enabled = True
  Command1(i * 10 + j).Caption = ""
  B(i, j) = i * 10 + j
Next
Next
Retry.Visible = False
End Sub
Private Sub Chck()
If Not Winer = 0 Then Exit Sub
  
If B(1, 1) = B(1, 2) And B(1, 1) = B(1, 3) Then Win
If B(1, 1) = B(2, 2) And B(1, 1) = B(3, 3) Then Win
If B(1, 1) = B(2, 1) And B(1, 1) = B(3, 1) Then Win
If B(1, 2) = B(2, 2) And B(1, 2) = B(3, 2) Then Win
If B(1, 3) = B(2, 3) And B(1, 3) = B(3, 3) Then Win
If B(2, 1) = B(2, 2) And B(2, 1) = B(2, 3) Then Win
If B(3, 1) = B(3, 2) And B(3, 1) = B(3, 3) Then Win
If B(3, 1) = B(2, 2) And B(3, 1) = B(1, 3) Then Win

End Sub
Private Sub Win()
If Not Winner = 0 Then Exit Sub
Winner = -Player + 3
'If Winner = 2 And Computer Then Winner = "-电脑-"
If Computer Then
    If Winner = 1 Then
        Lab1.Caption = "你赢了!! :)"
        MsgBox "你赢了!!  :)", vbOKOnly, "win"
    Else
        Lab1.Caption = "你输了!! :("
        MsgBox "你输了!!  :(", vbOKOnly, "win"
    End If
Else
    Lab1.Caption = "玩家" & Winner & "赢了!!"
    MsgBox "玩家" & Winner & "赢了!!", vbOKOnly, "win"

End If


Retry.Visible = True

For i = 1 To 3
For j = 1 To 3
    Command1(i * 10 + j).Enabled = False
Next
Next

End Sub

Private Sub MnuC_Click()
Call Comp_Click
Call Form_Load
End Sub

Private Sub MnuExit_Click()
End
End Sub

Private Sub MnuP_Click()

Call Command2_Click
Call Form_Load
End Sub

Private Sub Retry_Click()
If Not Computer Then Lab1.Caption = "玩家1" Else Lab1.Caption = "对电脑"
Form_Load
End Sub
http://photo.gznet.com/photos/1020992/1020992-7lSss2NNmE.JPG


----

 
宣传大使 No.100

[关闭][返回]