练手项目JAVA-细胞自动机

看了翁恺老师的Java进阶,然后跟着敲了代码,练手,深入的体会一下这个小项目的思想。

Field的类,放入细胞,存放数据。

View类用于根据Field画出图形,调用细胞有的draw方法。

然后在根据简单的逻辑判断,判断细胞的邻居数量,来确定细胞的生死。

在这个过程中学到了frame.pack()-->根据窗口里面的布局及组件(本例指panel)的preferedSize来确定frame的最佳大小。和setSize()不同,更够不用手动设置,更为贴合的找到frame的大小。

package 细胞自动机.CellMachine;

import 细胞自动机.Cell.Cell;
import 细胞自动机.Field.Field;

import javax.swing.*;

/**
 * Created by Administrator on 2018\4\1 0001.
 */
public class CellMachine {
    public static void main(String[] args) {
        Field field = new Field(30,30);
        //往格子里放细胞
        for(int row=0;row<field.getHeight();row++){
            for(int col=0;col<field.getWidth();col++){
                field.place(row,col,new Cell());
            }
        }
        //初始化确定最开始细胞的数量
        for(int row=0;row<field.getHeight();row++){
            for(int col=0;col<field.getWidth();col++){
                Cell cell = field.get(row,col);
                if(Math.random()<0.2){
                    cell.reborn();
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值