@A.Maurizio:
non e' un problema di non aiutarti.
Mi e' capitato tempo fa di partecipare ad una discussione, degenerata poi in litigio (ma io non c'entravo ), su un sito di fotografia, in cui un
professionista mostrava alcuni suoi lavori (alcune foto) fatti su alcuni gioielli. Quando, giustamente, i frequentatori del forum hanno iniziato a chiedere come ha fatto le foto, quali impostazioni ha utilizzato, che macchina fotografica/obietivo, come ha messo le luci, ecc.. il
professionista si e' trincerato dietro banali scuse relative ai
segreti del mestiere ed al fatto che divulgando tali informazioni rischiava di aumentare la concorrenza.
Ora, se tali informazioni, descritte in un post, sono sufficienti per acquisire tutte le competenze per fare foto di gioielli, allora che
professionista e'?
Poiche' di sviluppo software ne so qualcosa, come diversi altri frequentatori quali ad esempio
oregon, non ho problemi ad aiutarti. Non saranno certamente le informazioni che posso fornirti, acquisite in decine d'anni di studio/lavoro (non sono di primo pelo ) che potrebbero ridurre le mie probabilita' di trovare lavoro.
Il problema e' piu' banale: la realizzazione di tali giochi
non e' un problema di linguaggio di programmazione, ma di
algoritmi.
Questi
algoritmi sono molto specifici e abbastanza (per non dire molto o moltissimo) complessi e richiedono conoscenze abbastanza (per non dire estremamente) sofisticate, che sono al di la' della maggior parte delle persone che sviluppa software per lavoro (anche mie ).
Tali conoscenze si acquisiscono studiando Intelligenza Artificiale, Teoria dei Giochi, ed approffondendo specificatamente gli algoritmi usati nei giochi di scacchiera, per arrivare agli algoritmi specifici per i diversi tipi di gioco.
Quindi, oltre a studiare tali argomenti, e' necessario anche andare a caccia di informazioni, leggendo bibliografie, cercando documentazione nelle biblioteche universitarie sulle riviste specializzate di settore (che trovi all'universita' e non dal giornalaio, e' tra l'altro, costano un botto).
Come ha fatto notare
oregon tali algoritmi sono stati sviluppati in decine d'anni di studio/sviluppo/prova ed errore. Un listato non serve assolutamente a nulla: e' come se ti mostrassi il listato dell'implementazione di un driver di una scheda di rete. Senza le opportune conoscenze, non ci capiresti nulla, come non lo capirei io.
Ora, gli algoritmi implementati nei programmi di giochi per cellulare, ad esempio, sono in grado di
vincere contro un giocatore base o anche medio. Generalmente sono stati realizzati da persone che hanno implementato tali giochi gia' da tempo (i computer esistono da un po' di anni ).
Nel tuo caso, invece, vorrei farti notare alcuni punti:
1)
oregon ha giustamente fatto notare che tali algoritmi hanno richiesto anni di sviluppo. Ma questi algoritmi sono anche in gradi di
vincere. Per tuo diletto personale, non e' necessario arrivare all'implementazione di un algoritmo cosi' intelligente. Ti puoi accontentare dell'implementazione della tua idea di algoritmo. Anche se sei in gradi di batterlo, chissene.. ma lo hai implementato tu!
2) qualunque sia il tuo algoritmo, la lettura di un testo di Intelligenza Artificiale, e comprendere concetti come: grafo definito in modo implicito, funzione euristica, spazio degli stati, (e diversi altri concetti ...)
e' estremamente consigliata, perche' senza tali concetti, non saresti in gradi di esprimere l'algoritmo ed implementarlo. Ameno di non reinventarti da solo i concetti indicati, ovviamente
3) personalmente, oltre al testo di AI, che possiedo (e che a suo tempo ho studiato), non ho testi specifici sugli algortmi usati nei diversi tipi di giochi. Dovrei andare a caccia di informazioni allo stesso modo in cui faresti tu: Amazon, Wikipedia, Google, corsi universitali Online, MIT, Caltech, ecc.
4) la maggior parte dei frequentatori di questo forum sono ragazzi delle superiori o ai primi anni di universita'. Intelligenza Artificiale e' una branca dell'informatica abbastanza di nicchia e sopprattutto studiata verso gli ultimi anni di universita' nei corsi da 4 o 5 anni.
Quindi, non crucciarti se non trovi aiuto: non lo trovi non perche' non ti si voglia aiutare, ma piu' banalmente perche' non ci sono le competenze per farlo
Infine, ultima nota: per imparare a programmare ti consiglio di lasciar perder Excel, ed utilizzare VisualBasic.NET, cioe' utilizzare un vero ambiente di sviluppo, ed il solo linguaggio di programmazione (e relative librerie).
http://www.visualstudio.com/en-us/downloads#d-2010-express
(c'e' la versione 2013, ma per ora la versione 2010 e' piu' che sufficiente per le tue attuali necessita')
Questo ti mette nelle condizioni di non avere strane limitazioni/dipendenze che invece quasi sicuramente sono presenti nella versione di VB embedded con Microsoft Excel.
Se vuoi fare il salto di qualita', con un piccolo sforzo, ma con significativi ritorni in termini di flessibilita' e potenza espressiva del linguaggio, passa a C#: fondamentalmente ritroverai gli stessi concetti di VB.NET, ma con una sintassi diversa (ovviamente c'e' di piu', ma per ora puo' bastare).