zoukankan      html  css  js  c++  java
  • 最初程序员的思维“修炼”之三属性的思考

    最近我在做一个小游戏——《益路有你》,

      游戏设定:扶老奶奶过马路
      游戏场景:就是有一条左右走向很宽的马路,上面有快速持续运动的车,起始画面就是老奶奶站在一端,需要把她护送到另一端。
      游戏方式:就是像打地鼠一样点骑车,然后汽车可以凭空消失掉,在下一个车开来之前老奶奶可以向前移动一个位置;如果撞到老奶奶,老奶奶就跳回原点
      游戏时长:一分钟,一分钟结束后屏幕上出现你在1分钟内成功解救X位老奶奶,击败X%的 好心人之类字样,最后再弹出“欢迎关注北京大学第一节“益路有你”公益文化节”字样

    大家看到这个游戏的要求,那么你应该从何下手呢?看到游戏的需求,是不是会浮现出很多种老奶奶过马路的情况,你需要最后确定一种最佳的方案。

    下面是我的思路,希望对大家有帮助:

      首先,我不急着打代码,而是先给游戏布局,确定位置。我觉得这是前提,如果UI界面确定之后,那么功能也就确定了。

    这是一个窗口,右边是一个Fill Form 的Panel。

      接着是代码。

      如何编写游戏代码,从何下手?我是按照玩游戏的顺序书写代码的。

      打开游戏——开始游戏——小车和老奶奶移动——点击小车,小车消失——老奶奶被车撞了,回到原点——老奶奶平安过了马路——记录已经过了马路的老奶奶——倒计时60秒——暂停和结束游戏——右边画面呈现,游戏结束。

      小车和老奶奶的移动得用到Timer控件,所以点击“开始游戏”的按钮,小车和老奶奶开始移动,如何三个小车同时移动和移动相同位置时,那么游戏就没有意思了,那么如何让小车交错开过来呢?

      1.设置小车的速度

      2.设置小车的起始位置

    接下来是小车的点击事件,如何让小车消失呢?

      我使用了visible属性,让它不显示,也就消失了,并且这是我设置他的Location为起始位置,这样小车消失并且又有一辆小车开过来.

    接下来是老奶奶被车撞了,回到原点,主要问题在于 老奶奶被车撞的条件是什么?

      1.老奶奶的位置的X坐标必须小于等于小车的位置的X坐标。

      2.老奶奶的位置的Y坐标必须大于等于小车的位置的Y坐标。

    接下来是记录已过了马路的老奶奶,倒计时60秒,暂停和结束游戏,右边画面呈现,游戏结束,这就不说了,太简单了。

    希望对大家所帮助。

  • 相关阅读:
    面向对象编程
    re模块(正则表达式)
    numpy 模块
    hashlib,logging模块
    模块
    使用Python将Excel中的数据导入到MySQL
    [译]学习IPython进行交互式计算和数据可视化(七)
    [译]学习IPython进行交互式计算和数据可视化(六)
    [译]学习IPython进行交互式计算和数据可视化(五)
    [译]学习IPython进行交互式计算和数据可视化(四)
  • 原文地址:https://www.cnblogs.com/yanweiall/p/4438461.html
Copyright © 2011-2022 走看看