魔方吧·中文魔方俱乐部

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

十年前DOS下的解魔方软件ACUBE [复制链接]

铜魔

007

Rank: 8Rank: 8

积分
13803
帖子
13083
精华
2
UID
101677
性别

四年元老 八年元老 十年元老

11#
发表于 2010-8-5 08:28:31 |只看该作者
10年前仿佛已经有Win2000了
魔方收藏群 123380874

使用道具 举报

Rank: 4

积分
2557
帖子
2231
精华
1
UID
4575
兴趣爱好
其它

十四年元老

12#
发表于 2010-8-5 10:32:09 |只看该作者
金优老师,请您写一份中文使用说明,英文的我看不懂。

[ 本帖最后由 黑白子 于 2010-8-13 15:12 编辑 ]

使用道具 举报

Rank: 4

积分
2557
帖子
2231
精华
1
UID
4575
兴趣爱好
其它

十四年元老

13#
发表于 2010-8-13 15:11:28 |只看该作者
谁知道怎么用Acube这个软件求每步90度(即180度算2转)最优解?

[ 本帖最后由 黑白子 于 2010-8-13 15:13 编辑 ]

使用道具 举报

Rank: 4

积分
2557
帖子
2231
精华
1
UID
4575
兴趣爱好
其它

十四年元老

14#
发表于 2010-8-27 10:50:35 |只看该作者
********************************************************************************
***  ACube 2.5  ***  The edition of my dissapointing by your support :-(  ******
********************************************************************************

Program for searching optimal and suboptimal sequences of moves which transform
the Cube into a solved state (even partially).
================================================================================


Please note:
--------------
This program is not associated with or sponsored by the owner of the Rubik's
Cube trademark. This owner is Seven Towns Ltd. (http://rubiks.com)
The program and the source code are freeware.

Please, read carefully the following text in order to use all advantages of
the ACube program...
If you have any questions, e-mail me.


About Author
--------------

This program was my university project at the Technical University Prague
faculty of elektrotechnics, department of computer science in 2001.
Programmed by Jelinek Josef <gloom@email.cz>
Other information can be found at http://cube.misto.cz.

The program is created in GNU C++ (EGCS). It doesn't use any
system-dependent features.


Requirements
--------------
- MS DOS with DPMI, Win9x, WinNT, Win2000 or an OS with C++ compiler
- some more memory (64MB should be enough (maybe even 32MB))
- interest in the cube


Versions and Bugs
-------------------
2.5 08/28/2001 The fixed version (could be bug-free now :-))
               the serious bug when you specified 2, 3, 4 or 5
               unoriented edges then the program did not work is fixed.
               I cannot believe that nobody meets this bug
               because I have not got any mail about this!!
               Or am I developing this program only for me?
               With that bug the program was a little useless
               so is it useless now too or what?

               Also saving of the current session and then
               possibility to continue somewhere else
               was been added (key-code generating)

2.1 ??/??/2001 The next version
               Solving of the incomplete cube added!!

2.0 ??/??/2000 The first public version
               Many things was added

1.x ??/??/???? Simple 2-phase algorithm


To do
-------
- Automatic generation of cube states with specified propperties
   (for example: 'Last layer orientations' or 'Middle layer edge inserting
   when solving the first two layers' or anything else)
- Adding of the Reid's optimal algorithm (I have enough memory now)


Introduction and the Main Purpose
-----------------------------------
This program tries to help you when searching for the optimal sequences
for transforming special cube state to another state which is nearer
to solved one. So it helps a man beeing able to solve the Cube
step by step with the low number of turns.
寻找使魔方从一个状态到另一个状态的最佳方法,使人能节省转数一步一步解魔方。

It also helps corner-starter cubers because it can output sequences in
center slice-move format and it can optimize for slice-turn metrics.

The program can find optimal and suboptimal sequences in one of three merics:
- quarter-turn (only F, F', R, R',... counted as one turn)
转180度算两下
- face-turn (plus F2, R2,... counted as one turn)
- slice-turn (plus R L' (or Rs), R' L (or Ls), R2 L2 (or Rs2),...
  counted as one turn)
转中间,即同相转相对的两面后再把整个魔方转回,只算一次


Controls
----------
The program is started from DOS command line. It needs the DPMI server
(Win 9x have one in themselves) for running. Or you can compile the sources
(eg. g++ -o ACube -O3 -s *.cpp) on another OS and run there.

There are an optional command-line arguments in the program:

q   for 'quarter-turn' metrics
f   for 'face-turn' metrics
s   for 'slice-turn' metrics
a   for searching all solutions with the current shortest length
o   for searching only for optimal sequences in the given metrics
c   for slice-turns (Rs, Us,...)
     eg. Rs is R L' followed by the rotation of the whole cube
     in the opposite direction then that slice-turn so
     only middle layer is moved as the result
     Rs  corresponds to R L' plus cube rotation
     Rs2 corresponds to R2 L2 plus cube rotation
     Rs' corresponds to R' L plus cube rotation
     ...

Examples:

$> ACube q a o
- use quarter-turn metrics and search for all optimal sequences

$> Acube s c
- find me some nice moves and I like slice-turns so use them too

$> Acube s c a o
- I need very short moves and I prefer slice-turns, show me all


After the starting of the program you will be prompted to input
a cube state that program will try to solve.
The input is in this form:

  UF UR UB UL DF DR DB DL FR FL BR BL  UFR URB UBL ULF DRF DFL DLB DBR

This configuration represents the solved Cube (similar to the Reid's
program).
The doubles are edges and the triples are corners.
You can also use some simplifications for incomplete cube.
Instead of an edge or a corner you can use:

!   全对this cubie is in its right orientation and place
@!  位置对,色向未知this cubie is in its right place but has unknown orientation
-!  位置对,色向角块逆时针转,边块就是不对this cubie is in its right place but flipped (edge) or counter-clockwise
     twisted
+!  位置对,色向角块顺时针转as -! but only for corners and it is clockwise twisted
?   色向对this cubie is oriented but is not known
@?  都不对this cubie is neither oriented nor known
-?  this cubie is flipped (edge) or counter-clockwise twisted (corner) than
     cubie on the solved Cube in this position but is not known
+?  as -? but only for corners and it is clockwise twisted

For orientation of the cubies is important only the first letter of the triple.
So UFR is equivalent of URF but not of eg. FUR.
You can also precede the double or triple by '+', '-', or '@'. It affects
the orientation of given cubie in the known way.
(色向不对The @ character is very useful here!)

You can also use some shortcuts and commands:

!!  is the same as repeating '!' to the end of edges or corners
@!! is the same as repeating '@!' to the end of edges or corners
??  is the same as repeating '!' to the end of edges or corners
@?? is the same as repeating '@!' to the end of edges or corners

Q   退出is the end of the program
K   is the input of the key-code generated on Ctrl-C key press
N   is a canceling of the input and restarting of the input

When the program is computing a solution you can press Ctrl-C and
key-code of the current state of a computation is printed and
you will be prompter for another Cube.
The key-code can be then used to restore the computation from
the point of termination (K command).

Examples:

!! !!   solved cube
-? -? -? -? !! !!        flip upper edges and do not care of their positions
? ? ? ? !! -? -? -? ? !! twist 3 corners clockwise and leave 4 edges oriented
                          (do not care of their positions)
! ! ! ! ! ! ! ! -! -! -! -! !! flip edges of the middle layer in their places
? ? ? ? !! -! -! -! !!   known 'Sune'-like state
! ! ! ! @? @? @? @? !! +! ! ! ! @?? twist corner and don't care about bottom


Important note for orientation understanding!
-----------------------------------------------
A Corner is correctly oriented if its facelet with the color of the top
or bottom cube face center is facing up or down.
Else it is twisted (clockwise or counter-clockwise) off this possition.

An edge is fliped if it is on the front resp. back face and you proceed
F or F' resp. B or B'.
Other situations leaves the edge in previous orientation.
The solved cube has all corners and edges correctly oriented.

Read the previous note more than once to understand it...


Output of Program
-------------------

The program outputs found sequences to the standard output and other
information to the standard error output.

Output is in standard cube-sequence format. Single quote means inverse and
'2' means double turn.
's' means slice move and appears only if program option 'c' is specified.
(This is true since version 2.5!)
If center slice-turns are allowed then
eg. Rs means that you perform R L' and then turn the whole cube in opposite
direction than is R and L' (it is turn of the slice between R and L layers).

There are lengths in the different metrics in the parentheses at the end of
the found sequence.

Asterisk(*表示最佳方法) indicates that sequence is surely optimal in the given metrics.


Credits
---------

I'd like to thank following people:
Erno Rubik for the Cube
Herbert Kociemba for his algorithm and programs
Michael Reid for his programs
David Singmaster for many other things
and many other cubists (especially on the Yahoo Speed solving club)...

DOS界面。可以输入不确定的块,寻找满足不破坏某些块,并把指定块复原的方法。获得分段解法的最佳方法。
也能求完整魔方的解。

这是Acube软件的英文说明,哪位懂英文的能帮我翻译成中文?

使用道具 举报

积分
1
帖子
1
精华
0
UID
1272887
性别
保密
15#
发表于 2010-9-16 06:06:03 |只看该作者
学会懂事

使用道具 举报

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

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

GMT+8, 2024-4-24 13:38

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部