设为首页收藏本站官方微博

技巧 AVG迷题探索(06)

[复制链接]
查看: 11656|回复: 19
打印 上一主题 下一主题

[技巧] AVG迷题探索(06)

跳转到指定楼层
楼主
发表于 2007-9-5 17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

AVG迷题探索(06)

引子:* N/ B, H# ~+ ~: B; [; C
        前面两篇探索都与拼图有关,这次也不例外,不过这次的拼图该是我们最最熟悉的拼图类型了,在各个AVG当中此类拼图是层出不穷,随便抓起来就有一大把的例子。例如:
8 n. A8 n9 I- ?
' {; D7 s5 E2 _7 H# i(这里想找些迷题的图片贴一下的,无奈我玩过游戏太少,正拜托XYZ老大寻图中,老大加油啊。。。)
0 M5 ^2 }. d) \8 X* G+ a1 X# ~/ c" [# x; B6 ]7 T
        不过很奇怪,比起上两篇的两类拼图来说,这种拼图的规律却比较不好找,也很难用一些普遍的简单的公式来表示,所以拖到第三篇才拿来评论。- H( `8 ~2 d" ^! |) d. V! [& \
        先分析一下这类拼图的最简模式,所谓“最简”,意思就是说这类拼图最少得包含多少个格子才能够形成复杂变化(这种拼图还有一个“方块”的概念,一幅n个格子的拼图里应该含有n-1个方块)。9 B+ I3 j0 l6 Q
        很快可以得出结论,n等于1~4都不可能有复杂变化,至多就是几个方块在格子内团团转而已。  k3 T: `, i! Z4 c
而n等于5的话,情况好像就有点改变了:" h( t7 @* |# C
7 p6 e. p: x2 l) ?0 T) o0 L; _
! b, p! q* [3 V7 [  `
! T2 B1 @$ s9 Y% e! v# J
        这时,我们可以把B暂时弄到空位上去,然后让ADC在左边团团转,伺机把B在放回到ADC序列的任意间隔里,嗯~这种变化比较复杂了。
& A2 W) o7 B9 J+ K4 ]6 N$ Z        不过我们很快发现,实际上5个格子的变化仅此而已,B方块仅仅能在原位和空位之间移动,整个拼图形成的变化也仅仅是ABDC的序列变为CBAD或DBCA而已,如果把这样的拼图拿来做迷题,估计也就是婴幼儿启蒙的水平。- w8 d. B: ^7 A) I
        那n=6如何?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
 楼主| 发表于 2007-9-5 17:08 | 只看该作者
n=6的基本变化:: b3 {! _2 F7 h% N; D
        当n等于6时,拼图应为如下形式:
! `2 f+ [9 R4 i5 ^' b9 D+ }- R2 s8 ^# J" ^

$ |/ w7 H0 D) h- x5 u+ G; `$ g7 M* E8 ]- q( X0 X
        和第一篇探索一样,让我们先研究一种“基本变换”!
$ d3 h( R* R1 n) ]$ q' f5 Q3 `
9 j: h* o7 c' Q3 c: g- k# M(图一)7 C" o% @% X  n8 x2 ~) R& q0 @

# T' }- M/ k4 K$ v) u. ?        假设我们不管C和E,把ABD作为一个排列成三角形的序列,让我们来研究一下这个三角形序列的变化。
1 o5 Q* z! U) M6 _# v5 g        对于E来说,它的选择位置有两个,一个对应三角形的“边”,另一个对应三角形的“角”,
0 X( E+ o% f1 y" F1 I' M
( m6 j- n6 n% ^" Z& B& n# _2 `9 A9 {9 a) s

" M4 f6 T5 v0 H+ D0 d3 _        现在把E移到三角形的“边”去,把D放到右边的空位,# V- n: F. E) M& O; l% ?. @9 m
3 j0 w5 Q1 B( g6 G0 J
3 S% ?0 t0 F1 T7 W# Q

: F* ?& ], R3 u! w        让ABC三个方块依次在左边做顺时针方向的挪动,直到D原来所在的空位第一次空出来为止,
7 i' M# G( [% {
. z' `& D! u) d* \* [, L+ m3 \, n& P/ v( Z; V& t
# l' b7 Y  K0 C9 Z
        现在把D移回去,6 G2 y+ l$ |  P3 ?" d  ^2 w8 \
  E/ ~2 I  Q' z# e+ P* U7 O. M

6 i6 W* D* w1 J& M# |
$ l1 v' B  l2 t3 U, n        把E移到三角形的“角”,同时把A移到空位,然后同样让CDB三个方块在右边做顺时针挪动,直到……
6 ^4 P& G! n+ v/ i& l+ r( {: b! R. q

5 G. p6 n! J3 ?: J/ j6 ^3 [4 F
# z2 k* s* I# {* Z# c        A原来所处的位置第一次空出……继续顺时针挪动,直到……
* c8 l+ L1 L2 a; b- o2 `9 l$ l* J  Y5 o( w

$ Y8 _7 \* C+ S( |/ P0 J
' M  Z0 T# d) r( E* }. O        A原来所处的位置第二次空出,好!停止!把A移到空位中,
& s9 V6 t. W0 j: k& f: z8 s* W& B7 O

4 A, J6 K2 F* E8 X) y1 Q  q
/ k/ _  W& [4 T) }3 B$ U4 S        行了,至此“基本变换”完成!!( D2 d% K" i  |' W& x/ t. {
        对比一下初始状态,有什么变化了呢?不错,“基本变换”让“三角形序列”中的三个方块顺时针转动了一格!!9 i5 C  @! k4 E; W2 ~; d
        再总结一下方块移动的规律,从上面各步骤中把绿色粗体字抓出来,移动的口诀就是:“边、顺时针、第一次空出、角、顺时针、第二次空出”; I# W7 n6 }- A: G: [9 i/ ~% y
) ^) J  z# j# F( U0 \& N
(图二)
$ E, C  s/ `& r: v7 O8 x
1 [! l  X8 d- i. H6 t0 Q        如果在初始状态时把BDC作为三角形序列来进行变换的话,口诀则变为“边、逆时针、第一次空出、角、逆时针、第二次空出”,得到的结果则为:/ e9 `7 r8 t: O. M$ T6 k. r
/ X- K# E; i! P3 Y% w- y" h% ?

2 O2 L$ z8 r, q% O2 q. Y# P: z' ?
( i+ R6 ^; s4 d/ V+ U- A: B        BDC三角形序列逆时针转动了一格。
" G7 Z5 f0 g* L* _6 q" ]$ _        可以看到,除了顺时、逆时转动方向不同以外,两种基本变换的步骤都是一样的。然后让我们总结一下什么时候用顺时针、什么时候用逆时针。
% k+ Q: [( i2 U* W6 A: Y        把(图一)的长方形每90度转一次,我们得到:+ U: h$ d( M" e- l

' d% J! L0 d$ r) f0 B
/ z- W6 h- N4 Z+ O
3 |. [1 S1 `, h( a7 q        以上情况采用顺时针旋转。同样由(图二)则得出:
: k9 s+ B7 W' E. e$ ^+ L( i7 _7 ]  ^- j+ ]% _0 m9 o

& P: N9 q5 ^( y$ j# ?- B4 w: g: d0 G9 |
        以上情况采用逆时针旋转。
/ m1 V1 }# m$ H8 g3 \5 n% m        现在各位能总结出这种基本变换的规律了吗?选择需要的6个格子,选择需要变换的三角形序列,根据上面找出旋转方向,然后“边、转、第一次空出、角、转、第二次空出”。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2007-9-5 17:08 | 只看该作者
基本变换的作用:
- {, q& E$ [0 C5 l        迷题探索第一篇里说的基本变换能让我们随意安排目标方块的位置,这次的基本变换有这个能力吗?有的,否则它也不能称之为“基本变换”了。请看下图:
( k, M% r( G9 o( Q# I$ v! i: J' ^, K) }5 v

) ?. G9 e% ^- u* y% {
3 m0 x, f' L/ T. R/ S        假设我们需要重新安排A的位置+ A& d: F; V7 D# a: m6 U
1、通过ABD三角序列一次变换,A能到达位置B;
, Z4 g. @3 o3 [' o( o2、A在位置B再进行一次ABD三角序列的变换能到达位置D;2 K7 R+ V$ a! F. `7 \. W
3、然后,在A处于B或D位置时,让A、C和剩余一个方块做基本变换一次或两次则A能到达位置C;
1 n) ]4 f) _% D       现在左半部分的位置已经全部能到达,剩下位置E和它上方的空位了,
# |4 \9 L# V9 A' v% j. H2 N8 g4、把A、B方块向右移,于是可以形成:) r0 @' U, G1 V
2 k( p' A' H( S, }. t5 O% ]; @- a+ ~
0 K0 ]. y( G  A" O2 J) e

  U. U) t+ l' J  O- w' {% r: E        这样,只需要让ADE和ABD两个三角序列继续做基本变换,A就能够到达右边的两个位置。
( c$ L9 C/ H- s# W& e        在6个格子里能够任意安排目标方块的位置,一幅n(n>6)格的矩形拼图可以看作若干个6格子单元的集合,因此通过基本变换,能在整个拼图里任意安排目标方格的位置!
) K) |% m" n- m- \9 \! L        仍然是迷题探索1里面所强调的:“任意安排”是指不考虑其他格子而随意调动目标格子,当其他格子的情况需要考虑的时候,某一些拼图组合是不可能出现的,例如:# S+ Q( y  {2 O1 y. \: e8 E$ i

/ f4 k- s( `+ b 不可能通过基础变换变成 " {% [( t! U, @
/ y4 d, h+ S, _5 }+ S8 a, u
        但因为这些内在规则已经内含在拼图里了,我们不必予以理会,专著于目标方块,其他方块自然会回到其该去的位置。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2007-9-5 17:09 | 只看该作者
实战:
9 L7 N( q# M2 v' ^4 \        现在可以用一道古老而又有富有民族文化的拼图迷题来实践检验我们的理论了,以下迷题来自《大唐诗录》,需要拼出的拼图是从右上角排列到左下角的唐诗诗句“洛阳亲友若相问,一片冰心在玉壶。”。(诗句出自唐朝诗人王昌龄的《芙蓉楼送辛渐》,全诗是“寒雨连江夜入吴,平明送客楚山孤。洛阳亲友若相问,一片冰心在玉壶。”)
" Z! f7 l5 _2 {. h, N3 W4 A- J1 ^) |- q

+ l* K2 p: o+ d  a8 N' s4 k( l9 @
. z! ^0 L3 ]2 X- j2 h7 U! h' A        这个拼图里,所有的文字可以且只可以和“句号”互换位置,所以“句号”就相当于一般此类拼图中的“空位”。在以下的图解中为直观起见,直接把“句号”用空位代替了。% n- v) C8 }9 F' [- B" R, C

5 H. v! H7 s. E
6 ^% k, k' \# I  x2 e/ @( U* E
0 P- m& L8 w* b& ]0 b: s" ]        这种拼图一般位置的方块都不难拼好,所以就不详细说明了,只在关键的地方着重叙述解法。我们按照从右往左一列一列的顺序来拼,“洛”“阳”“亲”都好办,直接拼好。剩下的“友”字需要应用“基本变换”来完成。如上图所示,先把“友”字挪到黄框范围的六个格子内,并让“友”字和它的目标位置坐标(4,4)处于同一个三角序列中,然后开始“基本变换”。先从上文的表格中查得这种布局应采用“顺时针基本变换”,然后“基本变换”口诀第一步是“边”,“若”字已经在“边”了,
2 t* a  i+ i" `! @' w- ^
- q$ ~4 K( ]! I+ s" E& v0 Q( q9 e6 C1 r8 ]) E  D7 L
) z; a: \  `  F1 w" [% b  w
        三角序列中的一个移到空位,剩下的部分顺时针挪动,; O! n- {2 g( N
* r8 {; c/ s" t

, g1 h$ J4 ^' G; n' g4 C' k
2 X9 F4 X; N$ r) e; K' `9 \' i; i        直到原位置第一次空出,! t0 |6 m# \! ?* ~% A
7 ~1 U+ y& k% z4 k+ Y7 s# @
. l' M) g; ?6 e1 T

& o* d2 _, }; W  q        把先前移出的放回去,% z& r  K6 S8 `  ^+ ^/ V% O8 g" v

& n+ |( _/ G3 C/ U' T- d1 A( z8 X% ~: B* i

$ U5 p% \1 I- [& y: f/ x        口诀“角”,把“若”移到三角序列的“角”上去,
( Q: |! T  y( G/ g& W6 `; r+ Y! Z8 k, F6 d+ d. ?

/ K" _# d* R1 X) J; V. \- D
+ ]1 |$ x0 t: p1 j3 d        三角序列中的一个移到空位,剩余部分继续做顺时针挪动,+ ^' \7 {# A+ P6 J' x2 D

8 W8 _' p# D0 u/ }' L+ @4 j" C9 |, f

: J4 k2 q2 c3 E  M; o        原位置第一次空出,继续顺时针挪动,% @  k9 u6 ]6 }+ c4 U$ N. h1 K

" }% U8 d1 s. [' `2 N4 c, }" Q& v# L% V# ~5 @  A; d& b2 L

1 P, I3 Q& r7 s  y; Y- O$ d        原位置第二次空出,停止挪动,9 z) D6 t  J; o8 `# b+ C1 q4 i
; z7 H% p% Y6 v5 T  d

+ \# t$ p9 H/ l: Z! ^% F! r( O7 c" t3 A  \) H
        把先前移出的放回原位。现在三角形序列中的三个字已经顺时针移了一格,以上步骤再重复一次,“友”字就能到达坐标(4,4)了。, T% y0 \# A! {; j9 `
2 o0 G: y0 e0 R$ c
3 B5 w. X2 w- S, G3 Z: n- m! B

1 \* a4 F  e: O' `8 K* j        同样方法,我们可以完成右边每一列的拼图直到左边只剩下两列为止。
5 M$ T# {+ I; x0 C  w* S* L2 ?2 K9 C3 N. `5 U

+ r3 V3 n5 ?" e9 F0 m- f! U0 c3 F1 [
* ]0 s8 M& o' @        因为最终空位(即“句号”)要落在左下角,所以剩余左边最后两列时,我们选择重上往下拼。先把“一”字的位置放好,“一”字的左边应该是“在”字,那么把“在”字安排在黄框的六格范围内,并使之与其目标位置坐标(1,1)处在同一三角序列,查表确定这种布局采用“逆时针基本变换”,一次操作以后“在”字到位:0 a- n" E  w( K  F( E0 ?( l

/ i) N5 E4 j( \6 O* n$ a* d% Z- T# {9 m$ l* ?; M: @

. x2 g+ a: ]  @, M2 L        “在”字到位后,整幅拼图就剩下左下角的六个格子了,同样采取基本变换来完成。先拼好“片”字的位置,然后要确定三角序列里应该放哪三个字,不错,应该是“壶”“冰”“玉”三个字,那么就把以上三个字挪到三角形上,最后就形成下图:) k, b( y7 A- R" g; h+ G, j

% M9 J2 |/ N2 Y: `
! Y" B5 r  g8 s/ }# U% f( ~( }6 C. ~( O1 o& U# r
        好了,只需要简单地再做1~2次逆时针基本变换,拼图就大功告成!!
5 I3 a, a1 n4 R8 ]! H( f5 c# G' Q- R: z7 C+ m

4 C% u# u# g1 G* X9 _    总结:初看“基本变换”的步骤觉得复杂,其实不然。在六个格子内,每一次挪动其实最多只会面临两种选择,记住了“口诀”,你就可以在每次面临选择时确定正确的步骤,多试几遍自然就清楚了。牢记“基本变换”的作用,它能够让你在锁定其他所有单元格不变的前提下,只变动选定的三个单元格,灵活运用这一性质,任何这类腾挪拼图都必然能够手到擒来!6 d0 K" W  B9 X

0 R  A' @' o1 n4 y2 M        论坛上关于此类拼图的挪移还有一个帖子:https://www.chinaavg.com/read.php?tid=6486#57592,是从序列的角度来解决迷题的,这确实是一个很有趣的解决思路,我刚开始也曾循这一途径思考,有空的话下次继续探讨啦~
回复 支持 反对

使用道具 举报

5#
发表于 2007-9-5 18:18 | 只看该作者
很好,很强大~吃完饭再来仔细看看。
回复 支持 反对

使用道具 举报

6#
发表于 2007-9-6 09:13 | 只看该作者
你们也忒牛了吧 看的眼花廖乱
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2007-9-6 10:22 | 只看该作者
soring,在你的https://www.chinaavg.com/read.php?tid=6486#57592里我就说写,现在终于脱稿,历时4个月啊~~辛苦啊~~~~~
回复 支持 反对

使用道具 举报

8#
发表于 2007-9-6 17:20 | 只看该作者
不错,受益匪浅!
1 ~4 o' L9 \7 u3 n5 ]3 q [s:2]
回复 支持 反对

使用道具 举报

9#
发表于 2007-9-6 21:37 | 只看该作者
这个其实就是前些年流行的一种叫魔板的玩具~
( j; o, b( D4 c. m' `+ L. I
" k. E' K/ H) B这种东西和魔方一样有自己特定的规律~7 l* B  r- ]6 M8 C2 k; k: x

5 Y% ~5 \+ n$ T# a8 i$ S" B6 @% Q貌似楼主的方法颇麻烦我到有个简单可行的法子百试不爽~+ ]! n( {" B5 P6 `: [; R% a

1 K# H' Z/ d0 o可惜我讲给身边的人听时没人能理解~7 N- f+ _, h, k" s

4 }+ A. T: w5 Y& \5 h" o另有这个谜题的游戏有黑镜~shivers~等
回复 支持 反对

使用道具 举报

10#
发表于 2007-9-6 22:15 | 只看该作者
其实这个拼图谜题不论是拼行还是拼列8 _- _& x6 Z& y* l' E6 n8 ]
' V+ o; S( d& ?/ {6 y
最难的都是最后一块(这一块有可能是该行或列的任意一块)! P( q: {$ q: G

5 h+ V$ t) o1 D; k6 M2 w! @  [- R: E8 {' z) S2 O  n
如图~很多人可能都会为如何把友字移入右边一列的最后位置头疼
( t0 ?8 ^, J+ ~* z/ \/ U' D7 u$ z/ A) \4 h, Q/ g
4 P8 J3 d  y' z4 @: r
这里可以这样进行~
8 l8 g: V4 z" p- D& ^3 b8 z, E& |+ Q
把洛字向左移一格(这里需要先把空格移动到洛字左边)~! T, D0 h% G% J0 U
! H: x5 w. z) K
然后把阳字、亲字、心字分别向上移动一格,友字向右移动一格(即跟着洛字顺次移动)~  p, U- l7 z* v  e
- i( V: \/ V0 N/ h; {& j; v
这时候再把心字向左推一个位置(这里需要先把空格移动到心字左边)~
+ U/ T5 Z* Z& q8 A5 l4 ^. z) N. D& W. A" q' K1 Y2 m% f( ]- {
完成之后把亲字、阳字依次向下推一个位置洛字向右推,归原位~5 }: c0 h4 {$ T; w  \
# Q  a$ r. e- i# e8 i7 N' S) N
这时候右边一列就完成了~5 s& S" h7 n- k9 d4 h
8 L% ^: d; T0 p! F
解决了最后一个块的问题之后~
, n* X# s0 d4 O
. V2 V  P& i6 g( b7 D我想这个拼图问题也就迎刃而解了~: G& x! T# ?2 V& n1 P+ x6 y5 y
- n5 R$ U1 {! ^" j  `3 v9 @  b
& n$ E9 l! w( H) L& M
+ e; c, A+ Y+ p6 ~
PS:该方法我取名为以退为进,魔方也是可以运用的~当然魔方的要略为复杂~
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表