写在最前面:

   很多职业培训师都说要会时间管理,不过我比较同意李笑来的观点,时间是没法管理的,转瞬即逝。我想如果上帝能够把时间管理好,那就不需要造个夏娃给亚当了,他自己慢慢来造人不就得了,就是因外上帝太忙了,时间辗转流逝,他也没有辙让时间等等他,让他早足够的人来帮助管理这个蓝色星球,所以干脆找个夏娃,让他们俩自己慢慢造去。

   时间,没法触及,却又能通过变化来觉察到她的存在;时间,没法管理,只能通过改变来顺从时间流逝;时间,长短不一,却都源自一种不同的心态。


项目描述:

   一个N*N个方格,每个格子都有两种颜色(黑色,红色),初始化状态所有个格子都是黑色,通过点击其中一个格子,使的被点击的格子和其上下左右的格子颜色变为反向色(红色边黑色,黑色变红色),最终使得N*N个格子的颜色都变为红色。


参考文献:

在时间的积累中寻求美丽图案http://aiilive.blog.51cto.com/blog/1925756/1079762

分布式计算服务机客户机程序设计http://aiilive.blog.51cto.com/blog/1925756/1079822

Java生成N*N阶方格图http://aiilive.blog.51cto.com/blog/1925756/1279213


项目目的:

    主:通过计算机模拟点击过程,寻找N*N(N=2,3,4,5,.....)格子中的满足条件的点击情况,生成图片,分析图片中的红,黑格子的分布,以及对称性。

    次:熟悉Java编程

     涉及到的Java编程内容有如下

       编程类:

包的创建与导入

文件创建,操作,输入输出,图片文件生成

字符串格式处理,类型转换,时间处理,数学工具类使用

属性文件的操作,外部文件管理,操作,系统属性调用

控制流程,方法,属性的调用

类的创建,使用

方法类:

面向对象编程的基本方法

Java面向对象模板模式

代码重构,常量,方法,字段的提取等

       工具类:

Junit4.7测试框架

Maven项目管理工具


项目总结:

       达到了主次目的。

       不足之处:使用CCS系统来解决N*N格子的问题,需要配置启动参数,格式必需要要求,对于非规则配置等处理能力不足;当N取值较大(比如27,28或更大)运算时间更久,存在运算的结果消耗内存更大。

   工程位置:https://git.oschina.net/secondriver/CCS.git


总结体会:

格子计算系统的实现,一直没有找到一个合适的意义,接近一年的时间里写了删,删了写,用C#写了用户操作的桌面APP,用JavaScript写了浏览器操作的,这样的手工操作,无非是玩一玩而已。为了有意义而找意义,而来发现随着N的增大计算机计算其结果花费的时间越来越大,可是之前没有保存运算结果,并没有察觉什么,现在用日志文件和图片的形式留住了每一次有效的计算结果,发现确实存在美的东西。

   下面是一张N=25时生成的一张图片:

时间流过的美好印记——开源工程CCS(Compute Cell System)_第1张图片


末了,时间流逝,记下每一刹那的痕迹,便胜却美无数,程序如此,人生亦是如此。