Foxtable(狐表)用户栏目专家坐堂 → 随机红、黑方


  共有3732人关注过本帖树形打印复制链接

主题:随机红、黑方

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/20 16:58:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/21 22:18:00 [显示全部帖子]

……
            DataTables("比赛积分").Save()
            DataTables("对阵表").DataRows.Clear
            Dim drs3 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' and [排序] <> 0","","排序,上轮止累计积分 Desc,曾交战对手累计积分")
            Dim iii As Integer = 1
            Do While drs3.Count > 0
                Dim nr As DataRow = DataTables("对阵表").AddNew
                Dim c As Integer = rand.Next(0,drs3.Count)
                Dim dr3 As DataRow = drs3(c)
Dim sss As String = "'" & dr3("编号") & "'"
                nr("桌号") = iii
                nr("红方_编号") = dr3("编号")
                nr("红方_姓名") = dr3("姓名")
                nr("红方_上轮止累计积分") = dr3("上轮止累计积分")
                nr("红方_曾交战对手累计积分") = dr3("曾交战对手累计积分")
                drs3.RemoveAt(c)
                If drs3.Count > 0
                    c = rand.Next(0,drs3.Count)
                    dr3  = drs3(c)
sss = sss & ",'" & dr3("编号") & "'"
                    nr("黑方_姓名") = dr3("编号")
                    nr("黑方_姓名") = dr3("姓名")
                    nr("黑方_上轮止累计积分") = dr3("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = dr3("曾交战对手累计积分")
drs3.RemoveAt(c)
                End If
DataTables("比赛积分").SQLReplaceFor("桌号",iii,"[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' and [排序] <> 0 and 编号 in (" & sss & ")")
iii += 1
            Loop
            DataTables("比赛积分").Load
            drs3 = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' and [排序] = 0","","排序,上轮止累计积分 Desc,曾交战对手累计积分")
……[排序] = 0的用法参考自己做

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 10:12:00 [显示全部帖子]

要按排序还随机干嘛?随机了当然就是乱序的

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 11:13:00 [显示全部帖子]

For ib As Integer = 0 To drs3.Count - 1 Step 2
    
    Dim c As Integer = rand.Next(0,2)
    Dim c1 As Integer = IIF(c = 0,1,0)
    c = ib+c
    c1 = ib+c1
    Dim nr As DataRow = DataTables("对阵表").AddNew
    If c <= drs3.Count - 1
        nr("桌号") = drs3(c)("排序")
        nr("红方_编号") = drs3(c)("编号")
        nr("红方_姓名") = drs3(c)("姓名")
        nr("红方_上轮止累计积分") = drs3(c)("上轮止累计积分")
        nr("红方_曾交战对手累计积分") = drs3(c)("曾交战对手累计积分")
    End If
    If c1 <= drs3.Count - 1
        nr("黑方_姓名") = drs3(c1)("编号")
        nr("黑方_姓名") = drs3(c1)("姓名")
        nr("黑方_上轮止累计积分") = drs3(c1)("上轮止累计积分")
        nr("黑方_曾交战对手累计积分") = drs3(c1)("曾交战对手累计积分")
    End If
Next

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 14:33:00 [显示全部帖子]

我测试 没有问题

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/22 14:48:00 [显示全部帖子]

我删除第三轮的数据,重新生成没有问题

 回到顶部