引用 | 编辑
三仙
2008-11-13 22:11 |
楼主
▼ |
||
x5
有会员反应不会写这类题目 故将我写的原始程式与注解公布 欢迎大家参予这次的活动 只要能符合八后棋的规则 都是可以加入比赛的 Option Explicit Dim xy(1 To 8, 1 To 8) As String Dim i As Integer, j As Integer, k As Integer, cnt As Integer, rule As Integer, tot As Integer Dim g As Integer, h As Integer Dim tmpx As Integer, tmpy As Integer Private Sub Check1_Click() '开关座标 Text1.Visible = Not Text1.Visible Text3.Visible = Not Text3.Visible End Sub Private Sub Command1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) '座标效果 With Command1(Index) Text1.Top = .Top + 220: Text1.Left = .Left - 3500 Text3.Top = .Top - 3500: Text3.Left = .Left + 220 End With End Sub Private Sub Command1_Click(Index As Integer) '单局八后棋 judgequeen Index If cnt Mod 8 = 0 And rule = 0 Then Text2.Text = Text2.Text & "恭禧完成一组八后棋!!": cnt = 0 ElseIf cnt Mod 8 = 4 And rule = 0 Then Text2.Text = Text2.Text & " 加油 ^^ 剩 " & 8 - cnt & Chr(13) & Chr(10) ElseIf cnt Mod 8 <> 0 And rule = 0 Then Text2.Text = Text2.Text & " 剩 " & 8 - cnt & Chr(13) & Chr(10) End If End Sub Private Sub Command2_Click() '列出组合清单 Dim i1 As Integer, j1 As Integer Dim startime As Date startime = Now clsxyicon 1, 1 Text2.Text = "": Text2.Text = "开始时间 " & Format(Now, "hh:mm:ss") & Chr(13) & Chr(10) Text2.Text = Text2.Text & "-------------------------------------------------" & Chr(13) & Chr(10) tot = 0 For i = 1 To 8 '四面的组合都是一样,只求一面即可 tmpx = i: tmpy = 1: recxy For i1 = 1 To 8 '二元树规范取得八后 For j1 = 1 To 8 tmpx = i1: tmpy = j1: recxy If rule = 0 Then '取得每一Y轴所有皇后的位置 doxyicon If i1 = 8 Then '当X轴在8且又可放皇后则列出组合 calarrQ If Check2.Value = 1 Then Dim yn As Integer yn = MsgBox("第 " & tot & " 组,是否继续!!", vbYesNo) .. 访客只能看到部份内容,免费 加入会员 x4
|
引用 | 编辑
三仙
2008-11-14 02:10 |
2楼
▲ ▼ |
下面是引用students1于2008-11-14 01:37(1楼)发表的 : 希望这帖能有抛砖引玉的功能 让大家发挥自己的创意 不要有太大的压力 把奖品拿回去 x0 |
引用 | 编辑
三仙
2008-11-21 23:24 |
4楼
▲ ▼ |
收件日期: 即日起 至 2008.12.1 00:00 (以系统时间为准,若参赛作品少于3件,将自动顺延一个月)
请大家拨冗参加 x0 |
引用 | 编辑
三仙
2008-11-22 12:22 |
7楼
▲ ▼ |
1. 八后棋是在一个 8x8 的矩阵格中放入8个棋子,而这8个棋的水平、垂直、斜线都不能碰到别的棋子
座标解题将皇后设定为(0,0) 水平座标不能放(x,0) 垂直座标不能放(0,x) 斜线座标不能放(+x,+x)、(-x,-x) 斜线座标不能放(+x,-x)、(-x,+x) 判断无值再将皇后放入 下面是引用rchockxm于2008-11-22 08:44(5楼)发表的 : x0 |
引用 | 编辑
s3748679
2008-12-02 22:56 |
9楼
▲ ▼ |
延迟的方法是不是利用DoEvents搭配上Timer@@?
我是顺便想问一下,假如已经执行了DoEvents但是再拟另一边的程序假如又呼叫了DoEvents似乎会出事情... 而每次这种情况我都直接改成Timer而非使用DoEvents (我是想问一下为什么会跳出错误...) (补:假如DoEvents频率太高,可以再加上一个程序附加一个静态变数减少次数应该是个不错的法^^") x0 |
引用 | 编辑
三仙
2008-12-03 00:23 |
10楼
▲ ▼ |
下面是引用s3748679于2008-12-02 22:56(9楼)发表的 : 1.延迟的方法是不是利用DoEvents搭配上Timer@@? Ans.延迟的方式我不是使用DoEvents 搭配上Timer 因为除了要写多工控制器之外,我不太喜欢用Timer!! 2.执行了DoEvents但是再拟另一边的程序假如又呼叫了DoEvents似乎会出事情... Ans.我还没遇过,你能提供一下错误的程序吗?? 3.想问一下为什么会跳出错误... Ans.至于你提及的跳出错误,是指这支程式吗?? x0 |
引用 | 编辑
optometrist
2010-12-07 20:36 |
14楼
▲ ▼ |
对小弟而言,
这不只是利害 简直就是超强 感谢分享~^^ x0 |
引用 | 编辑
chakflying
2010-12-16 16:45 |
15楼
▲ ▼ |
很好的教学啊...
相信造象棋也可以吧...... x0 |
引用 | 编辑
mychat09087
2012-05-24 19:40 |
16楼
▲ ▼ |
哇!我校没教这么难的程式呢,好像只教了number guessing game……
x0 |
引用 | 编辑
tonylucy321
2012-12-13 18:57 |
17楼
▲ ▼ |
看起来有一点难度啊但
不太清楚八后棋怎玩 x0 |