Giter Club home page Giter Club logo

krad's People

Contributors

ignoramus0817 avatar joanzs avatar jurvis26 avatar kradnosnatef avatar wispytrace avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

krad's Issues

软工项目团队总结

我们的团队项目《激斗红潮》的开发就快告一段落了,经过几个月的合作开发,我们团队取得了令我们自己满意的成果,基本在web端实现了张行健同学在高中设计的游戏。我们学到了很多软件工程相关的知识,也积累了一些失败的教训。

首先从技术上说,经验丰富的架构师会给团队的技术选型带来巨大的红利。技术栈没有好坏之分,适合的才是最好的,选择技术栈时,一定要综合考虑不同团队成员的掌握的不同技能,让大家都能在团队中发挥出最大的效果。分工与合作也是很重要的。在开发过程中,技术难点的突破,隐含 bug 的发现与修复,架构设计和重构,api 的设计对分工与合作的要求都不尽相同,例如,技术难点的突破和架构设计就应该让经验丰富的工程师来做,而隐含 bug 的发现则需要群策群力。我们的小组中没有一个成员有过页游开发的经历,而且好几个成员没有大型项目的开发经历,经过这次训练,我们对游戏开发和团队协作开发都有了一定的了解。

再说项目管理。首先是任务分配,我们采用 issue 的方式分配任务,类似于大公司的工单制。在 issue 中,我们可以提出新特性,可以报告 bug,可以记录 api 使用方式等。在快速迭代开发的过程中,一个 issue 约等于一次小的迭代,即修改一个新功能,或修复一个 bug。issue 配合 milestone 使用时还可以显示当前进度,和燃尽图有异曲同工之妙。项目的开发过程我们力求规范,在项目开始前,我们就认真学习了阿里的《Java 代码规范》,并针对我们项目的具体情况,拟定了我们自己的代码规范,并认真执行了。针对 git 的使用我们也拟定了一套工作流程。刚开始的时候大家对 git 的使用还很生疏,后来我们就都能很好地处理冲突、分支、合并、回滚等问题了。团队的考核也是相对规范的,我们每个工作日都会让大家在群里总结自己今天的工作,让大家看到自己和别人的差距。在开发过程中,组长会对一些工作进行点评,既有褒扬,也有善意的批评。除了工作上的合作,我们有时还会一起玩我们自己设计的游戏,一起吃零食,一起聚餐,总之,我们团队相处得非常融洽,工作效率也很高。

最后,我们再次对张世聪同学和陈其华同学表示感谢,虽然你们没有选这们课,但你们也是和我们一起并肩作战的组员,真心谢谢你们的付出!

前端重构

目的:增加缓存,提高前端响应速度;简化架构,方便共享全局数据。
方法:对于原生控件,将多个html页面合并到同一个html页面中,用 div 包起来,一次只显示一个 div;对于 phaser 画布,则用 state 封装各个场景。
新加一个窗口(以 home 为例):

  1. 在 krad.html 中,控件用 div 包起来,id 为 home,且默认不显示。
  2. 在 krad.html 中,引用 home.js
  3. home.js 中定义 var state_home = { 'preload':function(){}},在 preload 中直接画图即可,不需要加载图片资源。preload 函数中应该调用 show("home");
  4. game.js 中增加 game.state.add('home',state_home);
  5. 其他地方如果需要跳转到 home,则 game.state.start('home'); 。在超链接中跳转则 href="javascript:game.state.start('home');"
  6. 全局变量在 global.js 中进行声明,目前声明的全局变量有 sid 和 user

美化游戏界面和用户界面

1、Help界面字体。
2、游戏界面地图和手牌区域都不能在一屏之内显示,需要鼠标滚轮滑动,非常麻烦。
3、地图格子较突兀,且人物显示很小。
4、用户界面的细节不够完全

改进游戏进行界面

1、开始游戏后需要“回到大厅”的选项,而非重新开始必须关闭网页。
2、游戏进行过程中,游戏给玩家提供的信息太少,需要增加提示。

成就和分数

需要奖励、成就和分数系统,同时这个和英雄人物有关。

聊天室

我是王境泽,让你有好的!

GambleChecker 和 PlayerChecker改动

游戏设计改动后,GambleChecker 和 PlayerChecker需要进行一定的改动。
//cards{strategy,skills}
//least energy consume = 4
//energyLim = cardNumLimit = healthPoint

God的异步(2 周内)

游戏开始时,God被实例化(获得SID数组)。
God中要有一个request(int SID, string msg)函数来:获得玩家(sid)消息,理解msg,并根据其内容调用god的其它函数,获得需要返回的结果string,(并送回前端->NiceKingWei)。
request调用的god的其它函数,如果需要改变God中数据,则需要使用synchronized(同步)。如果需要等待:调用wait。等待:例如需要等待其他玩家操作,但不能用while(1)忙等=>在所有玩家都可以进下一步的时候使用notifyAll来唤醒其它等待中的线程。

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.