zoukankan      html  css  js  c++  java
  • 【C语言】C语言实现双人控制的战斗小游戏

    实现功能

    1.双人分别控制小人移动

    2.子弹碰撞

    3.可改变出弹方向

    4.血条实体化

    前言

    这个游戏是看了知乎一位非常好的老师的专栏后练手写的,(至于是哪位,知乎搜C语言小游戏最牛逼的那位)

    有老师系统性的交这些的确规范了许多,我之前自己摸索写的游戏相对它来说规范性是大大的不抵。

    我大致是看了一个飞机游戏的代码,学会了实时更新函数与用户输入更新函数,与设置子弹体。

    在此基础上我结合我最近学的弹球写出了这个靠风骚走位的双人战斗小游戏。下面是图与具体实现。


    0.游戏主体

       while(1) 
    {
    •        show();  // 显示画面
    •        updateWithoutInput();  // 与用户输入无关的更新
    •        updateWithInput();  // 与用户输入有关的更新
    •   }

    显然这两个简单的思路却开辟了许多新的游戏模式。

    一边局面自动改变

    一边靠用户输入控制改变

    1.双人分别控制小人移动

    其实就是简单的增加一次移动,多加一次方向判断。就简单的实现了双人模式。但重点是给定每个人相应的功能。

    2.子弹碰撞

    你可知道弹球小游戏0.0,实现思路超级简单,碰到边界改变相应的x,y增加值。

    3.可改变出弹方向

    每个角色都有对应的两个方向键实现枪的逆时针与顺时针旋转,也就是可以控制8个方向的开枪。

    4.血条实体化

    每个角色的结构体内有一个life值,每次实时更新用for循环打印life个血条,一旦子弹碰到人,就life减一,实时更新血条。

     

    结语(欠缺):

    我也想过游戏的可玩性我才会做他,毕竟做着有趣,才有动力继续弄下去.经过实测,这个最大的乐趣就是躲子弹。而不是杀人0.0,缺点就是我更新的方式还停留在简单的for循环+清屏刷新打印上,会出现很多的花屏现象。随后我后来学会了新的东西实现的流程的运行。

  • 相关阅读:
    软件测试的常阅博客
    使用Silverlight操作ASPNETDB数据库
    在Silverlight中实现跨域访问
    部署Silverlight应用时遇到的问题
    如何在WPF和Silverlight中取得DataTemplate中的命名元素
    [转] Silverlight Navigation(多页面切换、传值)
    如何让Button点击后不得focus
    VS2010无法连接到SQlServer2008 Database file
    常用的gulp插件
    Android通过http协议POST传输方式
  • 原文地址:https://www.cnblogs.com/404name/p/12177859.html
Copyright © 2011-2022 走看看