Greenfoot Come creare un gioco in pochi semplici passi.

Slides:



Advertisements
Presentazioni simili
Il paradigma Object Oriented
Advertisements

Programmazione ad oggetti
Linguaggio R Raffaele Miele Dipartimento di Matematica e Statistica Università degli Studi di Napoli Federico II
Funzioni Friend Come abbiamo visto non possiamo accedere a membri privati di una classe dall'esterno della classe. Ma a volte abbiamo bisogno di farlo.
Unit à E4 Applet. Obiettivi Saper progettare e realizzare Applet Java allinterno di pagine HTML Comprendere le interazioni tra il browser e lapplet Saper.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Informatica Recupero debito quarto anno Terzo incontro.
PHP.
Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.
CONOSCIAMO IL WINDOWS '95.
Java: programmazione concorrente con condivisione di memoria
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
Esercitazione con socket
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Introduzione al linguaggio C++ 5 lezioni
Introduzione al linguaggio Java
Overriding.
1 Eventi/2 Più movimento alle classi. 2 Eventi Java Modo per intercettare il verificarsi di certe condizioni / azioni e fare in modo che venga eseguito.
Tutorial per luso di Pon-SitoVeloce 1. In Pon-SitoVeloce è possibile realizzare un sito con pochi click. Questa è la schermata dopo laccesso. Per iniziare.
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Corso di Informatica A.A
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Oggetti e dati primitivi Programmazione Corso di laurea in Informatica.
AA2003/04 © M.A. Alberti Programmazione Interfacce 1 Programmazione Corso di laurea in Informatica.
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
Sincronizzazione fra thread
Sistemi Operativi GESTIONE DEI PROCESSI.
DBMS ( Database Management System)
AlgoLab - Ereditarieta' Ereditarietà e polimorfismo in Java Laboratorio di Algoritmi 02/03 Prof. Ugo de Liguoro.
Introduzione alla programmazione Object Oriented
Introduzione a PowerPoint
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Università degli Studi di Napoli Parthenope programmazione III.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
Scratch 2.0: nuove funzionalità
Programmazione ad oggetti
Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Progetto a cura di Martino Michele – Matricola: Miglio Stefano – Matricola:
Lande Immortali GDR-Descrittivo Progetto a cura di Martino Michele – Matricola: Miglio Stefano – Matricola:
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Programmazione in Java. Classi I programmi in Java consistono di classi. Le classi consentono di definire: collezioni di procedure (metodi statici) tipi.
Java & JESS Ettore Colombo 10 Gennaio 2007 Ingegneria della Conoscenza e Sistemi Esperti.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
La Programmazione ad Oggetti
Partecipanti: Raffaele Martorelli Antonio Vincenzo Spera Stefano Troiano Progetto TPA Horse Racing.
Scratch.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Programmazione orientata agli Oggetti Introduzione a Java.
UNIMORE University of Modena and Reggio Emilia Scratch Simone Calderara
Cosa è nato accanto a Scratch: da AppInventor a Snap a Pocket Code Barbero - I.I.S. «Vallauri» – Fossano (CN) Torino – 28 novembre 2014 – Dipartimento.
Corso di programmazione di sistemi mobile 1 1 Android Activity, View e Layout.
Introduzione alle Classi e agli Oggetti in Java 1.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Transcript della presentazione:

Greenfoot Come creare un gioco in pochi semplici passi

Crab Game Il giocatore comanda il granchio con l’obiettivo di mangiare tutti i vermi prima di essere mangiato a sua volta da una delle aragoste. Il gioco termina per aver mangiato tutti i vermi o per essere stato mangiato da un’aragosta.

Crab Game – Gli elementi Il giocatore comanda il granchio con l’obiettivo di mangiare tutti i vermi prima di essere mangiato a sua volta da una delle aragoste.

Crab Game – Il granchio Il granchio: Mangia i vermi che intercetta lungo il cammino Si muove comandato dal giocatore.

Crab Game – Il granchio II Come farlo muovere? Qualche idea?

Crab Game – Il granchio III La nostra scelta è stata di consentire Movimenti laterali Rotazioni

Crab Game – L’aragosta L’aragosta: Si muove per il campo di gioco autonomamente in maniera casuale Mangia il granchio se lo intercetta lungo il suo percorso

Crab Game – Il verme Il verme: Appare in una posizione casuale del campo di gioco Si muove lievemente per simulare il movimento del verme che esce dalla sabbia

Quale ambiente abbiamo deciso di usare per lo sviluppare il gioco?

Cos’è Greenfoot? ● È un ambiente di sviluppo nato nel 2003 e pubblicato nel 2006 presso l'Università di Kent ● È un software libero e disponibile per tutte le piattaforme ● È usato come ambiente per facilitare l’ apprendimento della programmazione orientata agli oggetti in Java ● È utilizzato maggiormente per lo sviluppo di giochi semplici L’obiettivo degli sviluppatori: creare uno strumento per insegnare la programmazione orientata agli oggetti tramite un’interfaccia grafica che permette di interagire semplicemente con gli oggetti che si stanno manipolando.

Greenfoot – Elementi Interfaccia Pulsante Act Il programma avanza di un passo Pulsante Run Il programma viene eseguito come susseguirsi di azioni descritte nel metodo act() Pulsante Reset Reinizializza il programma allo stadio iniziale

Greenfoot – Elementi Interfaccia II Barra speed Modifica il rapporto tra il tempo trascorso nell’esecuzione e il numero di passi ( act() ) eseguiti Pulsante Compile Compila il codice rendendolo pronto per l’esecuzione

Greenfoot – Elementi Interfaccia III Greenfoot mette a disposizione due superclassi da cui si possono creare delle sottoclassi specializzate a seconda delle necessità: Classe World Classe Actor

Greenfoot – Le superclassi Classe World È la classe da cui deriva lo scenario del programma che si sta sviluppando Gli si può assegnare una immagine di sfondo Contiene il metodo act() È formato da una matrice in cui posso essere presenti degli attori Classe Actor È la classe da cui si possono derivare gli attori necessari al programma Alla creazione gli si assegna un’immagine Contiene il metodo act() Ogni attore ha una posizione nel world

Greenfoot – Scenario e Attori

Metodi Greenfoot

Crab Game

Lo Scenario

Lo Scenario II Tramite creazione guidata si può scegliere lo sfondo È una sottoclasse di World (predefinita in Greenfoot) Descrive la classe del campo di gioco Consente la gestione delle interazioni degli Actor

Gli attori – Classe Actor Classe che descrive gli oggetti che interagiscono nel World Ogni actor ha una posizione e un aspetto Metodo act() Chiamato dai bottoni Act e Run nell’interfaccia Permette di implementare il comportamento dell’oggetto

Sottoclasse - Animal

Sottoclasse – Animal II Estensione della Classe Actor Contiene metodi comuni alle sottoclassi successive public void turn(int angle) public void move() public boolean atWorldEdge() public boolean canSee(Class clss) public void eat(Class clss)

Sottoclasse - Animal (Crab Worm Lobster)

Sottoclasse - Animal (Crab Worm Lobster)II Estensione della Classe Animal Differenzia ogni Classe specializzando il comportamento Crab Mangia Worm Movimenti seguono i comandi del Giocatore Lobster Mangia Crab Movimenti casuali lungo lo scenario Worm Movimenti sul posto

Actor Crab Il cuore della classe è il metodo Act public void act() { lookForWorm(); (A) checkKeypress();(B) // Add your action code here. } (A) utilizza eat() della classe Animal (B) utilizza turn() e move() della classe Greenfoot

Actor Lobster public void act() { lookForCrab();(A) randomTurn();(B) move();(C) if (atWorldEdge()) turn (13);(D) } (A) Come per la classe Crab utilizza il metodo eat della classe Animal (B), (C) e (D) gestiscono il movimento casuale tramite i metodi della classe Greenfoot

Actor Worm public void act() { movement(); } Movement() utilizza i metodi della classe Greenfoot

Grazie Per l’Attenzione