第60章 2048和招聘难题(1/2)

一场头脑风暴的早会匆匆结束,几人便又回到了各自的工作当中。

对於林琅而言,今天的工作並不算多。

跟巨硬那边的商单合同已经由兰迪那边协商好发了过来。

不论如何还是要先把这一笔款项拿到手的。

对林琅这个程序方面的全能手来说,小恐龙和2048这两个项目根本不会费他多少时间。

只要搞到美术素材,甚至他可以在今天上午之內就把项目交上。

两款作品全部都是基於javascript创作的web端作品。

根据与兰迪方面的约定,他们只需要將小恐龙这个项目的本体开发出来。

至於如何做嵌入,这些无需他们负责。

而2048则是要以瀏览器插件的形式实现出来。

虽然听起来与前者相比似乎麻烦了一些,但实际上底层的逻辑还是一模一样的。

对於古歌內核来说,所谓的瀏览器插件可以理解为一个小號的弹出网页。

林琅隨手给大家点了杯饮料,然后活动一下手指,噼里啪啦地开始开发。

popup.html和manifest.json创建出来,林琅简单写上几行,便实现了一个插件的弹出窗口。

鑑於跟巨硬方面签订的合同是买断,而非代工,两款游戏的id和相关信息他们是可以保留破晓游戏工作室的。

接下来的工作便很简单了,绘製对应的图像,再藉助js脚本来实现游戏的玩法。

因为要实现无尽玩法的缘故,林琅並不打算为各个数字都准备自己对应的贴图,他有更好的解决方案。

这也是他选择这个项目的一个重要原因。

毕竟现在他们还没有一个专业的美术,一个能够完全程序化美术的项目便是非常合適的。

林琅目光放在绘製出的那个4x4的方格中。

其实实现思路非常简单,將每个单元都视作一个容器,则他真正需要考虑的就是方格的顏色、文字內容、字体大小,以及文字的顏色。

於是乎一个简单的渲染函数便在他手中诞生了出来。

原理並不难理解,这是一个输入int(整数),返回两个顏色的函数,这个输入值便是该单元的数字。

以0作为起点,到int的最大上限,也就是2^31-1,作为一条横轴。

那么相应的,轴的起点为最淡的顏色,轴的终点为最深的顏色,以单元的值作为输入从轴上取插值,便可以实现完全程序化的顏色生成。

而该函数返回的第二个顏色,则为字体应该有的顏色。

在2048中,方格上总是需要显示出一串数字,表示该单元的值的。

而这会存在一个问题,隨著顏色的逐渐变化,同样的字体顏色可能並不能够適用於全部的环境。

为了保持可读性,林琅便额外添加了这样一段控制字体顏色的代码。

即以黑色的近似色为默认显示色,根据先前计算出来的背景色做差值计算,差值小於容差则认为可读性不佳,取白色的近似色作为字体顏色。

本章未完,点击下一页继续阅读。