魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: lpx152301
打印 上一主题 下一主题

魔方计时器的打乱公式是怎么来的?? [复制链接]

Rank: 1

积分
183
帖子
68
精华
1
UID
25794
性别
11#
发表于 2009-5-8 19:51:21 |只看该作者
我写的打乱步骤核心部分代码。
  Randomize;
  move := '';
  i := 0;
  while (i < edRnd.IntValue) do
  begin
    ti := Round(Random(max));
    if (i > 0) and (ti = arr[i - 1]) then
      Continue;
    if (i > 1) and (ti = arr[i - 2]) and ((ti div 3) = (arr[i - 2] div 3)) then
      Continue;
    arr := ti;
    Inc(i);
  end;
  for i := 0 to edRnd.IntValue - 1 do
  begin
    ti := Floor(Random(max - 1));
    if ti = 4 then
      move := move + asMoves[arr] + '2'
    else if (ti = 2) or (ti = 3) then
      move := move + asMoves[arr] + #39
    else
      move := move + asMoves[arr];
    move := move + ' ';
  end;
已有 1 人评分经验 收起 理由
kexin_xiao + 5 原创内容

总评分: 经验 + 5   查看全部评分

使用道具 举报

Rank: 1

积分
79
帖子
68
精华
0
UID
76092
性别
保密
12#
发表于 2009-5-8 20:38:35 |只看该作者
惭愧,代码不太懂啊,只有一点C和VB的基础,没注释不行…不过基本明白是什么意思了。只是之前觉得公式打的有时不太乱,还有那个手机上用的flash版的cuberhelper,竟然会出现RRLL之类的错误。期待一个好用的手机计时器

使用道具 举报

银魔

小欣然的爸爸

Rank: 7Rank: 7Rank: 7

积分
37843
帖子
34374
精华
15
UID
16477
性别
保密

论坛建设奖 爱心大使 八年元老

13#
发表于 2009-5-8 21:33:29 |只看该作者
很多规则和特殊情况在编程的时候就要想到
天津1群11471969,2群5834223
3群62462688,4群62462702
5群70735234,6群33712046
7群12240584,8群29198783
9群62974165,欢迎加入!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-9-28 11:06

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部