• 软件工程迭代开发第一篇


    今天我自己的任务是针对用户提的“输入用户名和密码的时候没有光标闪烁,导致我们用户不知道是否选中”问题做的修改。

    我给出的初步解决方案是一个十分简单的办法,当鼠标点击框体内部,会将cur变量置1,而在draw()函数中判断,如果cur==1则在框体中画一个小的图形,提示选中。效果图如下图所示:

    而具体的实现代码则为:

    if (cur)
            {
                //draw enter line signal
                glColor3f(1, 1, 1);
                glBegin(GL_POLYGON);
                for (int i = 0; i < n; ++i)
                    glVertex2f(x + 0.02 + R*cos(2 * Pi / n*i), y - h / 2 + R*sin(2 * Pi / n*i));
                glEnd();
            }

    代码是画圆,但我借用了程序框体是矩形的特点,压缩了圆,显得像一个箭头。这是一种偷懒的办法,更加优化的实现后面会再做改动。

    ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————

                                                            我是分割线

    ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————

    这个新功能并不能花费一整天的时间,今天额外的发现是在玩游戏的过程中发现的。当我用一个账号玩了一会之后,关闭程序下线,服务端显示已经存储新的用户信息,不关闭服务器的情况下再次启动游戏,登入那个账号,当玩家被怪物攻击的时候,服务器会崩溃退出。

    经过我们的分析,原因是出现了指错的指针。当怪物攻击玩家时会查询玩家链表,而登入登出会造成玩家链表的改动(创建和删除)。所以再登入时,由于我们写的怪物攻击时的查询算法有问题,查询出了错误,指针指到了不知道什么鬼地方,导致了服务器的崩溃。经过我们的改动这个问题得到了解决。具体的改动可见王辰成同学的博客。

  • 相关阅读:
    javascript闭包
    Anaconda快速加载opencv
    Opencv3.0python: 编译报错color.cpp:7456: error: (215) scn == 3 || scn == 4 的解决方案
    Vivado 调用自定义IP核
    Xilinx与modelsim的仿真联调
    Altera三速以太网IP核使用(上篇)之快速仿真
    opencv+python视频实时质心显示
    FPGA千兆网UDP协议实现
    MySql添加数据语句
    聚合函数 及执行机理
  • 原文地址:https://www.cnblogs.com/Dmmuistirci/p/5624848.html
Copyright © 2020-2023  润新知