Giter Club home page Giter Club logo

adapted-game-snake's Introduction

devoted to zxx

这是 kindect/Adapted-game-snake 的主页面

英文版本(English version):https://gitee.com/kindect/Adapted-game-snake/blob/master/README-en.md

初衷:

当我设计这个项目的时候, 其实如果要说的话, 我的思维其实已经快要固化了, 但是主项目下点子还是不错的, 包括毒药(这个点子就是从那里来的)

当然还要感谢很多很多人, 很多很多项目

主力机是PC, 写代码用的是Visual Studio, 很多人说它太笨重, 一次安装要占用20多G, 我想告诉这些人,(我安装了一个分区(大概120G左右)), 笨重也许不是一件坏事, 稳定才是好事, 编译效率奇高

PyInstaller的问题我也许会解决吧, PyWin32的问题太多了, 一个老版本的依赖库通常就会导致程序不稳定

Pygame其实就是这样一个框架, 用SDL写的库文件, 效率能稍微比PyQt高那么一点吧, 但是都需要runtime, 所以效率其实=fart, pygame中很多没用的文件, 但是还是选择了它, 原因在于, 使用python编程, 其实就是为了时间来的, C#程序一样写, 效率也会高不少, 但是既然使用了Python, 效率就一定要有保障

程序本身开始写的时候只花了一天, 网课的时候偷摸写的, 效率还行, 占用1-3%的CPU(i9-9900K, 对, 就是那个套壳i7), 后来说要封装class, 觉得没什么, 但是bug就是从这里出来的, 我不想对这种事情做什么评价, 但是bug太多肯定影响用户体验, 已有的bug我觉得还行

我觉得, 作为一款游戏, 那么可玩性一定是最低标准, 目前可玩倒是可玩, 尤其注重用户体验, 我从一开始就很鄙视方块的设计, 所以自己用Photoshop画了蛇的身体, 创意要说的话其实也不多, 倒是拿这个项目魔改应该不错 蛇身 后来就是PEP规范, 这个规范简直离谱, 但是为了可读性, 我也加了不少注释(我本人很讨厌写注释, 但是, 对于'代码被阅读的次数总比编写的次数多的原则, 我还是写了注释, 而且详细解释了这些原则')

comment

comment

谁要再说我不写注释, 我就和谁急:D

一个程序, 最重要的就应该是, 把选择权交给用户, 开源程序当然是其中的一种, 之前写代码都是"开源是一种美德, 也是实力", 但是之前写代码都是缝缝补补, 从来不封装class, 现在开源是要求, 但是不写注释的开源还不如不开源.

把选择权交给用户的理念的体现便是, 把文件(图片, 音频, 字体)都拿出来放在外面 resouce/去, 其它仓库\项目也许可以直接把这些文件拿走, 但是也务必贯彻这一种精神(如果你要闭源的话)

repo的访问量很高, 有图为证, 但是下载量不高, Download Zip的人也不高, Star也只有4个, 其中一个还是我自己

access页面

有些人刷star的, 看看点star的人你就能发现, 新注册, 没有repo, 就点了一个赞, 然后就跑了

如果你怀疑我不认真搞项目, 你可以看看commit数量:D

现在可以下载release然后开始吟唱~

愿景:

  1. 发到pypi上面, 以后直接pip install tsnake
  2. 这辈子没有bug
  3. 拿到奖品(:D)

技术参数:

程序使用Python编写, 仅供参赛使用

使用要求的木兰-2开源协议(MulanPSL-2)

关于本项目代码的更多信息可以在wiki上找到

依赖: Pygame sys time random threading

注意 当前版本并不稳定 release都是稳定的

对PyInstaller的支持走到尽头, 所有用户麻烦runtime

Mac OS 已通过测试, 但是尤其是在Big Sur上安装编译Pygame太困难了, 所以不推荐

在Windows上运行情况:

展示图片1 展示图片2

最新发行版

https://gitee.com/kindect/Adapted-game-snake/releases/v1.0.2

编译:

使用Visual Studio编译

  1. 下载repo

git clone https://gitee.com/kindect/Adapted-game-snake.git

  1. 打开Visual Studio, 选择打开项目或解决方案(或者跳过第一步, 从远程仓库clone)
  2. 选择repo里面Tsnake.sln
  3. 按下F5开始调试, 按下Ctrl+F5来运行(不调试)

Pycharm

git clone https://gitee.com/kindect/Adapted-game-snake.git cd Tsnake/ Then use pycharm to open the program

其它(Vi硬汉)

git clone https://gitee.com/kindect/Adapted-game-snake.git cd Tsnake/ python3 -m pip install pygame python3 Tsnake.py

目前的功能

实现方法可参考wiki, 图片可在这里下载:

2

2

Just to show a bit

  • 丝滑的移动(不再是方块)
  • 默认刷新频率60fps(可以更改)
  • 多食物(默认是3个)
  • 多毒药(默认是3个)
  • 音效(buttercup by Jack Stauber(握紧我的抱枕~~))

Bugs:

如果你发现一个bug, 请提出Issue或者更好, PR

  • 发行版有时提出一个runtimeError并指出foods中food是一个NoneType(需要复现)
  • 毒药分辨率低

低分辨率

  • 死亡屏幕导致程序宕机(目前的解决办法是停掉这个功能, 代码在注释里面)

TODO:

  • 多人模式(脱机)(已抛弃该方案, 写过一个flask后台, 惨不忍睹, 效率奇低)

  • 机器人

  • 毒药

  • 显示分数

  • 死亡显示(with bugs)

adapted-game-snake's People

Contributors

imgbotapp avatar kindect avatar

Stargazers

 avatar

Watchers

 avatar  avatar

adapted-game-snake's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.