// Idra - esempio di impiego degli oggetti - (C) 2000 Enrico Colombini

// Questo file utilizza o estende Idra: le parti di programmazione HTML 
// e JavaScript qui contenute sono soggette alla medesima licenza GNU GPL
// di Idra stesso, vedi i file idra.js e Licenza.html per i dettagli.


// *** Esempio di impiego delle estensioni per gli oggetti; i commenti che
// *** iniziano con tre asterischi (come questo) indicano i punti significativi


// ===== Informazioni =======================================================


// Mostra informazioni sul gioco

function Informazioni() {
  apriPagina('id="infogame"')
  titolo("Informazioni su \"Gigi il Bullo\"")
  testo("<p>Gigi il Bullo è stato realizzato utilizzando <a href=\"javascript:infoIdra()\">Idra</a> con l\'impiego delle sue estensioni per oggetti. Idra è &copy; 2000 Enrico Colombini -- Idra XC &copy; 2004 Giovanni Riccardi -- Idra XS &copy; 2008 Syxtem</p>")
  testo("<p>I javascript utilizzati per gestire i vari menu, fanno parte delle librerie di <a href=\"http://script.aculo.us/\" target=\"new\">scriptaculous</a>. script.aculo.us è stato creato da Thomas Fuchs ed è esteso e migliorato da contributori open-source. script.aculo.us è distribuito sotto licenza del MIT.</p>")
  testo("<p>Le immagini utilizzate per gli oggetti e l\'equipaggiamento sono tratte dall\'avatar simulator di GaiaOnline.com, fruibile all\'indirizzo <a href=\"http://www.tektek.org/dream/\" target=\"new\">http://www.tektek.org/dream/</a>. &copy; Gaia Interactive e &copy; tektek Foundation</p>")
  rinvio("Continua", "ridisegna()")
  testo("</center>")
  chiudiPagina()
}

// ===== Schermata di selezione attività e oggetti (mattino) =======================================================


// Mostra pagina di selezione scheduler, oggetti e vestiti.

function Risveglio() {
  apriPagina('id="awakening"')
  titolo("Buongiorno Gigi..")
  testo("<p>Decidi cosa vuoi fare durante la giornata di oggi, e quali oggetti vuoi portare con te.</p>")
  rinvio("Continua", "ridisegna()")
  testo("</center>")
  chiudiPagina()
}

// ===== Funzioni chiamate dall'interprete ==================================


// Inizia una nuova lettura: azzera le variabili di gioco e va alla prima pagina

function Inizia() {

// *** Le normali variabili di gioco, inclusi gli oggetti e attori

// variabili delle statistiche

	v.fascino = 10
	v.simpatia = 10
	v.leadeship = 10
	v.intelligenza = 10
	v.forzafisica = 10
	v.forzavolontà = 10

	v.stanchezza = 0
	v.fame = 0
	v.alcool = 0

// variabili degli oggetti
	v.gigi = 0	// Te stesso
	v.monete = 30 // denaro in tuo possesso
	v.libro = 0
	v.panino_mort = 1
	v.maglietta_0 = 1
	v.pantaloni_0 = 1
	v.scarpe_0 = 1
	v.sudoku = 1
	
// Variabili e Flag
	v.giornata = 1
	v.oraGiornata = 9
	

// *** Variabili (v. sottinteso) da trattare come oggetti, e relativa scritta da mostrare

  definisciOggetti(new Array(
	"panino_mort", "Panino Mortadella", "Panino alla mortazza amabilmente preparato da mamma Ha un aspetto un pò stantìo", "login.gif", "0", "1",
	"maglietta_0", "Maglietta", "Una maglietta anonima", "maglietta_0.png", "10", "1",
	"pantaloni_0", "Pantaloni", "Un paio di comunissimi pantaloni", "pantaloni_0.png", "15", "1",
	"scarpe_0", "Scarpe", "Un paio di scarpe da poco", "scarpe_0.png", "15", "1",
	"sudoku",  "Sudoku", "L'ultimo volume della settimana enigmistica", "sudoku.png", "1", "1"

	))
  
// *** opzioni riguardanti la presentazione degli oggetti e quella dei rinvii speciali

  opzioniOggetti('bgcolor="#cccccc"', "", "", "")
  opzioniRinvioOgg('<font color="#cc0099">', '</font>')

  vai(Intro) //prima pagina  
}


// All'inizio di ogni pagina: fa una riga di stacco 

function Intestazione(pag) {
  testo("")
}


function PiePagina(pag) {

  // *** Aggiorna l'elenco degli oggetti ogni volta che mostra una pagina
  // *** deselezionando un eventuale oggetto selezionato in precedenza

  mostraOggetti("")  //Deseleziona eventuale oggetto
}


// *** Funzione opzionale per scrivere o disegnare la descrizione di un oggetto
// *** nell'inventario; viene chiamata dopo avere aperto un tag <a>; "ogg" puo'
// *** essere utile per descrivere un certo oggetto in modo particolare

function DescriviOggetto(ogg, desc, selez) {
  if (selez) {
    testoOggetti('', desc, "")
  } else {
    testoOggetti('', desc, "")
  }
}



// === Funzioni ausiliarie ==================================================

// *** Funzione aggiunta per comodita':
// *** mostra una risposta in una pagina apposita, terminata con "Continua"
// *** cui e' associata l'azione o pagina act ("aggiorna()" se non indicata);
// *** ricordarsi di non fare azioni cumulative (es. v.soldi++) nelle pagine

function Risp(t, act) {
  apriPagina('bgcolor="#ffccff"')
  testo("<br>&nbsp<br>", t) 
  if (act) { continua(act) } else { continua("aggiorna()") }
  chiudiPagina()
}

/* function immagine(immagine) {
	testo("<p><center><img style='padding:1px 1px 1px 1px; margin: 5px 5px 5px 5px; border:1px solid #0000FF; height: 200px;' src='Images/game/"+immagine+"' /></center></p>")
} */

function sceneComposer(args){
	bgsPath = "Images/game/backgrounds/";
	pgsPath = "Images/game/peoples/";
	content = "<center><div style='position:relative;'><img src='" +
				 bgsPath + arguments[0] + "' style='height:200px; width:600px; border:1px solid #FFF'/>";
	if (arguments.length != 1){
		for (i=1;i<arguments.length;i+=3){
			content += "<div style='overflow: hidden; position:absolute; bottom: "+arguments[i+2]+"; left: "+arguments[i+1]+";'><img style='z-index:"+i+"; height: 170px;' src='" + pgsPath + arguments[i] + "' /></div>";
		}                
	}                            
		
	content += "</div></center>";
	testo(content);
}

/* esempi:
  sceneComposer("aula.jpg","tizia.png","100px","0px");
  sceneComposer("aula.jpg","tizia.png","100px","0px","tizia.png","150px","0px");
*/

// === Pagine del racconto ==================================================

function Intro() {
	titolo("Inizia l'avventura..")
		testo("Finalmente, il tuo primo giorno di università!! E' successo tutto così in fretta che ancora ti chiedi come sia potuto accadere.<br/><br />")
		testo("Anche se eri stato pluribocciato alle superiori, il mondo del lavoro era lontano anni luce dai tuoi programmi per il futuro. Certo, lavorare poteva già essere una buona prospettiva per alimentare il tuo desiderio di indipendenza, ma sentivi di avere ancora qualcosa da dire nell'ambiente scolastico, dovevi pur dimostrare che i balordi prof della sezione H avevano avuto torto nel condannarti per ben due volte a ripetere l'anno.<br />")
	continua(Intro2)
}

function Intro2() {
	titolo("Inizia l'avventura..")
		testo("Si, l'università rappresentava una chiara occasione di riscatto e sull'onda dell'entusiasmo per il tanto agognato diploma, ma soprattutto per causa della tua nota tendenza a fare lo sborone, hai ben pensato che tanto valeva fare le cose in grande iscrivendoti ad Ingegneria tra le lacrime incredule di mamma e papà, che ben conoscendo il loro pollo, hanno subito fiutato l'impossibilità della tua laurea.<br />")
		testo("Sei riuscito a convincerli dopo settimane di tentativi a metà strada tra ricatto e minaccia di rappresaglie ed infine hanno accettato a malincuore, ponendo però delle rigide restrizioni economiche.<br />")
	continua(Intro3)
}

function Intro3() {
	titolo("Sempre il solito..")
		testo("Certo, a prima vista la scelta di Ingegneria poteva sembrare in controtendenza con i tuoi interessi, soprattutto in campo femminile; in fin dei conti si tratta di una facoltà popolata piucchealtro da ragazzi e nei casi più fortunati da racchie isteriche e questo non è un buon fattore; d'altra parte hai pensato che comunque gli ingegneri hanno sempre un sacco di soldi e perciò anche un sacco di belle donne.<br />")
		testo("Quest'anno poi le cose si sono messe meglio del previsto: è stata aperta nello stesso edificio la facoltà di Ingegneria Biomedica. Non hai la più pallida idea di cosa si tratti, ma questa annessione ha portato ad un aumento esponenziale di ragazze, rispetto agli anni precedenti.<br />")
	continua(Intro4)
}
	
function Intro4() {
	titolo("Sempre il solito..")	
		testo("Risolto quindi il problema topa, le cose non possono che andare alla grande. Basterà trovare il modo di stare al passo con le lezioni e magari utilizzare qualche trucchetto da vecchio volpone per copiare agli esami... e tutto filerà liscio come l'olio.<br />")
		testo("A riprova di questo, il primo ostacolo rappresentato dalla prova d'ingresso è stato superato, grazie soprattutto al vicino di banco al quale insieme ad una calorosa stretta di mano, hai allungato un bel biglietto da 20.<br />")
		testo("Tra le altre cose ancora in sospeso poi, c'era anche l'idea di creare una piccola gang tra gli studenti universitari. Ai tempi non era andata molto bene, ma quelli erano scolaretti, dei mollaccioni. Ora sei all'università e più grande di almeno un paio d'anni rispetto a tutte le matricole. Sai che puoi giocare al meglio le tue carte...<br />")
	continua(Intro5)
}

function Intro5() {
	titolo("Il ritardatario")
		testo("Nel frattempo, dovresti smettere di gongolarti nei tuoi progetti folli e correre verso l'università; sei in ritardo, come al solito!<br />")
		testo("Speri che il prof si dimostri clemente almeno per il primo giorno di lezioni. Comunque dovresti davvero deciderti a dare un taglio netto al tuo stile di vita precedente, un vero esempio di bacco, tabacco, venere e... morfeo, purtroppo.<br />") 
		testo("E' il tuo primo giorno, sei in ritardo e come se non bastasse, non ricordi bene la strada per la facoltà di ingegneria.<br /><br />")
		testo("Huff Puff!! Pant!!!<br /><br />")	
		testo("Oh, meno male, eccola dopo la svolta... La tua aula dovrebbe essere al piano terra sulla destra... <br />")
		testo("Eccola li infatti!<br /><br />")
	rinvio("Bussa alla porta ed entra", Classe1)
}

function Classe1() {
	titolo("Nuovo mondo")
	sceneComposer("aula1.png");
		testo("La lezione è già iniziata, come temevi; il prof ti da una sbirciata da sotto gli occhiali, ma sembra non avere intenzioni troppo ostili.<br />")
		testo("Prima di sederti, dai un veloce sguardo d'insieme. L'aula è quasi nuova ed abbastanza spaziosa, i posti sono quasi tutti occupati e perciò la scelta riguardo dove sederti, è quasi obbligata.<br />")
	continua(Classe2)
}

function Classe2() {
	titolo("Nuovo mondo")
	sceneComposer("aula1.png");
		testo("La disposizione degli alunni è straordinariamente geometrica; nelle prime file, a sinistra ha preso posto un gruppetto di ragazze che anche da lontano non può sfuggire all'odioso marchio delle secchione, mentre dall'altra parte stanno quelli che chiunque sano di mente eviterebbe come la peste, ovvero gli sfigati.<br />")
		continua(Classe3)
}

function Classe3() {
	titolo("Nuovo mondo")
	sceneComposer("aula1.png");
		testo("Nelle file posteriori, finalmente qualche bel paio di chiappe poggiate con maestria sulle sedie a schiera, ripicchettate e truccate come fossero all'entrata della disco il sabato sera, ed accanto i pochi bulli che hanno scambiato il corso di analisi matematica 1 per quello di radiologia, viste le radiografie che stanno praticando sulle curve delle loro coetanee.<br />")
		testo("Mischiati a questi ultimi, stanno i perdigiorno, categoria un pò a se, di difficile collocazione gerarchica.<br />")
	continua(Classe4)

}

function Classe4() {
	titolo("Nuovo mondo")
	sceneComposer("aula1.png");
		testo("Vedi un posto libero, accanto ad una ragazzina dai lunghi capelli scuri un po troppo concentrata sulla spiegazione. Ad una occhiata veloce, fisicamente pare davvero in forma e con tutte le curve al posto giusto.<br />")
		testo("L'unico altro posto è dall'altra parte della classe, verso il fondo, accanto ad un pezzo di marcantonio intento a selezionare mp3 con il suo iPod. Da dietro, ti sembra proprio il compagno giusto per non annoiarsi durante la spiegazione.<br />")
	continua(Classe5)
}

function Classe5() {
	titolo("Nuovo mondo")
	sceneComposer("aula1.png");
		testo("Dove vuoi sederti?<br />")
	scelta("Accanto alla ragazza", "vai(Classe6_ragazza1)")
	scelta("Accanto al ragazzo", "vai(Classe6_ragazzo1)")
}

function Classe6_ragazza1() {
//	incCaratteristica("fascino",1)
	titolo("Una nuova amica?")
	sceneComposer("aula1.png","azusa.png","300px","1px");
		testo(".....<br />")
}


function Classe6_ragazzo1() {
//	incCaratteristica("simpatia",1)
	titolo("Un nuovo amico?")
	sceneComposer("aula1.png");
		testo(".....<br />")
}
/*	
	rinvioOgg("specchio ovale", 'Risp("Ti sembrerà strano, ma lo specchio riflette fedelmente ciò che gli poni davanti. Cosa credevi, che fosse uno specchio magico?")',
            "chiave", 'v.chiave = 0; v.chiave2 = 1; Risp("Tieni la chiave di fronte allo specchio, in modo da vederne il riflesso; tutt&#39;a un tratto senti una forza irresistibile che attira la chiave verso il suo riflesso, finché le due sembrano incrociarsi sulla superficie argentata.<p>Passa qualche istante senza che nulla accada.<p>Infine lo specchio rilascia lentamente la chiave, che sembra in qualche modo cambiata, ma non sapresti dire esattamente perché.")')
	scelta("La ignori.", "vai(G1_Ignori)")
	rinvio(" torre", Torre)  
	  continua(G1_AulaInizio)
	  	sceneComposer("aula1.png","tizia.png","250px","1px","azusa.png","300px","1px");
		v.nomeGigi = prompt("Come ti chiami?","Gigi");
		incCaratteristica("nomecaratteristica",valore) 
decCaratteristica("nomecaratteristica",valore)
	*/
