「碎论浅谈-2023」0117期

大制作

Hello 大家好,这里是 lhm 的碎论浅谈 2023 第一期。

临近过年,lhm 将在本期碎论浅谈中送给大家一个大制作新年礼物。

往下看。


\(\mathbb{Part.0}\) :前言

前不久我在逛 qq 空间的时候看到一张梗图:

image

乐,现在的化学题出的很新颖啊。然后我就想,要是能真的有这种麻将就好了。

于是 lhm 就开始了实现「元素麻将」的工程。


\(\mathbb{Part.1}\) :实现概况

我决定写一份代码来实现这个「元素麻将」(因为不会手工制作)。我找到了不知道是哪个世纪残留的部分麻将程序肢解片段,再加上一些外界网站上的一些思路和片段首先完成了一个真正的麻将程序。

接下来的工作就是制定一个有效的规则,因此接着就要进行的是排面的设计。

image

至于这个是怎么设计的,首先我先挂上了元素周期表前 20 号代替万和条以及饼的前两张。饼的剩余七张本来想沿用 21 至 27 号元素,但为了实用性,我换成了平时考试中常见的其他金属元素以及碘和溴两种元素。并且饼的前七张完全是按照金属活动性顺序由强到弱的顺序排列的。在打麻将的同时甚至可以背元素周期和金属活动性顺序,设计可谓十分银杏。所以过年不要再打普通麻将力(bushi。

然后东南西北风随便挑了四个幸运金属铂锌钡汞,中发白用金银铜换的。啊很好。现在纸面规则没啥问题了。

然后麻将规则,额,好像采用的是推倒胡。毕竟我也不知道穷胡咋玩()。

吃碰杠的话跟普通麻将规则一样,比如 Na Mg Al 就是一组合法的吃牌组合。碰杠就不多说了。

听牌前会有提示,选择听牌后就无法自己操控了,直到有人胡之前都不可换听的牌。

至于特殊玩法类似十三幺、七小对、大队胡之类的都有。不用担心自己胡的离谱,就连九莲宝灯都支持。

大概实现就是这样。


\(\mathbb{Part.2}\) :目前存在的 bug & feature

目前存在一些小问题,不过基本不会影响体验,不过还是列一下。

  • 由于写代码的时候 lhm 被外星人攻击了,所以不知道为什么碰牌组合和杠排组合不会显示,但吃牌组合是可以正常使用的,不过碰和杠都只由一张牌组成,而且这个 bug 比较难找,所以 lhm 就懒得修了。
  • 由于 lhm 是一个半退役 OIer,所以他并不会搞一些版面设计之类的东西,所以程序运行出来是 exe 格式,画面就十分丑陋。
  • 由于 lhm 在一开始写程序的时候忘记了清屏,并且最后添加清屏功能比较困难,所以 lhm 就象征性加了几个 可能有小部分概率会出现未及时清屏的情况。不过不是很影响体验所以就不修了。
  • 由于 lhm 比较菜,所以 lhm 写出的 AI 自然也比较菜。不知道为啥 lhm 玩了五六次好像一次都没输来着(,不过图个乐呵啊,图个乐呵。问题不大,你让我修我也没法修(bushi。

\(\mathbb{Part.3}\) :Code 及注释

代码最终一共 4148 行。由于太长所以挂个传送门

image

往下翻找到这个源码,点旁边复制即可。用的时候别忘了把第一行的

  • 「```cpp」

和最后一行的

  • 「```」

删掉才能编译。

写给计算机小白的食用方法:在电脑上下一个 VSCode/Codeblocks/Dev C++ 或者啥,只要是个编译器就行,下载的话百度或者软件管理一搜就有。或者找一个在线编译器,把代码复制进去编译并运行即可。

代码运行片段:

image

\(\mathbb{Part.4}\) :写在最后的话

代码是 lhm 在 2023.1.14 晚上完成的。想 van 的朋友就 van,看个乐呵的朋友就看个乐呵。就是偶尔实现点有趣的东西,开心最重要。

大工程,制作不易,看完的朋友在各转载平台上点赞智齿一下。希望大家玩得开心!!1

最后祝大家新年快乐!!1

完结撒花!!1

posted @ 2023-01-16 17:32  Lithium_Chestnut  阅读(141)  评论(0)    收藏  举报