欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

宅在家里无聊?不如体验一下修改小游戏的快感

程序员文章站 2022-03-22 17:39:04
...

(一)这是用JavaScript编写的小游戏

这一切的一切都要从一只蝙蝠说起… …这只蝙蝠导致了很多人不得不变成了宅男宅女,我也是其中一名宅男,打发无聊的时光的方法除了学习,就是游戏…然而玩一些大型的好游戏需要投入一定的精力和金钱,这些我都没有,于是我——盯上了小游戏。
正巧最近在学习JavaScript相关的知识,玩个相关的小游戏还能学习学习。
然后我就发现了下面的这款小游戏,玩了一玩,甚至有些上瘾,具体规则是:这个蓝色的方块是玩家操控的角色,金色的小圆点是金币,需要被玩家全部触碰,接着进入下一关,红色的是岩浆,玩家触碰会死亡,游戏没有生命数量的限制。
值得一提的是游戏的操做手感很像超级玛丽,跳跃触感很好,而且跳的很高,游戏的地图直接呈现给你,有一种掌握全局的感觉。
宅在家里无聊?不如体验一下修改小游戏的快感
前两关玩的还算顺利,到了第三关我也勉强过去了,但是到了第四关我实在没有了耐心,我还想接着往下玩,那怎么办呢?不如修改一下,哈哈宅在家里无聊?不如体验一下修改小游戏的快感

(二)思路

1.最简单的方式就是找到源码,直接改宅在家里无聊?不如体验一下修改小游戏的快感

但是我发现下载源码好像要钱…

2.在浏览器中把js代码拷贝过来

但是宅在家里无聊?不如体验一下修改小游戏的快感

3.还是想办法把源码搞到手吧

这里不让下载我换个让下载的地方,但是在js的游戏堆里找就像大海捞针,我还不知道游戏叫啥名,于是我就用了百度识图,果然没让我失望宅在家里无聊?不如体验一下修改小游戏的快感

4.也可以用ce修改金币的数量,岩浆的分布等等,但是比较麻烦,我就没尝试

5.最后把岩浆改成wall的属性就行了

(三)Just Do

经过我的一番分析,最后找到了要点

function Level(plan) {
	this.width = plan[0].length;
	this.height = plan.length;
	this.grid = [];
	this.actors = [];

	for (var y = 0; y < this.height; y++) {
		var line = plan[y],
			gridLine = [];
		for (var x = 0; x < this.width; x++) {
			var ch = line[x],
				fieldType = null;
			var Actor = actorchars[ch];
			if (Actor)
				this.actors.push(new Actor(new Vector(x, y), ch));
			else if (ch === "x")
				fieldType = "wall";
			else if (ch === "!")
				fieldType = "lava";//在这里吧lava改成wall
			else if (ch === "|")
				fieldType = "lava";
			else if (ch === "=")
				fieldType = "lava";
			else if (ch === "v") {
				fieldType = "lava";
				console.log(fieldType);
			}
			gridLine.push(fieldType)
		}
		this.grid.push(gridLine);
	}
	this.player = this.actors.filter(function(actor) {
		return actor.type === "player"
	})[0];
	this.status = this.finishDelay = null;
}

修改完成之后的模样
宅在家里无聊?不如体验一下修改小游戏的快感
这里的小红色岩浆并没有杀伤力

(四)总结

难点还是在找到源码,这也就是针对小游戏,毕竟不会有谁把一些大型游戏的源码泄漏的,不然的话要反编译器干什么。

感觉…还是让我有进步的,学习了学习了,谢谢游戏的作者。

然后我终于玩完了第四关,结果发现后面没有了…
宅在家里无聊?不如体验一下修改小游戏的快感