3
莱昂哈德(Leonhard)喜欢迷宫
背景 我的儿子Leonhard(4岁)喜欢迷宫。我不知道他从哪里知道迷宫,但他画了迷宫并且很清楚它们是如何工作的: 最近,他开始用绘画创作游戏。这些是他的规则: 黑色正方形表示起点。 钩子表示迷宫的出口(在那儿您会被拉出)。 你可以收集冠冕。 您可以收集金块(圆形的东西)。 您可以前进和后退,但不止于此。 箭头可能会指引您前往出口。(如果他画迷宫供我解决,它们常常会误导人)。 带注释的版本: 蓝色:起点 橙色:冠 黄色:有金块的区域 绿色:挂钩(退出) 粉色:箭头(主要是误导性的) 任务 也许您知道,在4岁时,孩子们开始讲猪肉,有时他不遵守自己的规则,尤其是当他发现自己再也无法到达迷宫的尽头时。 那就是您的角色:既然我一直在为孩子们寻找游戏,那么您会将他的想法变成不可能作弊的游戏。 好吧,我们还需要一些其他的定义: 运动场是一个n* m大小相等的正方形矩形。 一个正方形可以有0到4面墙,每面一面。 一冠价值50分。 一个金块值得20分。 在已经走过的广场上行走会减去1分。 标记正方形以标识玩家在其上行走的频率(0、1或2次) 玩家可以沿着4个方向行走,除非有墙。 输入设备可以是任何东西。请考虑键盘支持。 迷宫必须是可解决的。即,必须有可能从起点到达钩子,并且必须有可能收集所有贵重物品(即使那不会导致最高的得分)。 如果玩家卡住,游戏将结束。 玩家不得因掉下棋而丧命。您可以随心所欲地在完整的迷宫周围放置一堵墙或包裹边缘。 程序将单词(0-65535)自变量作为输入。这是随机数生成器的种子。再次使用相同的种子调用程序会导致相同的迷宫。 奖金: 计算可以收集的最高分。考虑到由于-1分,最好不要收集所有物品。 显示最佳解决方案(以最快的方式获得最高分) 规则 这是一次人气竞赛,因为我希望能够阅读和理解代码并可能适应我儿子的新想法。对不起,打高尔夫球的人,也许您想使用更适合打高尔夫球的规则创建此问题的副本,例如,定义了所有角色的控制台版本。 5月3日最受欢迎的游戏将成为公认的答案。而且,为什么不将其发布在应用商店中?