#Field Simulation
##Introduction The field simulation task provides a way to introduce both object-oriented and event-driven programming and in addition it will enable you to discuss simulation with your students.
Finally, there are resources to help you create a distributable version of your program.
##Specification Points This task could be used to assist in the delivery of the following specification points:
- AQA 3.3.1 Problem Solving
- Information hiding and abstraction
- AQA 3.3.2 Programming Concepts
- Object-oriented programming
- Event-driven programming
- Simulations
- OCR 3.3.6 High-level language programming paradigms
##Requirements
This task requires the following to be installed:
##Assumptions
Beyond having a good understanding of:
- Variables
- Selection
- Iteration
- Lists
- Functions
- File handling
there are no additional requirements for this task.
##Functionality In this task you will create representation of crops and animals that will grow depending on the light, water and food available to them. These crops and animals can be placed in fields (which you will also create) and then finally you will produce a graphical user interface that can be used to interact with your basic simulation.
##Design This task is discussed and developed in detail on the Python School website.
##Code You can find the code for the various parts of this assignment on GitHub:
##Further reading
There are two books available on PyQt:
- Harwani, B. M., 2012. Introduction to Python Programming and Developing GUI Applications with PyQT. Boston: Course Technology.
- Summerfield, M. 2008. RapidGUI Programming with Python and Qt. New York: Prentice Hall.
Both of them have some useful content but the Summerfield book in particular is quite dated and does not include some of the recent improvements to PyQt.
I would suggest that if you have worked through the Python School materials on PyQt then the PyQt Class reference is a better resource.