Code Monkey home page Code Monkey logo

alienandwarcraft's Introduction

AlienAndWarcraft

《Python编程:从入门到实践》第一个小项目,外星人大战。本仓库有两个分支,master为书里原版的个人简单修改。developer为开发版本,主要计划做美化以及游戏逻辑,可能会重构代码结构。

master分支与原版区别

  1. 修改了计分板文件scoreboard,增加代码复用。个人设计是,计分板是一块完整的面板,其中分割为不同部分。

  2. 增加了最大帧率。原作没有这个是个很大的遗憾,很简单但能大幅度提高游戏的可玩性和完整性。

  3. 一些小改动,例如注释,部分方法的实现,还有部分函数间关系的逻辑(主要有些部分没看书自己写的,后面就发现有出入,干脆按自己想法写了)

  4. 去掉了最高分和剩余飞船数量显示(懒),稍微改了下计分板布局。

master分支后续计划

  1. 重构代码:部分代码依旧复用性不好,冗余,组织上也稍乱。

  2. 增加一个系统些的比较,例如框架整理,常用方法

developer分支计划

1.美化工作

  1. 替换背景

  2. 令背景滚动

  3. 替换飞船、外星人、子弹图标

  4. 增加爆炸特效

  5. 修改计分板图标和显示效果

2.游戏逻辑

  1. 外星人增加速度属性,令它们与窗口做完全弹性碰撞

  2. 每行不再排满外星人,而是按一定分布,随机个数

  3. 外星人的掉落不是直线/折线, 而是一定的函数曲线

  4. 外星人掉落速度不再一致

  5. 升级后的子弹可增加碰撞体积和外观

  6. 增加部分精英/boss外星人,让子弹和外星人都有数值,不同外星人需要不同数量的子弹

3.窗体相关

  1. 增加最小化游戏自动暂停功能

  2. 修改为可拉伸游戏窗口

  3. 在可拉伸窗口的基础上,动态修改速度和外星人数量

其它

pygame教程推荐:

https://www.bilibili.com/video/BV1XW411E7vb

一个大学老师的慕课,以一系列短视频的形式讲解入门pygame。前几个视频内的例子与本项目如出一辙,老师做了很好的总结和思路分析。每个视频都很短,不担心没耐心看,总长度也仅仅2小时。建议1.25倍速食用。

欢迎issue唠嗑

alienandwarcraft's People

Contributors

yyihuan avatar

Stargazers

sengluty198 avatar

Watchers

 avatar

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.