Wat is Greenfoot?
Greenfoot leert objectoriëntatie met Java. Maak "acteurs" die in "werelden" leven om spellen, simulaties en andere grafische programma's te bouwen. Greenfoot is visueel en interactief. Visualisatie- en interactiegereedschappen zijn ingebouwd in de omgeving. De acteurs worden geprogrammeerd in standaard tekstuele Java code, waardoor ze een combinatie van programmeerervaring bieden in een traditionele tekstgebaseerde taal met visuele uitvoering. De interface is een volledige IDE die projectbeheer, automatisch aanvullen, syntaxisaccentuering en andere hulpmiddelen bevat die de meeste IDE's gemeenschappelijk hebben. Je kunt ook je werk zowel on- als offline publiceren. De interface is ontworpen om eenvoudig en gebruiksvriendelijk te zijn; gebouwd met beginners in gedachten. Greenfoot wordt gebruikt door duizenden instellingen over de hele wereld. Het biedt gemakkelijke overgang naar andere omgevingen, zoals BlueJ en meer professionele IDE's. Greenfoot-programma's zijn geschreven in standaard Java, een van de primaire talen in de academische wereld en de industrie. Geleerde concepten zijn direct over te brengen naar het programmeren in andere omgevingen. Greenfoot maakt de omgeving eenvoudig genoeg om gebruikt te worden door beginners, en Java maakt het krachtig genoeg om er indrukwekkende, flexibele en geavanceerde toepassingen mee te schrijven.

Systeemvereisten
  • Minimum SDK 1.6.0 Build 22 GA (2011-06-27)


Greenfoot op een eComStation machine met Open JDK


Installeren van Greenfoot
Download Greenfoot-generic-242.jar (9.647Kb). Maak op een schijf een map(directory) aan met de naam "greenfoot" of iets wat je het beste past. Kopieer het bestand naar deze nieuw aangemaakte map(directory). Het gekopieerde bestand is een installatiebestand, je moet het eerst installeren. Het opdrachtbestand dat de klus kan klaren is in het zip-bestand onder aan deze pagina toegevoegd. De inhoud van het opdrachtbestand greenfoot-installer.cmd is als volgt;
@echo off
set BEGINLIBPATH=[station: java]\JAVA160\bin
set path=[station: java]\JAVA160\bin
set CLASSPATH=
[station: greenfoot]
cd [station: greenfoot]\greenfoot
java -Duser.home=[station: greenfoot]\greenfoot -jar Greenfoot-generic-242.jar 2>greenfoot-bugs.txt
Ik gebruik 2 aparte mappen(directories), een voor Java en een voor Greenfoot met de door het programma aangemaakte bestanden. De in het cmd bestand gebruikte verwijzingen;

  • [station: java] = station met de ontwikkelaar versie (SDK) van Java en NIET de runtime versie van Java!
  • [station: Greenfoot] = station met Greenfoot

moeten dus vervangen worden door echte schijfletters. Bewaar het bestand en geef het de naam van jouw keuze of gebruik het bestand uit onderstaande distributie. Dit bestand wordt gekopieerd naar of opgeslagen in de "greenfoot" map(directory). Verder kunnen paden anders zijn, pas dit naar behoefte aan. Als je de installatie start, moet je enkele vragen beantwoorden over in welk station Java is en waar het programma moet worden geïnstalleerd. Greenfoot-generic-242.jar is de laatste versie die we kunnen gebruiken. De volgende versie heeft Java 8 nodig, waarschijnlijk veroorzaakt door het gebruik van BlueJ, die voor de laatste versies ook Java 8 als minimum versie nodig heeft.

Het cmd bestand
Het programma werkt met Open JDK in OS/2-eCS. Ik heb een greenfoot.cmd bestand met de volgende inhoud;
@echo off
set BEGINLIBPATH=[station: java]\JAVA160\bin
set path=[station: java]\JAVA160\bin
set CLASSPATH=
set APPBASE=[station: greenfoot]\greenfoot
set JAVAPATH=[station: java]\JAVA160
[station: greenfoot]
cd [station: greenfoot]\greenfoot
java -Duser.home=[station: greenfoot]\greenfoot -Xms64m -Xmx256m
-cp [station: greenfoot]\greenfoot\lib\bluej.jar;[station: java]\JAVA160\lib\tools.jar
bluej.Boot -greenfoot=true -bluej.compiler.showunchecked=false %1 2>greenfoot-bugs.txt
De regel beginnend met "java ...." is in drie regels opgesplitst om het nog goed op deze pagina te kunnen weergeven. De regels "java...", "-cp ..." en ""bluej.Boot..." zijn ‚‚n regel. Denk aan de spaties tussen de opdrachten. Ik gebruik 2 aparte mappen(directories), een voor Java en een voor BlueJ met de door het programma aangemaakte bestanden. De in het cmd bestand gebruikte verwijzingen;

  • [station: java] = station met de ontwikkelaar versie (SDK) van Java
  • [station: greenfoot] = station met Greenfoot

moeten dus vervangen worden door echte schijfletters. Bewaar het bestand en geef het de naam van jouw keuze of gebruik het bestand uit onderstaande distributie. Dit bestand wordt gekopieerd naar of opgeslagen in de "greenfoot" map(directory). Verder kunnen paden anders zijn, pas dit naar behoefte aan.

Parameters / opties verklaard
  • Met de specificatie "-Duser.home=[station: greenfoot]\greenfoot" wordt ervoor gezorgd dat Greenfoot alle benodigde bestanden in de eigen directory opslaat inplaats van in de Home directory.
  • De specificatie "-Xms64m" geeft de startomvang van het geheugen aan. Zonder deze specificatie kan Greenfoot crashen bij de start.
  • De specificatie "-Xmx256m" geeft het maximum geheugengebruik aan. Zonder deze specificatie kan Greenfoot crashen bij de start.
  • De regel "-cp..." tot en met "-bluej.compiler.showunchecked=false" komt uit het installatieproces en kan in het Linux bestand worden gevonden.
  • De toevoeging "2>greenfoot-bugs.txt" zorgt ervoor dat foutmeldingen in het bestand "greenfoot-bugs.txt" worden bewaard. De 2 in "2>" is geen typefout!

Opstarten van het programma
Lees zeker het bestand "[drive: greenfoot]\greenfoot\tutorial\tutorial.html". Je leert hoe het voorbeeld bestand te gebruiken. Zoals gewoonlijk werkt de hulp niet. Elke opdracht die een browser nodig heeft, eindigt in de foutmelding "error=2", met andere woorden, kan de browser niet starten. Greenfoot zal bijna volledig sluiten als je van het ene scenario naar het andere gaat. Maar op de achtergrond is het helemaal opnieuw begonnen en het zal met een nieuw scherm verschijnen. Ondanks de specificatie van geheugen wil het nog wel eens voorkomen dat het opstarten eindigt in een crash met een hs_err_pidxxx.log bestand. Ik denk dat dit te maken heeft met een fout in onze Java versie.


Greenfoot voorbeeld op een eComStation machine met OpenJDK


Download
In het bestand zitten bovenstaande cmd bestanden (alle schijfletters staan op Q:!) en een Greenfoot icoontje: greenfoot-ecs.zip.

revisie 27 augustus 2018