smithereens的gravatar头像
smithereens 2018-07-01 17:04:34

java swing编写gui生命游戏代码,新手上路

项目描述

生命游戏其实是一个零玩家游戏,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。实际中,你可以设定周围活细胞的数目怎样时才适宜该细胞的生存。如果这个数目设定过低,世界中的大部分细胞会因为找不到太多的活的邻居而死去,直到整个世界都没有生命;如果这个数目设定过高,世界中又会被生命充满而没有什么变化。实际中,这个数目一般选取2或者3;这样整个生命世界才不至于太过荒凉或拥挤,而是一种动态的平衡。这样的话,游戏的规则就是:当一个方格周围有2或3个活细胞时,方格中的活细胞在下一个时刻继续存活;即使这个时刻方格中没有活细胞,在下一个时刻也会“诞生”活细胞。在这个游戏中,还可以设定一些更加复杂的规则,例如当前方格的状况不仅由父一代决定,而且还考虑祖父一代的情况。你还可以作为这个世界的上帝,随意设定某个方格细胞的死活,以观察对世界的影响。

在游戏的进行中,杂乱无序的细胞会逐渐演化出各种精致、有形的结构;这些结构往往有很好的对称性,而且每一代都在变化形状。一些形状已经锁定,不会逐代变化。有时,一些已经成形的结构会因为一些无序细胞的“入侵”而被破坏。但是形状和秩序经常能从杂乱中产生出来。

这个游戏被许多计算机程序实现了。Unix世界中的许多Hacker喜欢玩这个游戏,他们用字符代表一个细胞,在一个计算机屏幕上进行演化。著名的GNUEmacs编辑器中就包括这样一个小游戏。

大学非计算机专业学生上完JAVA课后,了解到生命游戏的玩法,自学设计了用JAVA GUI做的生命游戏,玩法简单粗暴,点击死细胞生成初始活细胞,然后按开始观看下一时刻细胞生存情况,不断重复按开始,观看细胞变化情况。按结束按钮初始化。

运行环境

jdk7+IntelliJ IDEA

项目技术(必填)

swing

数据库文件

jar包文件

是否原创(转载必填原文地址)

项目截图(必填)

java swing编写gui生命游戏代码,新手上路

java swing编写gui生命游戏代码,新手上路

运行截图(必填)

java swing编写gui生命游戏代码,新手上路

gif动图

注意事项


打赏

已有2人打赏

lhh1486911282的gravatar头像 最代码官方的gravatar头像

文件名:game_of_life.zip,文件大小:7.626K 下载
  • /
      • /game_of_life
          • /game_of_life/.idea
            • /game_of_life/.idea/compiler.xml
            • /game_of_life/.idea/description.html
            • /game_of_life/.idea/encodings.xml
              • /game_of_life/.idea/inspectionProfiles
              • /game_of_life/.idea/misc.xml
              • /game_of_life/.idea/modules.xml
              • /game_of_life/.idea/vcs.xml
              • /game_of_life/.idea/workspace.xml
    最代码最近下载分享源代码列表最近下载
    fenghuijun  LV26 2023年3月27日
    微信网友_6292282163859456  LV4 2023年1月5日
    xiuxiukun  LV1 2020年12月1日
    mealy2  LV1 2020年11月10日
    谢知非zhf  LV3 2020年5月25日
    w571018253  LV1 2020年5月14日
    可多拉  LV1 2020年4月13日
    candice123  LV7 2019年12月21日
    Strawberry  LV1 2019年12月3日
    2331337364  LV1 2019年11月26日
    最代码最近浏览分享源代码列表最近浏览
    interface  LV22 6月30日
    求学的熊猫  LV11 2023年12月26日
    yangxb2  LV10 2023年7月11日
    caomin  LV4 2023年5月24日
    fenghuijun  LV26 2023年3月27日
    微信网友_6292282163859456  LV4 2023年1月5日
    理工铝孩  LV1 2022年12月20日
    微信网友_6191697646571520  LV6 2022年11月24日
    微信网友_5992582549164032  LV6 2022年6月21日
    huevnn  LV5 2022年6月16日
    顶部 客服 微信二维码 底部
    >扫描二维码关注最代码为好友扫描二维码关注最代码为好友