资源简介
Java编写的生命游戏,可以调整整个程序的生命数
还有生命规则,可以读取 或保存 当前生命游戏的发展状态
代码片段和文件信息
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
public class LiveGame extends Jframe implements ActionListenerMouseListenerMouseMotionListener
{
private final int XSIZE = 75YSIZE = 60; //图像长宽
private final int SIZE = 10; //方块大小
private Container container;
private JPanel livePanecontrolPane;
private JButton button[];
private Square square;
private Stack stack; //堆栈
private Living living; //演化线程
private int number = 5lives[][];
public LiveGame()
{
super(“LiveGame“);
container = getContentPane();
container.setLayout( new BorderLayout() );
livePane = new JPanel( new BorderLayout() );
livePane.setSize(new Dimension(802638));
controlPane = new JPanel( new GridLayout( 151010 ) );
controlPane.setSize(new Dimension(38300));
button = new JButton[8];
lives = new int[XSIZE+8][YSIZE+8];
//初始化生命状态矩阵
initButton(); //初始化按钮
stack = new Stack();
square = new Square();
square.addMouseListener(this);
square.addMouseMotionListener(this);
livePane.add(square);
living = new Living();
living.start(); //生命演化进程运行
living.suspend(); //演化暂停
container.add(livePaneBorderLayout.CENTER );
container.add(controlPaneBorderLayout.EAST );
setSize(845638);
setVisible(true);
}// end LiveGame
//******************************初始化按钮**************************************
public void initButton()
{
String option[] = {“随机生成““人工布局““ 开 始 ““ 载 入 ““ 保 存 ““增加细胞““减少细胞““ 关 于 “};
controlPane.add( new JLabel(“ 控制面板“) );
for( int i=0; i {
button[ i ] = new JButton( option[ i ] );
button[ i ].addActionListener( this );
controlPane.add( button[i] );
}
}
//******************************初始化方块界面**********************************
public void initSquare()
{
living.suspend();
initLives();
button[2].setText(“ 开 始 “);
while(!stack.isEmpty())stack.pop();
initLives();
square.initGraphic();
square.setNew();
}
//******************************初始化生命状态矩阵**********************************
private void initLives()
{
for( int i=0; i for( int j=0; j lives[i][j] = 0;
}
//******************************生成随机状态************************************
public void randomSquare()
{
int xy;
initSquare();
for( i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11553 2009-05-24 23:50 LiveGame.java
..A.SHR 9 2004-07-18 16:54 生命游戏数据\Desktop__.ini
文件 18094 2008-07-18 02:37 生命游戏数据\对称.lib
文件 18094 2008-07-18 03:52 生命游戏数据\撞击.lib
文件 18094 2008-07-18 02:25 生命游戏数据\绽放.lib
文件 18094 2008-07-18 02:42 生命游戏数据\绽放2.lib
目录 0 2008-07-19 09:07 生命游戏数据
----------- --------- ---------- ----- ----
83938 7
- 上一篇:androidstudio3.1.4
- 下一篇:C++调用java jar包测试代码
相关资源
- C++调用java jar包测试代码
- java的各种各样的特效
- 经典JavaWeb在线通讯录
- Java中感觉鼠标的拖动绘制各种图形
- 基于JSP自动排课管理系统
- java证书开发包(修正版)
- java登陆框设计连接数据库
- java初学者习题
- java 多线程编程 月食效果
- java web开发框架 MVC+DAO实现
- java 抓取微信公众号文章
- 简单明信片程序Java
- Java DES 加密/解密
- 基于Java EE企业即时通讯工具设计与实
- RxAndroid/RxJava jar
- java 注解开发(包含详细注释项目可以
- Java记事本代码以及实验报告
-
java读取xm
l内容(源代码) - 灿烂星空 java代码
- JAVA毕业实习报告
- 2019年java完整视频 idea版本.txt
- jsp实现交友网络
- JSP网上购物系统 JAVA网上购物系统
- Java语言程序设计-基础篇+进阶篇+英文
- Java对象的复制克隆
- Java解析bt torrent种子文件的工具类代码
- 人事管理系统java+sql
- Java日程管理——万年行事历源代码
- Java固定资产管理系统课程设计源码整
- java程序做成windows服务
评论
共有 条评论