📄 project design docs.txt
字号:
Contents
--------
1) List of included project files
2) Review of main program files
3) Change Log
List of included project files
==============================
GameOfLife.html The HTML file used to execute the program.
GameOfLife.java The main program file & the only Java file in the GoL folder.
Program Instructions.txt Instructions for compiling & executing the program.
Project Design Docs.txt Some project/program documentation.
Sugarscape Overview.txt An overview of the idea behind the project & future plans.
a.bat MS-DOS batch file to compile & execute the program.
-----------------------
GameOfLife: The sub-folder containing the rest of the program files (listed below).
CellSpace.java Code for the processes occuring within & on the
2D-grid/sugarscape.
Citizen.java Code for data & methods comprising the Citizen object.
GoLconst.java The file containing configurable parameters (requires
re-compilation).
*.class All intermediate code files created by the Java compiler.
Review of the main program files
================================
GameOfLife.java
---------------
This file contains the code that builds/controls the program's GUI and gets the program
thread running.
Cellspace.java
--------------
This files contains the code that builds/periodically refreshes the Sugarscape grid. The
distribution of sugar, the interpretation of I/O events & execution of the various
grid-level processes are also coded in this file. This file also contains code to collect
& display program feedback to the user.
Citizen.java
------------
This file contains code for the Citizen object. It contains the subset of Citizen methods
that do not require interaction with the Sugarscape grid. The code for processes
involving
interaction with the Sugarscape are included in 'Cellspace.java'.
GoLconst.java
-------------
This file contains constants that determine various attributes of the simulation. These
parameters are grouped into:
1) GUI control variables
2) Population & Citizen control variables
3) Feedback (debugging) variables
...and a method to validate the set values of the constants.
Change Log
==========
1) This is the version of the project released using both arrays & linked list. Linked
Lists seems to lead to cleaner code without any performance penalty. After version 2.3, I
plan to concentrate on the Linkedlist version of the code.
For now, I have uploaded 2 packages - one for the Array version(no more after
2.3), the other for the Linked List version.
Both packages share version 2.3, indicating projects using different designs but
providing the same feel & functionality to the user.
This version contains the following changes:
Eliminated "Active Cell found unexpectedly" error
Eliminated grid sugar renewal problem - now regenerated with new sugarscape
Added debugging variable, DEBUG_PROGRAM_FLOW - enables tracing of method sequence
Added command line interface to enable interactive control of program parameters
The first two were logical bugs that caused subtle and unwanted bias in the results. The
third adds a debugging variable, that enables tracing of the program sequence. This
should be of use to those examining thesource code. The final and most significant
addition is a command line interface. This allows a user to type in commands to control
the program and alter the variables at runtime. The previous versions required the user
to modify a program file (GoLconst.java) and recompile.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -