游戏创意投稿大赛之疯狂二次方

我正在参加掘金社区游戏创意投稿大赛个人赛,详情请看:游戏创意投稿大赛

创意游戏之疯狂二次方

前文

本文内容主要为游戏创意投稿大赛参赛作品,游戏名称为疯狂二次方。该项目是一个简单的h5小游戏,主要基于egret游戏引擎开发。项目的主要内容为益智类游戏,随机生成某个数字,在规定时间内等待玩家计算平方结果。根据一定的算法给予玩家积分,最后通过积分作为最后的游戏成绩。

游戏整体思路介绍

首先来看一下游戏设计方面的思考。本游戏主要基于让玩家在游戏过程中对于一些常用平方数的计算。游戏的规则主要是进入游戏后,会在60秒的时间内进行作答。基础分数为3分,答对1次加一分,但同样的平方数的取值范围也会从0-20增加为0-30。连续答对则会连续提高游戏的分值,但也会扩大计算范围增加难度。一旦打错或跳过,分值会回到3分同时范围回到0-20。玩家共有60秒时间及三次跳过机会,最后计算统计游戏的总分值即位游戏结果。

游戏技术方案讨论

本游戏的技术方案主要是采用了egret引擎作为开发的基础。通过egret引擎中对于皮肤的绘制,得到我们主要的游戏画面。而与此同时,我们采用了ts语言作为开发的主要语言。在页面中发生点击事件时,利用按钮的id与程序内id的关联,即可绑定对应的按钮操作,例如:

this.startBtn.addEventListener(egret.TouchEvent.TOUCH_TAP,(event:egret.TouchEvent) => {
			this.startGame();
		},this);
复制代码

当按钮发生点击事件时,会调用startGame方法执行后续的逻辑。该游戏开发的核心功能主要是对于ui的交互。通过按钮的点击,进行计算的响应或相关按钮、文字的显示及隐藏。利用皮肤中与游戏脚本中id的关联,实现数据与画面的绑定。而我们的分数逻辑,则通过提交计算结果按钮所绑定的函数进行计算。

private submitQuestion(){
		var answer:number = Number(this.inputResult.text);
		this.inputResult.text = "";
		if( answer == this.question * this.question){
			// 具体的算法逻辑,待确认
			var doubleScore = this.question % 5 == 0 ? 2 : 1;//能被5整除2倍
			var doubleScore = this.question % 7 == 0 ? 3 : doubleScore;//能被7整除3倍
			this.currentScore = this.currentScore + this.baseScore * doubleScore;
			this.scoreLabel.text = "当前积分:" + this.currentScore;
			this.baseScore++;//积分基础分数变更
			this.questionRange += 10;//范围变更
			this.randomQuestion();
		}else{
			this.baseScore = 3;
			this.questionRange = 20;
			// 提示回答错误
			this.alarmLabel.text = "回答错误,积分基数重置为3";
			this.alarmLabel.visible = true;
		}
	}
复制代码

简单的来看一下游戏皮肤内容的结构:

image.png 该游戏相对而言ui比较简单,因此主要的皮肤组成内容比较少。多数为文本控件、按钮控件,以及一些输入交互的组件。通过他们在脚本中的逻辑绑定,实现该游戏的整体结构。

另外由于当前未采用服务器进行相关的数据存储,因此目前的最高分均为浏览器中的缓存,存储在localStorage中。当浏览器清除缓存时,会出现历史分数消失的问题。

最后再来看一下该游戏整体的文件目录:

image.png 根据结构所示,ts部分为我们的脚本代码,用于逻辑的控制。而resource中则包含了资源文件以及皮肤文件,二者配合则成了当前的游戏。

至于游戏的启动方式,需要利用egret引擎编译或发布后,将资源文件放置在服务器的对应目录本地电脑中。服务器的目录可以直接访问,本地linux和mac可以直接点击index.html访问,而windows则需要在当前目录开启http服务端口开放请求才能进行游戏。

扫描二维码关注公众号,回复: 13797672 查看本文章

一些游戏截图

image.png

image.png

image.png

该游戏仅为个人的学习项目,不足之处很多还请读者见谅。奉上游戏体验链接http://182.92.68.73:9009/web/v1.0/index.html。个人小服务器承受不了各位大神的压测,还请手下留情。服务器难免出现卡顿,各位请多包涵。

后记

  • 千古兴亡多少事?悠悠。不尽长江滚滚流。

猜你喜欢

转载自juejin.im/post/7087929055202246693