Thread obsoleto [C#] Maze Engine - Crea il tuo labirinto

InfernoHacker

Utente Master
Autore del topic
18 Agosto 2007
2.775
0
Miglior risposta
0
Ciao a tutti, è un po' di tempo che non scrivo sul Forum, ed oggi voglio presentarvi un piccolo programma creato da me.




Lingua : Eng / Ita
Linguaggio di programmazione utilizzato : C# ( C Sharp )
Righe di codice : 2893
Data inizio progetto : 23/12/2012
Data fine progetto : 01/01/2013
Data rilascio : 01/01/2013
Versione : 1.0.0 ( Ultimo aggiornamento 1.0.2 )
Autore : Alessandro Mazzotti
E-Mail : alessandro.mazzotti93@gmail.com
Download :
Perfavore, Entra oppure Registrati per vedere i Link!
( Necessita di .Net Framework 4.0 )
Download aggiornato al 04/01/2013
Video :
Perfavore, Entra oppure Registrati per vedere i Link!


Consiglio la visione del video in HD.


Che cos'è Maze Engine ?

- Maze Engine è un semplice programma che permette di creare dei semplici labirinti da risolvere con il mouse.

Non sono semplici questi labirinti ?

- Dipende dall'ideatore degli stessi. E' possibile creare labirinti complessi, o labirinti semplici. Oltre alla regola "non toccare le pareti" ( non opzionale ), è possibile aggiungere ad ogni labirinto la regola "Riparti se torni indietro". Ciò rende sicuramente il labirinto più complicato

Sono personalizzabili i labirinti ?

- A parte la regola non opzionale "non toccare le pareti", i labirinti sono completamente personalizzabili.
E' possibile scegliere i messaggi da visualizzare ( per esempio quando si perde ).
E' possibile scegliere il colore dello sfondo del labirinto e la dimensione dello stesso.
E' possibile scegliere il colore, la lunghezza e la larghezza di ogni singolo muro, oltre alla sua posizione.
E' possibile scegliere il colore, la scritta e la posizione del punto di partenza e di arrivo.
E' possibile scegliere il numero di possibilità massime per poter completare il labirinto.
E' possibile dare un titolo al labirinto e fornire il proprio nome, email e/o sito web, cosicché l'autore possa essere riconosciuto.


Significa che i labirinti possono essere condivisi con altri utenti ?

- Assolutamente sì.
Ogni labirinto può essere importato in due modi :
Il primo consiste nell'importarlo tramite un file, tramite l'apposita opzione.
Il secondo consiste nell'importarlo tramite il codice sorgente.


Cosa significa "importare tramite codice sorgente" ?

- Ogni labirinto per essere eseguito ha bisogno di un codice che viene creato al momento della creazione dello stesso.
Per visualizzare il codice sorgente durante la creazione o la modifica di un labirinto, basterà cliccare su "Esegui il codice".
Da lì sarà possibile eseguire il labirinto anche senza salvarlo ( una sorta di debug ), inoltre sarà possibile copiare il codice da fornire ad altre persone.
Ogni modifica effettuata al labirinto non cambierà il codice in tempo reale, ma sarà necessario aggiornarlo tramite l'apposito pulsante "Aggiorna codice".


E' possibile modificare labirinti già creati ?

-Sì, è possibile.
Per farlo basterà importare il labirinto tramite file, caricarlo e modificarlo. Oppure, importarlo tramite codice sorgente.


Avventura o livello singolo :

Cos'è un livello singolo ?

- Un livello singolo è un semplice labirinto al quale si può giocare.


Cos'è un'avventura ?

- Un'avventura è un'insieme di livelli.


E' possibile creare avventure ? Ed è possibile distribuirle ?

- Sì, è possibile crearle e distribuirle.
Per creare un'avventura sono necessari almeno 3 livelli differenti. Una volta creati o importati almeno 3 livelli, basterà cliccare su "Crea o importa un'avventura".

Creare un'avventura è semplicissimo ! Basterà scegliere il livello dalla colonna di sinistra, ed aggiungerlo tramite l'apposito pulsante alla colonna di destra.

Com'è possibile notare, la colonna di destra è differente dalla colonna sinistra, inoltre se un livello è presente nella colonna di sinistra, non è presente in quella di destra e viceversa.

Per distribuire un'avventura basta fornire il file con estensione ".adv" ( nella directory "/adventure" ) e fornire i livelli utilizzati, ovvero i file con estensione ".mem", presenti nella directory "/maze".

Per importare un'avventura basta cliccare su "Crea o importa un'avventura" e successivamente su "Importa avventura".
Una volta importato il file dell'avventura, sarà necessario importare i vari livelli.




NOTA : Non essendo livelli singoli, è possibile importare questi ultimi, copiandoli direttamente nella directory "/maze".
Tuttavia essi, se non importati come ogni singolo livello, non potranno essere giocati singolarmente.
Inoltre, non sarà possibile modificare l'avventura importata in quanto i nuovi livelli devono essere aggiunti dalla lista.



Perché è differente la colonna di destra ?

- Nella colonna di destra è possibile spuntare i livelli che fungeranno da "Check Point".
Il primo livello è un Check Point di default, che venga selezionato o meno.


Cos'è un Check Point ?

- I Check Point possiamo definirli come "punti di salvataggio". Ogni volta che si cambierà livello ( che sia un livello successivo o precedente non importa ), il programma salverà i dati con il livello attuale.
Un Check Point permette di tornare indietro fino ad un certo punto in caso di perdita.
Se non vi è alcun Check Point, appena le possibilità di completare il labirinto saranno terminate, l'avventura ripartirà dal primo livello.

Per esempio :
Livello 1 ( Check Point di default )
Livello 2 ( No )
Livello 3 ( No )
Livello 4 ( No )
Livello 5 ( Check Point )
Livello 6 ( Ultimo livello - No )

Se arrivassimo al 5° livello ed uscissimo dal programma, al successivo avvio partiremmo dal 5° livello. Se al 5° livello perdessimo tutte le possibilità, torneremmo al 4° livello ed il programma salverebbe, quindi all'avvio successivo ripartiremmo dal 4° livello.

Se, invece, arrivassimo al 4° livello e perdessimo tutte le possibilità, ripartiremmo automaticamente dal primo livello.


E' possibile modificare avventure già create ( anche da altri ) ?

- Sì, è possibile modificarle importandole tramite file. A differenza dei singoli livelli, le avventure possono essere importate e modificate solo tramite file, anche se sono composte da un codice sorgente, proprio come i singoli livelli.


E' possibile modificare avventure e livelli, direttamente dal file ?

-Sì, è possibile. Per farlo è necessario aprire i file con un editor di testo e modificarne il codice sorgente.
( .mem per i livelli singoli e .adv per le avventure )


Spiegazione del codice sorgente di un livello :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Spiegazione del codice sorgente di un'avventura :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Se volete provare a scrivere un programma per leggere anche solamente un livello, guardate la spiegazione del codice sorgente postato qui sopra e se avete domande, scrivetele in una risposta nel topic.

Potete scriverlo nel linguaggio che preferite, ovviamente.

Qui di seguito ecco alcuni screen del programma :


START :
564842_4749045377335_837469125_n.jpg

Form principale :
734864_4749044817321_919425731_n.jpg

Creazione di un'avventura :
45018_4749044737319_917864018_n.jpg

Maker :
407921_4749045537339_1796879586_n.jpg

Creazione di un labirinto :
483281_4749045017326_1259415359_n.jpg

Code editing :
564806_4749044297308_1525822400_n.jpg

Labirinto finito ( il codice sorgente è riportato sopra ):
531241_4749045137329_1509089253_n.jpg



Spero che sarà apprezzato come programma. Anche se poco utile, penso sia qualcosa di "nuovo" qui su Sciax2, quindi punto sulla fantasia.

Saluti,

Alessandro.
 
Ultima modifica:
Riferimento: [C#] Maze Engine - Crea il tuo labirinto

Ottimo, davvero ottimo!!!! Bravissimo!!!!
Mi piace molto, già l'ho scaricato
:emoji_smiley:

P.S. Potrei sapere tramite MP come hai fatto a fare il code editing, e far capire al programma come eseguirlo??
Grazie :emoji_slight_smile: (o almeno un tutorial)
 
Riferimento: [C#] Maze Engine - Crea il tuo labirinto

Ottimo, davvero ottimo!!!! Bravissimo!!!!
Mi piace molto, già l'ho scaricato
:emoji_smiley:

P.S. Potrei sapere tramite MP come hai fatto a fare il code editing, e far capire al programma come eseguirlo??
Grazie :emoji_slight_smile: (o almeno un tutorial)

Se leggi attentamente il post principale, noterai che ho postato dei sorgenti.

Quei codici sono i sorgenti dei labirinti.

Il programma legge quei codici e li interpreta. Per leggere quei codici devi leggere il codice lettera per lettera e tramite le RegEx devi riconoscere i vari comandi.
@System32 : Potresti, per favore, cambiare il titolo del thread da "In Sviluppo" a "Release" ? Grazie.
 
Ultima modifica:
Riferimento: [C#] Maze Engine - Crea il tuo labirinto

Davvero ottimo, se posso avrei dei consigli:

1. Se la lingua è in Italiano, non è meglio scrivere "Tentativi" al posto di Attemps?
2. Se si gioca in "Modalità" avventura, quando finisci un livello è meglio passare direttamente a quello successivo senza msgbox;
2.1. Relativamente a quanto scritto sopra, per far capire in quale quadro ci si trova, si potrebbe mettere un label tipo: [1/2] (Primo quadro di due)
 
Riferimento: [C#] Maze Engine - Crea il tuo labirinto

Davvero un bel gioco...finalmente qualcosa di bello in questa sezione.
Modifico il prefisso.
 
Riferimento: [C#] Maze Engine - Crea il tuo labirinto

Davvero ottimo, se posso avrei dei consigli:

1. Se la lingua è in Italiano, non è meglio scrivere "Tentativi" al posto di Attemps?
2. Se si gioca in "Modalità" avventura, quando finisci un livello è meglio passare direttamente a quello successivo senza msgbox;
2.1. Relativamente a quanto scritto sopra, per far capire in quale quadro ci si trova, si potrebbe mettere un label tipo: [1/2] (Primo quadro di due)

Vedrò di modificarlo il prima possibile (:
@System32 Grazie.