• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Java
  • 标签: Java  生命游戏  

资源简介

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


评论

共有 条评论