zoukankan      html  css  js  c++  java
  • homework-06

    先说我的填充部分

            public void playPrev(GoMove gm) //如果没有上一步
            {
                if (m_gmLastMove == null)
                {
                    return;
                }
                Grid[m_gmLastMove.Point.X, m_gmLastMove.Point.Y].removeStone();//删除这个点
                m_gmLastMove = gameTree.peekPrev();//更新上一个点
                if (gm.DeadGroup != null)//原来的点有气
                    foreach (Point pt in gm.DeadGroup)
                    {
                        repaintOneSpotNow(pt);
                        Grid[pt.X, pt.Y].setStone(gm.DeadGroupColor);
                    }
                optRepaint();//重画棋盘
            }

    这个只要知道变量是干什么的就很好写了。

    其余注释在github中

    关于这程序的问题,乍一看,最严重的问题就是,只有一个源代码文件。

    然后我在程序最上方注意到了这个:

    /**
     *  Go Applet
     *  1996.11        xinz    written in Java
     *  2001.3        xinz    port to C#
     *  2001.5.10    xinz    file parsing, back/forward
     */

    瞬间就理解了。

    1996年的时候写的java代码,到了2001年就做了移植工作,思路应该还是原来java的。所以这个程序应该就算作是1996年的程序。

    看来这些年软件工程在不断有着巨大的飞跃。

    另外的问题就是程序的外观没有一种圆润感,特别是棋子没有质感,可以考虑将棋子换成贴图,而不是使用图形库直接描出来。各种元素也都可以换成贴图的形式。

    原来是这样:

    可以变成这样:

    每颗棋子上标好顺序,简洁有力

    还有就是可以配上音效,下棋,杀棋。有了音效就如同上阵杀敌一般

    还有就是给出局势图:

    把当前的气的标出来,也有利于新手学习。

    最最最大的问题还是,不能把所有代码都放到一个文件中。

    查找字符串在课上大家都已经谢过了,现在给出lambda表达式查找字符个数的代码:

    #include <iostream>
    #include <string>
    #include <algorithm>
    using namespace std;
    int main()
    {
        int count=0;
        string str("hello, world");
        for_each(str.begin(), str.end(),[&count](char c) {
            if (c=='l') {
                count++;
            }
        });
        cout << count << endl;
        return 0;
    }

     查看文件、编译、运行截图(保证可用,代码在github中):

  • 相关阅读:
    C++ 将对象写入文件 并读取
    IronPython fail to add reference to WebDriver.dll
    How to Capture and Decrypt Lync Server 2010 TLS Traffic Using Microsoft Tools
    .net code injection
    数学系学生应该知道的十个学术网站
    Difference Between Currency Swap and FX Swap
    Swift开源parser
    谈谈我对证券公司一些部门的理解(前、中、后台)[z]
    JDK8记FullGC时候Metaspace内存不会被垃圾回收
    JVM源码分析之JDK8下的僵尸(无法回收)类加载器[z]
  • 原文地址:https://www.cnblogs.com/yzong/p/3441202.html
Copyright © 2011-2022 走看看