Mediul de programare GREENFOOT

Diaconu Diana Elena, profesor, informatică și TIC, Colegiul Național „Ienăchiță Văcărescu”, Târgoviște

Mediile de programare au suportat modificări, atât în ceea ce privește modul de lucru cât și aspectul. Trei dintre cele mai utilizate instrumente sunt C#, Alice 3 și Greenfoot.

Greenfoot este un mediu de programare orientată pe obiecte în care putem crea personaje și acțiuni, având noțiuni de Java. Java este un limbaj de programare de nivel înalt, orientat pe obiecte, dezvoltat de Sun Microsystems. Java a fost creat pentru a fi ușor de învățat după C sau C++, este independent de platformă și este disponibil gratuit. Spre deosebire de C/C++ care după compilarea unui cod, acesta este convertit în codul mașină al platformei, când un cod Java este compilat, se crează un cod de octeți care se poate executa pe orice platformă pentru care există JVL (Java Virtual Machine), precum Windows, UNIX, Macintosh.

Cu Greenfoot putem programa frumos, având la dispoziție cod clasic Java, dar în același timp putem vedea rezultatul execuției programului.

Atât platforma cât și tutorialele sunt puse la dispoziție de către School of Computing, University of Kent in Canterbury, UK și sponsorizate de către Oracle. Ele se găsesc la adresa https://www.greenfoot.org.

După ce deschidem Greenfoot, putem vedea o fereastră ca cea din Figura 1, în care personajele și scena vor fi afișate în partea stângă a ecranului, în partea dreaptă putem vedea clasele, iar în partea de jos putem vedea modul de execuție.

Figura 1.

Modul de execuție a unui program este diferit în funcție de butonul pe care îl apăsăm. De exemplu, dacă dăm click pe Act se execută toate acțiunile din scenariul pe care l-am creat, dacă dăm click pe Run se execută scenariul până când apăsăm pe Pause, dacă dăm click pe Reset se oprește și se repornește scenariul, iar Speed modifică viteza cu care se derulează scenariul.

Pentru început, putem crea o subclasă pentru fundal, dând click dreapta pe World care se află în meniul din dreapta și alegând New Subclass. Putem personaliza fundalul prin alegerea unuia din cele disponibile sau prin importarea unui fundal din afara aplicației. Personajele cu care dorim să lucrăm, le introducem prin alegerea din Actor classes, click dreapta New subclass, Animals sau alegem un personaj din fișier.

Odată ales personajul, putem să folosim metodele predefinite pe care le găsim în documentația aplicației la Help, Greenfoot Class Documentation, Actor, Method. De exemplu, putem crea un personaj, pe care să îl mișcăm cu move(10) 10 unități și să îl rotim cu turn(5) 5 grade, ca în Figura 2. Dacă folosim move(-10), personajul se va roti înapoi.

Figura 2.

Putem crea o lume în care personajele să apară de la început, pe o anumită poziție pe ecran. De exemplu, în World scriem codul de mai jos și personajele vor apărea de la început pe pozițiile specificate.

public unu()

{  super(600, 400, 1);

urs urs1=new urs();

foca foca1=new foca();

addObject(urs1,200, 200);

addObject(foca1,300, 300);   }

Un alt exemplu este cel de mai jos în care apar trei actori: iarba este statică; musca se mișcă aleator cu turn(Greenfoot.getRandomNumber(10)); broasca se mișcă la stânga, dreapta, sus, jos cu 3 unități în funcție de tasta apăsată. În funcția definită pentru broască, am introdus o structură care permite ca la întâlnirea broaștei cu musca, să se audă un sunet înregistrat (playSound) și musca să dispară (removeObject).

public void act()

{if (Greenfoot.isKeyDown(„left”))        this.setLocation(this.getX()-3,this.getY());

if (Greenfoot.isKeyDown(„right”))       this.setLocation(this.getX()+3,this.getY());

if (Greenfoot.isKeyDown(„up”))           this.setLocation(this.getX(),this.getY()-3);

if (Greenfoot.isKeyDown(„down”))      this.setLocation(this.getX(),this.getY()+3);

Actor musca=getOneIntersectingObject(musca.class);

if(musca!=null)

{Greenfoot.playSound(„oac.wav”); getWorld().removeObject(musca); }

}

Greenfoot ne permite dezvoltarea unor jocuri interesante în care să adăugăm actori care să acționeze diferit, să scoată sunete, să se incrementeze contoare, să existe timp de finalizare pentru jocul respectiv.

Bibliografie

Runceanu Adrian, Rinceanu Mihaela, 2012, Medii vizuale de dezvoltare bazate pe programarea orientată pe obiecte, „Annals of the Constantin Brâncuși” University of Târgu Jiu, Engineering Series, No.3/2012

James Cooper, Java Design Patterns. A Tutorial, Addison Wesley, 2000

Michael Kölling, Introduction to Programming with Greenfoot, Object-Oriented Programming in Java with Games and Simulations, Pearson Education, August 2009

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.