广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 4327 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
s3748679
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x11 鲜花 x6
分享: 转寄此文章 Facebook Plurk Twitter 版主评分版主评分 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x4
[Basic][范例] 游戏版-八后棋(不能参赛,只有分享的份^^")
前言:
直到最近我才看到有这活动...,看大家那么热烈参予我也不好意思混下去..,虽然没得参赛但我还是分享一下。
名称:八后棋
编写语言:Visual Basic
操作:
使用滑鼠分为左键右键
左键:下棋及辅助性错误判断
右键:取消这一颗棋
编写流程:做好外观~>想好相关所需资讯~>使用类别编写相关栏位~>想好相关方法~>添增程序、函数及类别~>测试~>Debug~>测试..
程式说明:(为了那正八边形,把笔一直转呀转呀转..)
关于这程式我制作了3个类别(c1主物件、c2棋、C关联List)以方便作存取
c1主物件...(其实前面的c1是在选单的时候会比较快...)
这个类别制作出来的物件会是存取相关座标方法函数的管道。
其方法有Set_Star、Item(预设)、 CleanValue、Check、AllReShow、Win、(其余皆是Private级),其中Set_Star是为了初始化而设立的,Item则是存取资讯的管道,CleanValue则是清除各个棋资讯Value值,AllReShow是将全部的位置换至回原本应有的图片,Win是用来判断是某达成目标。此类别相关内容大致上就这些了。
P.S.你会发现有个Change事件,那个你可以当作没看到..
Option Explicit
Dim mInformation() As c2棋 '(7,7)
Event Change(M As c2棋)
Public Sub Set_Star(N() As Image)
ReDim mInformation(7, 7)
Dim i As Integer, j As Integer
For i = 0 To 7
For j = 0 To 7
Set mInformation(i, j) = New c2棋
mInformation(i, j).Set_Star Me, N(i, j), i, j
Next
Next
For i = 0 To 7
For j = 0 To 7
mInformation(i, j).Set_Star2 GetList(i, j)
Next
Next
End Sub
Private Function GetList(X As Integer, Y As Integer) As C关联List
Dim i As Integer, j As Integer
Dim k As New C关联List
For i = 0 To 7
If i <> Y Then
'行
k.Add Me(X, i)
End If
If i <> X Then
'列
k.Add Me(i, Y)
End If
If i <> X Then
If Checkk(i, Y - X + i) = True Then
'(1,1)
k.Add Me(i, Y - X + i)
End If
If Checkk(i, X + Y - i) = True Then
'(1,-1)
k.Add Me(i, X + Y - i)
End If
End If
Next
Set GetList = k
End Function
Private Function Checkk(X As Integer, Y As Integer) As Boolean
If X < 0 Or Y < 0 Or X > 7 Or Y > 7 Then
Else
Checkk = True
End If
End Function
Function Item(IndexX As Integer, IndexY As Integer) As c2棋
On Error GoTo DoErr:
Set Item = mInformation(IndexX, IndexY)
Exit Function
DoErr:
Err.Raise 0, , "参数错误"
End Function

Private Sub Class_Initialize()
ReDim mInformation(7, 7)
ReDim mShapek(6, 6)
End Sub

Private Sub Class_Terminate()
Debug.Print "C1End"
End Sub

Public Sub CleanValue()
Dim i As Integer, j As Integer
For i = 0 To 7
For j = 0 To 7
mInformation(i, j).Value = False
Next
Next
End Sub

Public Sub C2_Change(M As c2棋)
RaiseEvent Change(M)
End Sub

Public Function Check(X As Integer, Y As Integer) As Boolean
Dim k As c2棋
Set k = Me(X, Y)
Dim i As Integer
If k = True Then Exit Function
Check = True
For i = 0 To k.List.Count - 1
If k.List(i).Value = True Then
Check = False
Exit For
End If
Next
End Function

Public Sub AllReShow()
Dim i As Integer, j As Integer
For i = 0 To 7
For j = 0 To 7
Me(i, j).ReShow
Next
Next
End Sub

Public Function Win() As Boolean
Dim i As Integer, j As Integer
Dim sum As Integer
For i = 0 To 7
For j = 0 To 7
If Me(i, j).Value = True Then
sum = sum + 1
End If
Next ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容


此文章被评分,最近评分记录
财富:100 (by 三仙) | 理由: 依据程式作品范例分享规则与奖励标准;财富100!! ^^ 因为您的参与,让程式设计更容易!!
财富:200 (by andyz) | 理由: 下次记得要参赛喔~



签名.签名..签名..(某人:恩~不错,很有签名的感觉..)
献花 x2 回到顶端 [楼 主] From:台湾 | Posted:2008-12-03 20:28 |
三仙 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
头衔:以马内利 以马内利
版主
级别: 版主 该用户目前不上站
版区: 程式设计
推文 x17 鲜花 x370
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

楼主晚了一步
不过下次仍有活动
请届时拨冗参加 表情


挖出答案的难度,取决提问的深度!
献花 x0 回到顶端 [1 楼] From:台湾台北市亚太线上公司 | Posted:2008-12-03 20:55 |
s3748679
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x11 鲜花 x6
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用三仙于2008-12-03 20:55(1楼)发表的 :
楼主晚了一步
不过下次仍有活动
请届时拨冗参加 表情
好滴..假如有空的话我会的^^


签名.签名..签名..(某人:恩~不错,很有签名的感觉..)
献花 x0 回到顶端 [2 楼] From:台湾 | Posted:2008-12-03 21:13 |
leacks 手机
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x8 鲜花 x324
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

好像只能自己下?
没有autorun


献花 x0 回到顶端 [3 楼] From:台湾基础科技网络 | Posted:2008-12-04 13:13 |
s3748679
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x11 鲜花 x6
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用leacks于2008-12-04 13:13(3楼)发表的 :
好像只能自己下?
没有autorun

不好意思..(某某人偷懒不想做=               =..)
(看看我有没有时间在弄了..)


签名.签名..签名..(某人:恩~不错,很有签名的感觉..)
献花 x0 回到顶端 [4 楼] From:台湾 | Posted:2008-12-04 13:20 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.016009 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言