100 行 Python 山寨了下上周比较火的那个呻吟游戏,坐等被喷

2017-03-01 14:30:38 +08:00
 Crossin

就是前几天有个很火的岛国小游戏,对着话筒喊,里面小人就会走啊跳啊的《休むな!8 分音符ちゃん?》

花了半天时间,用了大概一百行代码,用 cocos2d-python + pyaudio 改了下。

然后昨天又就着自己的恶趣味,改得更魔性了一点。还加了个联机的排行榜。玩起来画风是这样的:

https://v.qq.com/x/page/z0380ogn3e7.html

游戏和代码都可以下载:

游戏 win 版: http://git.oschina.net/crossin/learn-python/raw/master/voicegame/build/ppx-win.zip

mac 版: http://git.oschina.net/crossin/learn-python/raw/master/voicegame/build/ppx-mac.zip

windows 解压后运行 game.exe ,不要在有中文目录下,确保电脑有话筒。 mac 解压后右键打开,不然会提示不信任。

源码: http://git.oschina.net/crossin/learn-python/tree/master/voicegame

另外之前还是用 cocos2d-python 写过《贪吃蛇大作战》:

https://v.qq.com/x/page/n0326alzz7n.html

贪吃蛇源码: https://github.com/crossin/gluttonous

6359 次点击
所在节点    Python
31 条回复
est
2017-03-01 14:36:15 +08:00
66666 很不错~
kevinroot
2017-03-01 14:36:48 +08:00
魔性~
zzutmebwd
2017-03-01 14:40:44 +08:00
感觉这个游戏做成手机版很有前途
Tink
2017-03-01 14:41:40 +08:00
666666666666666666
kamen
2017-03-01 14:43:41 +08:00
魔性的游戏
liyu001989
2017-03-01 14:48:34 +08:00
6666666
xiahei
2017-03-01 14:49:12 +08:00
来喊一把 66666666666
Crossin
2017-03-01 14:52:19 +08:00
@zzutmebwd 最初想法想做成 html5 版本,但尝试了下,发现对声音输入的支持太差了
chenqh
2017-03-01 14:56:05 +08:00
@zzutmebwd 已经有人做了。。
newworld
2017-03-01 14:58:50 +08:00
支持 皮皮虾 你很皮 我给你说 不要皮 打死你!
lxw0109
2017-03-01 15:00:05 +08:00
学习到了,赞一下!
lxw0109
2017-03-01 15:00:44 +08:00
没有共产党, 哪里会有新中国!
vuser
2017-03-01 15:09:47 +08:00
66666
ragnaroks
2017-03-01 15:18:18 +08:00
稳!
orzfly
2017-03-01 15:20:45 +08:00
2017-03-01 15:20:07.915 game[6291:3338306] 15:20:07.915 WARNING: 140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Traceback (most recent call last):
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/cx_Freeze/initscripts/__startup__.py", line 12, in <module>
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 24, in <module>
File "game.py", line 137, in <module>
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/cocos/director.py", line 406, in run
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/pyglet/app/base.py", line 136, in run
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/pyglet/app/base.py", line 165, in _run_estimated
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/pyglet/app/base.py", line 274, in idle
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/pyglet/clock.py", line 300, in call_scheduled_functions
File "game.py", line 83, in update
File "/Users/crossin/Downloads/code/PURE_PYTHON/lib/python2.7/site-packages/pyaudio.py", line 608, in read
IOError: [Errno -9981] Input overflowed

Mac 版运行后闪退,这个是终端里直接运行主程序得到的日志 :)
Crossin
2017-03-01 15:28:34 +08:00
@orzfly 每次都会吗?
这个应该是音频输入没找到的问题,你是不是 mac-mini ?插上个耳机(或者拔掉)再试试看
Crossin
2017-03-01 15:30:49 +08:00
@chenqh 但讲真, high 一下还好,真的做成游戏,每天都对着喊可吃不消
另外,肯定不是 ios 版吧,以现在国内游戏审批的尿性……
orzfly
2017-03-01 15:39:09 +08:00
@Crossin #16
MacBook Air ……
Crossin
2017-03-01 16:04:04 +08:00
@orzfly 我大概猜到是什么问题……但不确定,因为我这里确实偶发过,很难重现。
就是打开来如果读取时间长了一点,声音那里就会报错。我尝试改过,现在看来还是没改对。

如果你是从源码运行的话,可以试下把
self.NUM_SAMPLES = 1000 # pyAudio 内部缓存的块的大小
这个值改得大一些,可能就好了
byron
2017-03-01 16:26:06 +08:00
Crossin 的作品啊,支持一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/344071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX