科技隨筆
科技隨筆

| 科技閱讀 | 程式語言 | 理財規劃 | 工具推薦 | 音樂盛宴 | 生活雜談 | 科技隨筆中,不只有科技! 在這裡,我會隨筆記下科技閱讀、程式語言、理財規劃、音樂饗宴以及生活雜談等等內容。 邀請您在過程中與我一同分享也一同成長。 讓我們在人生的旅途中不斷學習,努力成為更棒的人吧~ 在其他平臺關注我: https://linkby.tw/itechnote.co

【逻辑游戏】A=B: A One-Instruction Esolang

这是一款我在Steam游戏平台上发现的逻辑编码游戏,因为比较像是在考验逻辑思考能力,就算没有程式设计基础,完全不会写程式也可以玩哦!我觉得超级有意思就跟大家分享。游戏于2021/11/15上市了,支援英文、简体中文和繁体中文。

如果不想花钱买也没关系,在Steam游戏平台上搜寻「A=B demo」就找的到免费的试玩版(但也可能随着正式版的推出,试玩的Demo版本被移除)。

网路上也没看到太多讨论,就抛砖引玉来写一篇文章吧!希望可以遇到好伙伴一起来解题跟讨论内容~

游戏剧情

如果你是曾经修过程式设计课或是资讯相关领域的学生看了剧情应该会会心一笑,剧情主要是在描述一个修编译原理课的学生,在交作业时异想天开,从0开始搞了一套自己的程式语言,作业迟交还找各种理由牵拖开发新的程式语言很困难,所以需要多花点时间,希望老师能够包容,但是最开始的版本连显示「Hello world」都做不到,直接被老师无情退件。

随着章节解锁,可以看到更多教授与学生的Email往来内容,教授不断退件,学生就只好一直新增功能希望教授能给他分数避免被当,逐渐把A=B这个程式语言开发的越来越完善,对玩家来说后面的功能越复杂,游戏关卡就跟着困难了起来。

游戏运作原理

A=B的程式运作规则非常简单,大概可以将它分为四部分:

1. 只有「=」是保留字,「#」是拿来注解用的。

2.每一行程式码都必须要是左字串=右字串

3. 运行时会由上到下尝试找寻可执行的程式码

4. 找到之后会将等号左边的字串替换成右边的

额…看不懂吗?那举个例子,橘色的部分是我们写好的程式码“ab=c”,意思就是输入的字串要是出现任何ab有关的字都会变成c,所以若我们输入abc,则输出应为cc,因为前面的ab被我们的程式码替换成c了,而后面的c我们都没动它就依然存在。


再一个例子,假设我们写的程式码是”ab=”,那如果输入abc,输出应该是什么呢?

就是c哦,因为前面的ab被我们替换成没有任何东西。


这两个例子是为了能够更快速理解它到底在干嘛,所以都是先有程式码,我们再由输入什么去推论输出什么,但是实际上在游戏中我们要写的是橘色的程式部分啦!

游戏例题

我取最前面几题来实际演练一下在这个游戏中我们到底要写的是什么东西,这些题目在免费的Demo版本中也都有出现过,应该算是公开的。

例题一、A到B

输入: 一个由a, b和c组成的字串(字串内容是随机生成且长度在1~7之间)。

输出: 将每个a替换成b。

范例:

输入: abc

输出: bbc

输入: baccc

输出: bbccc

输入: bccbcc

输出: bccbcc

解答:

a=b

例题二、大写

输入: 一个由a, b和c组成的字串(字串内容是随机生成且长度在1~7之间)。

输出: 将每个小写字母替换成大写字母。

范例:

输入: abc

输出: ABC

输入: accca

输出: ACCCA

输入: bcaaacab

输出: BCAAACAB

解答:

a=A

b=B

c=C

例题三、去重

输入: 一个由a, b和c组成的字串(字串内容是随机生成且长度在1~7之间)。

输出: 将连续的相同字母替换成一个字母。

范例:

输入: aabccca

输出: abca

输入: bcbaa

输出: bcba

输入: acabab

输出: acabab

比起前两题,这题才算开始,在看解答之前再想一下吧!

留一点…

空行…

思考一下…

要怎么写…

解答:

aa=a

bb=b

cc=c

游戏画面

游戏画面也是走一个极简风格,仿佛真的在开发程式,或许对完全没写过程式的人来说会是一个有趣的体验!

A=B 实际游戏画面

在游戏内还开发了另一个小游戏叫「盘古计画」,是一个蛮有趣的策略小游戏,故事大致上就是玩家扮演火星上的拓荒者,需要在有限的时间内发展火星殖民地同时尽可能的完成大型建设任务。

希望经过图解以及各种例题能够勾起你的兴趣,主要也是想找一些伴一起讨论,所以快点一起下载来玩玩并讨论解法! (因为后面有点难QQ)

原文连结ITechNote 科技随笔


最后谢谢你愿意花时间来看我的文章,如果还喜欢的话希望能获得你的追踪支持,以及拍手化赞为赏,让我有机会可以发表一篇写文章换啤酒的心得文o((>ω< ))o

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论