“只要知道了一切,一切都会变得简单……”,我敢肯定,有名的人就这样说。
就像看到一片森林,种下自己的树木,想知道为什么草地不长。 然后,您意识到大自然母亲已经做了很长时间了。 她知道自己在做什么!
显然,学习新技术是一回事。 观看YouTube视频,阅读博客文章,编写编码以及在线课程,一切看起来都非常简单。 逻辑的声音,工作流程的系统性以及您唯一需要担心的是错别字和一些错位的分号。 充满信心,充满新知识,您可以自己解决看似“容易”的项目。 过去一周对我来说就是这样。 我有一个全新的存储库和一张纸,上面有一个非常简单的纸牌游戏的概要。
然后我花了两个小时才弄清楚从哪里开始。
我想如果没有教程或博客文章或有人牵着我的手,我将自己的第一个游戏编码为第一次尝试创造某些东西并没有帮助。 是的,在线上有无数的资源,文档在那里,我可以一次又一次地浏览相同的视频。 但是,所有这些都是从非常不同的目的开始的,并且具有几乎不复杂的示例。 尽我所能,我只是不知道该怎么走!
值得庆幸的是,这是在2016年9月之后,“ create-react-app”得到了拯救。 从我的角度来看,我是新手,这太棒了! 无需构建自己的配置文件,也无需弄清楚启动React应用程序所需的插件。 一切都在这里,甚至还告诉您开始播放哪个文件。
当然,我要做的第一件事就是更改图标图标(在浏览器窗口选项卡上的文本旁边显示的那个小图像)。

然后,我清理了互联网,看看其他人如何实现类似游戏的逻辑。 我玩了一些其他的用React写的简单游戏,通过代码进行梳理,发现没有“简单”的出路。 我发现所有人都使用了其他“东西”,例如Redux,Flux等,并且为了从某个地方开始而不“放弃”并放弃,我想只保留我的React。 即这个孩子是我自己的,指关节向下,咖啡因向上,开始破裂!
随着游戏逐渐成形,我开始意识到实际编写游戏有多困难。 告诉计算机采取许多步骤,以至于我们人类都认为是理所当然的。 我们对两张牌之类的东西做出了内在的结论,而我不得不编写代码来访问状态以获得代表匹配项的state属性。 是的,这很麻烦,代码也是如此。 首先。

最终,我对一个可怜的吸盘人的建议进行了几次重构,一个可怜的吸盘人通过Slack渠道提供建议(保佑他的心),和一个奇妙而令人惊奇的丈夫,她担心看到我流泪太多次了。 当然,我应该接受他们俩都提供的一项建议:将数据结构从对象更改为数组。
我没有 我很固执,决心继续使用对象。 好吧,出于完全开放的目的,我实际上对打破几乎可以正常工作的游戏而感到震惊,却不知道如何解决(小时候,我为打破盘子而哭,这就是我的样子)。 我还决心学习如何使用对象。
当亲爱的丈夫与我配对时,动量加速了。 虽然他不是React方面的专家,但他懂JavaScript,并且对我有20多年的经验。 当我在考虑是否要使用.map,.filter,.find或.forEach时,他前面的三个功能着眼于(非理想的)数据结构。 我们做到了,我说“我们”,因为如果没有这些时间在一起,我可能仍然会用远远超出要求的代码库来破解它。
是的,它不是完美的,是的,数据结构不是理想的,是的,它不会获得任何设计奖,但是可以工作。 这是一些有兴趣的人的小图片:

这是一个巨大的学习曲线,但我很高兴做到了。 通过学习,不仅是观看,而且学到了很多东西,我当然对游戏编写的复杂性有了新的认识! 虽然我现在很累,但不疲惫,看着所有的东西融为一体,这很有趣。 对于新手来说,还是没有休息的余地,但是一天之后就完成了单元测试,是时候进一步介绍其他内容了。
PS对于那些真的想看代码的人,这里是一个链接: https : //github.com/TinaHeiligers/memory-cards
我不是专家,但可以随意使用它。
PPS游戏尚未部署,还没有演示。