資源簡介
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包測試代碼
評論
共有 條評論