圣诞新作Flying Stone发布

游戏简介

Flying Stone是一款益智类物理游戏。游戏中,玩家通过轻敲屏幕,抛出系在旋转杆上的石头来攻击飞出的小鸟,以此得分。不同难度的小鸟,击中后得分也有所不同。游戏限时90秒,游戏结束后会上传你的得分,并得到你的全世界排行。

本游戏目前支持Android版和在线版。

Flying Stone

如何开始

访问游戏主页,你可以在其中找到所需的版本:

http://wyh.wjjsoft.com/pages/flying_stone/

阅读全文 →

挑战速度,2小时完成HTML5拼图小游戏

初学lufylegend.js之日,我用lufylegend.js开发了第一个HTML5小游戏——拼图游戏,还写了篇博文来炫耀一下:HTML5小游戏《智力大拼图》发布,挑战你的思维风暴。不过当时初学游戏开发,经验浅薄,所以没有好好专研游戏里的算法和代码的缺陷,导致游戏出现了很多bug,甚至拼图打乱后很可能无法复原。最近经常有朋友问起这个游戏,希望我能把代码里的bug改一下方便初学者学习,顺便我也打算测试一下自己写这种小游戏的速度,所以就抽出了一些时间将这个游戏从头到尾重新写了一遍,计算了一下用时,从准备、修改素材到最后完成游戏,一共用了大约2h的时间。

以下是游戏地址:

http://yuehaowang.github.io/games/puzzle/

这是我的游戏记录,欢迎各位挑战:

我的纪录

接下来就来讲讲如何开发完成这款游戏的。(按“编年体”)

阅读全文 →

算法研究:利用Python解决数学计数原理问题

最近数学修行到“计数原理”部分,前几天做作业时遇到这样一道数学题:

用四种不同颜色给三棱柱六个顶点涂色,要求每个点涂一种颜色,且每条棱的两个端点涂不同颜色,则不同的涂色方法有多少种?
题目配图

当我看完题目后,顿时不知所措。于是我拿起草稿纸在一旁漫无目的地演算了一下,企图能找到解决方法。结果一无所获。今天终于等到放假了,于是打算通过程序算法解决这个问题。经过2个多小时的研究,终于完成了代码,并求得了答案。

由于Python写起来比较方便而且本人比较喜欢Python的语法,所以研究算法时我通常采用Python,此次也不例外。以下就是整个算法的实现过程。

阅读全文 →

证明:sin'x = cosx

初三将近毕业的时候老爸给我买了几本数学相关的书籍。还把他的大学教材翻出来给我看,希望我去提前学习高等数学。很遗憾,当时的我对于这些东西完全不感兴趣,所以就不屑一顾,往书架上一扔就是两年。不久前,自己在数学教科书上看到了积分。书中运用积分的知识求得了一个曲边形的面积。当时我就傻眼了,什么!数学居然可以这么神奇。我这才意识到自己的无知,并且激起了我强烈的研究数学的欲望。这段时间里,我相继学习了导数和定积分,越发觉得数学的高深,决定提前学习大学里的高等数学。

大学课程中,第一个难题就是极限。有了它,才有导数、积分……

经过一个半月的课余时间学习,我大致地掌握了极限的一些知识。于是我决定使用它来解决一个我在导数学习过程中的一个问题:证明sin’x = cosx。

以下是我经过研究,得出的证明过程。

证明过程

首先根据导数定义,我们得到以下几个式子:

证明过程 之一

阅读全文 →

Web App:波的叠加演示

最近物理学到波的叠加了。什么是波的叠加呢?简而言之,就是两个波传递到相同质点时,对该质点产生的共同作用。
课堂上,物理老师使用flash动画为我们演示了正弦波的叠加方式。不过由于演示程序的用户体验不佳、学校电脑较难操作、老师使用不当等种种原因,为了播放这个动画,老师可费了不少功夫。由于我本来就对这部分内容比较感兴趣,所以抽空研究了一下,用HTML5 + JavaScript制作了一个Web App,用于演示波的叠加。截图如下:

波的叠加演示 截图之一

阅读全文 →

JavaScript计算圆周率(解析几何+定积分)

最近数学预习到选修本的定积分,前一向用它解决了物理上的正弦交流电有效值问题,前几天突发奇想,想用它来计算圆周率。于是我花了半节物理课的时间研究了一下,得出了以下求解方法。

首先我们知道半径为r,圆心为(0, 0)的圆的方程是:

圆的方程

不过这个是个方程,无法使用积分求解,所以我们要对它进行变形,变成一个函数。根据本人多年刷题经验,要把其变为函数,只需取一个半圆即可,获取半圆则需将其变形为:

半圆的方程

阅读全文 →

Python开发接水果小游戏

我研发的Python游戏引擎Pylash已经更新到1.4.0了。现在我们就来使用它完成一个极其简单的小游戏:接水果。以下是游戏截图:

接水果 游戏截图

游戏操作说明:点击屏幕左右两边或者使用键盘方向键控制人物移动,使人物与水果接触得分,碰到非水果的物品,如碎玻璃,就会game over。

创建项目

首先在工作目录创建一个名为get_fruits的目录。然后到Github下载Pylash。引擎是基于Python3和PyQt4构建的,所以在使用前请确保你使用的是Python3并且安装了PyQt4。如果没有,可以在上述项目地址中找到他们的相关网页链接进行下载安装,安装和配置步骤都十分简单。这里不再赘述。

下载完Pylash后,我们得到这样的目录结构:

1
2
3
4
5
6
7
+- pylash_engine/
|
+- pylash/
|
+- demo/
|
+- examples/

阅读全文 →