Il blog per tutti gli smanettoni del pc

Home » Archivio di aprile 2011
apr 16

Introduzione

Snake è un famoso giochino che ha come protagonista un serpente . Quando il serpente mangia, il suo corpo si allunga rendendo il gioco sempre piu’ complicato.

In questa prima parte spiegherò la pseudocodifica del codice che andreamo a relizzare dal prossimo articolo.

Le liste

Il corpo del serpente possiamo tradurlo in linguaggio informatico come una lista . La lista per chi non la conoscesse è una struttura dati dinamica o meglio una serie di elementi dove ogni elemento è legato a quello successivo . Per un approfondimento vi rimando a wikipedia .

Ecco come si presenta graficamente una lista :

Pensiamo il nodo come la parte che costituisce il corpo del serpente . Ogni nodo deve avere una caratteristica : la posizione occupata nello schermo.

Rifacciamo il disegno della lista seguendo la logica descritta sopra:

La lista disegnata rappresenta un serpente che inizia nella cella X:5 Y:2 e finisce in X:7 Y:2 .

Per comodita è consigliabile usare una lista concatenata : una particolare lista dove ogni elemento non solo è collegato all’elemento successivo ma anche a quello precendente .

Trasformiamo per l’ultima volta la nostra bozza :

Movimento del serpente

Supponiamo di avere questo serpente :

Tradotto in una lista sarebbe:

Il serpente deve potersi muovere nelle quattro direzioni : a sinistra , in alto , a destra e in basso.

Supponiamo di volerlo muovere a destra

Bisogna trovare un algortimo , una sequenza di istruzioni , per generare la seguente lista

Se sovrapponessimo le due liste noteremmo che nella lista generata ( quella dopo il movimento ) c’è un nuovo nodo che rappresenta l’ head e che l’ultimo nodo viene cancellato.

Il procedimento è identico per tutte le 4 le direzioni: eliminare l’ultimo nodo e inserire una nuova testa (head) con le nuove cordinate dove inizia il serpente.

Come avete visto il ragionamento logico che sta dietro all’algoritmo è molto semplice . Nella prossima lezione concluderemo questo appuntamento scrivendo il codice ;)

apr 2

In wordpress qualsiasi post può essere definito con una serie di elementi(attachments) come i video e le immagini .  Quando inseriamo un’ immagine nel contenuto di un post è possibile prelevarla con una funzione php messa a disposizione da wordpress e isolarla dal contenuto.

$images = get_children(array(
'post_type' => 'attachment',
'numberposts' => 1,
'post_status' => null,
'post_mime_type' => 'image',
'post_parent' => $id));
 
 
if(!empty($images)){
 
	foreach($images as $image){
	//$attachment = wp_get_attachment_image_src($image->ID, $size);
	$attachment = wp_get_attachment_image( $image->ID, $size );
	}
 
}

La funzione get_children(), che troviamo nella prima riga di questo script, è una funzione wordpress usata per prelevare dal database attachments, revisioni o sotto pagine di un post genitore .

Wp_get_attachment_image , invece, restituisce il codice html dell’immagine. Come secondo parametro è possibile inserire tre valori : thumbnail, medium, large or full .

Quandi se velessimo prelevare la thumb dell’immagine generata da wordpress basterebbe specificare nella funzione wp_get_attachment_image il valore thumbnail e il gioco è fatto ;)