华容道游戏下载(华容道手游下载)
本篇文章给大家谈谈华容道游戏下载,以及华容道手游下载对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
华容道的游戏历史
华容道是中国人发明的,最终解法是美国人用计算机求出的。但华容道的设计原理到现在还没有搞清,最初看是在一个由二十个方格组成的棋盘,有一个四个小方格一组(曹操),五个两个小方格一组(五虎上将),四个一个小方格一组(四个小兵)。但关羽是一个横向的两个小方格,其他四将是纵向的两个小方格,这样如果曹操是四,四个上将和关羽就不能统称为二,1*2*4:20的关系就不能成立。还有一种方法是将曹操看作是四次方,关羽看作平方,四个上将看作是四个2,四个小兵是四个1,棋盘看作是20。但最终的数学原理还是未解之谜。
姜长英在他所著《科学思维锻炼与消遣》中说,“估计它的历史只不过有几十年。从前人的笔记中没有发现有玩具华容道的记载。”姜先生自己是在1943年夏第一次看到这个玩具。目前所见到关于华容道最早的文字记载就是姜先生1949年出版的《科学消遣》。
据西北工业大学林德宽教授说,他在1938年在陕西省城固县的乡下见过小孩玩用纸片做的华容道。
20世纪50年代,苏州师大的许莼舫先生的《趣味数学》详细分析了华容道游戏,给出了100步的解法。
文革期间,华容道游戏已经相当流行。
2002年崔乐泉所著《忘忧清乐——古代游艺文化》中对中国古代种种游戏玩具作了介绍,其中有七巧板和九连环,却没有华容道。
由此可见,在没有新的历史资料发现之前,华容道的历史不超过几十年的说法是可信的。
华容道游戏属于滑块类游戏,就是在一定范围内,按照一定条件移动一些称作“块”的东西,最后满足一定的要求。滑块类游戏究其起源,最早的可以说是中国古代的“重排九宫”。那应该是产生于出现河图洛书的时代,有数千年历史。1865年,西方出现“重排十五”游戏,特别是萨姆.洛伊德在1878年推出“14-15”游戏,风行一时。此后,各种各样的滑块类游戏不断涌现。哈代(L.W.Hardy)发明三角旗游戏并在1909年取得专利。再往后,法国出现红鬃烈马游戏。可以设想,这个游戏传到中国,本土化成为华容道游戏。最早系统研究游戏华容道的是苏州大学数学教授许莼舫先生。1952年,他在《数学漫谈》中对这个游戏作了详细的分析,总结出8条规则。这8条可以归纳为以下4点:
1,四个小兵必须两两在一起,不要分开;
2,曹操,关羽,大将移动时前面应有两个小兵开路;
3,曹操移动时后面还应有两个小兵追赶;
4,以上三种状况,其中各块都可局部(不妨碍其他地方)任意移动。
在此基础上,许莼舫提出了100步解法。下就是许先生的解法,可能由于初始状况的不同,这里只需要98步。
游戏华容道有不同的开局,根据5个矩形块的放法分类,除了5个都竖放是不可能的以外,有一横式,二横式,三横式,四横式,五横式。下面举几个例子。
数字华容道打不开里面的游戏怎么办
数字华容道打不开里面的游戏。通过九游下载最新版本,进入到九游门户中搜索数字华容道,点击进入专区进行下载就可以,操作简单,还有高速下载,全程省时省流量。
请问,华容道这种游戏是谁发明的
链接:https://pan.baidu.com/s/1dsuYDPuZodlfDl7UgyhbUA提取码:amsr
华容道是古老的中国民间益智游戏,以其变化多端、百玩不厌的特点与魔方、独立钻石棋一起被国外智力专家并称为"智力游戏界的三个不可思议"。它与七巧板、九连环等中国传统益智玩具还有个代名词叫作"中国的难题"。
华容道世界纪录是多少
链接:https://pan.baidu.com/s/1dsuYDPuZodlfDl7UgyhbUA提取码:amsr
华容道是古老的中国民间益智游戏,以其变化多端、百玩不厌的特点与魔方、独立钻石棋一起被国外智力专家并称为"智力游戏界的三个不可思议"。它与七巧板、九连环等中国传统益智玩具还有个代名词叫作"中国的难题"。据《资治通鉴》注释中说"从此道可至华容也"。
华容道游戏是怎么来的
游戏华容道的故事来源是三国演义中关云长义释曹操。但是这个游戏的起源,却不是一般人认为的是“中国最古老的游戏之一”。实际上它的历史可能很短。民间老百姓自己想出来的游戏!
Android小游戏 之《数字华容道》
[toc]
最近看《最强大脑》,看到其中的“数字华容道”这个小游戏挺有意思,于是萌生了自己写一个的想法,正好结合之前的文章《Android开发艺术探索》第4章View的工作原理,顺便复习一下。
GitHub链接:https://github.com/LittleFogCat/Shuzihuarongdao
说做就做。
经过一夜的粗制滥造,初版已经完成,现在复盘一下详细过程。
在4x4的方格棋盘中,摆放了115一共十五个棋子。玩家需要在最短时间内,移动棋子将115按顺序排列好。
本文app结构很简单,分为三个界面:目录,游戏,高分榜。分别对应的是MenuAcitivity、GameActivity、HighScoreActivity。其中MenuActivity为主界面。
新建棋盘类BoardView,继承自ViewGroup。在xml文件中直接加入BoardView即可。
新建棋子类CubeView,继承自TextView。
棋子只包含一个数字,所以简单的继承自TextView即可。由于我们还需要比对棋子是否在正确的位置,所以我们还需要给每个棋子加上数字和位置属性。
这里,我们定义了一个类Position,用于描述棋子在棋盘中的位置。
我们参考Android系统屏幕坐标系,以棋盘左上角为零点,每向右一格横坐标加一,每向下一格纵坐标加一。如图:
接下来,我们开始定义棋盘View:BoardView,这也是这个游戏的重头戏。
首先,考虑需要添加哪些属性。由于时间关系,我这里只加入了棋盘尺寸。
在style.xml文件中加入:
其中sizeH为棋盘列数,sizeV为棋盘行数。(默认4x4大小,以下文中均以4x4为例)
分别对应BoardView的mSizeX和mSizeY属性。
首先我们新建一个cube_view.xml,作为单颗棋子的布局。在BoardView的构造方法中,我们使用LayoutInflater将总共15颗棋子加载出来,并指定它们的位置,逐一保存在mChildren数组中。
最后,我们记录了没有棋子的空格所在位置mBlankPos。这个位置很关键,因为我们之后的的操作中都是围绕这个空格来的。
measure和layout的过程很简单,这里由于是自己使用,假定宽高都是定值。因为之前所有的CubeView都没有定义宽高,默认是0,所以在onMeasure中,我们使用BoardView的宽除以列数,高除以行数,得到每颗棋子的宽高并给其赋值。这样处理虽然很粗放,但是只是试玩的话并没有什么影响。
我是按照从左往右、从上往下的方式依次排列棋子,并且没有考虑棋子的margin属性,所以onLayout很简单:
至此,棋子在棋盘中就已经排列好了。
一开始的时候,我考虑的是,生成1~15的不重复随机数,然后依次给CubeView赋值即可。即:
虽然看起来是能行得通的,但是在实际的游戏过程中,遇到了非常严重的问题,那就是会出现无解的死局,也就是说无论如何都不可能解出来的棋局。经过网上搜索之后证实了这个bug的存在,而且市面上流传的该类app很多都是有这个bug的!所以这个办法就被废弃掉了,得想一个新的方法。
由于必须是按照顺序放置然后打乱的棋局才能保证有解,不能随机乱放置,所以我就模拟手动打乱,写了一个新的棋局生成器:
原理很简单,因为空格的位置是唯一的,那么我们把空格的上下左右四个棋子随机找出一个,与空格互换位置,也就模拟了一次手动点击。当点击的次数足够多时(这里循环了10000次),就可以看做是已经打乱的棋盘了。
最后把生成好的棋盘,保存在一个二维数组中即可。
(因为有个10000次的循环,我担心时间过长,于是将其放在线程中执行,但是后来我觉得自己多此一举了。)
然后,在BoardView中定义一个setData方法,来把生成好的棋局装进来:
这样,就完成了棋局的生成。
游戏过程基本是极简的。
在初始化方法中(2.1),我们给每个棋子都定义了点击事件,模拟真实场景。具体来讲,就是当我们点击一个棋子的时候:如果棋子在空格周围,则将棋子移动到空格处;反之,则不进行任何操作。(如果设置滑动同理)
这样我们的Position类就派上用场了。
在2.1的init()方法中,我们有这么一句:
即是,当我们点击了其中一个棋子时,会触发moveChildToBlank(view)方法。这个方法的目的正是上面所说。
在移动棋子之后,我们需要检查一下是否是正确排列的顺序,如果是的话,那么表明游戏完成。
首先创建HighScore类,包含姓名,用时,步数,时间。
高分榜使用SharedPreferences+Gson,将一个List<HighScore>转换为json形式保存在本地。
最佳成绩的记录是在GameActivity中完成的。流程如下:
总的来说,逻辑简单清晰。
自己开发的自然是需要作弊功能了!暂且不表。
由于只用了一个晚上完成,所以还很粗糙,很多功能不够完善,而且也没做适配和测试,难免会有bug存在。主要是把思路记录下来,方便以后自己和他人做个参考。
数字华容道GitHub地址:https://github.com/LittleFogCat/Shuzihuarongdao
华容道游戏怎么玩
通过移动妻子使曹操移到最下方中央!!
华容道"横刀立马1"通关步骤(81步)
右下卒左一,黄下,关右,左上卒下,马右,左下卒上一,下卒左一,马下,关左,右卒上右,下卒上二,马右,左上卒右下,关下,上二卒左二,黄上,马上,下二卒右二,关下,右上卒下左,马左,黄左,赵下,曹右,张右,左二卒上二,马左,张下,曹左,赵上,黄右,下卒上二,下卒左上,关右,张下,马下,中卒左二,曹下,上卒右二,左卒上右,左下卒上二,马上,张左,中卒左下,曹下,右上卒下左,赵左,黄上,曹右,上卒下二,上卒下一,上卒右一,马上,张上,下卒左,下中卒下,曹左,黄下,赵右,上二卒右,马右,张上,曹左,上二卒下二,赵左,黄上,下卒右上,关上,下二卒右二,曹下,中二卒左二,关上,左下卒上右,曹右.
如果你还想了解更多这方面的信息,记得收藏关注本站。
