In rete...http://www.elegio.it/javascript/scacchi-attacchi-minacce.html
Novità rispetto alla versione precedente in data 15 novembre 2012, ore 21 circa:
  1. Ho corretto gli errori del comportamento in attacco dei pedoni che non possono attaccare il pezzo che sta davanti a loro e non si possono spostare in scacchi ( == celle ) vuoti diagonali, neppure se sono vicini.

PETIZIONE CHE NON C'ENTRA NIENTE

Gli americani segnano le cifre decimali con il punto e le migliaia con la virgola mentre gli italiani usano la virgola per le cifre decimali ed IL PUNTO IN ALTO per separare le migliaia, i milioni, i miliardi ( loro li chiamano bilioni ed in effetto mi viene la bile a capire quanti ne rubano certa gente... ).

GLI italiani BALUBA non sanno che in Unicode si può ottenere il punto in alto con il carattere ˙ ovvero 36 ossia, in esadecimale, ˙ per cui posso scrivere gli euro rubati al mese dal politico medio italiano in questo modo : 25˙570,50 e in tutta la sua carriera : 13˙850˙585,25 ....

DITELO AI VOSTRI COLLEGHI BALUBA DI IMPARARE AD USARE LA MAPPA CARATTERI DI WINDOWS E DI USARE LA BELLA E COMODA CONVENZIONE DEGLI ITALIANI ABITUATI UN TEMPO AI MILIARDI DI LIRE PAGATI IN TASSE AI POLITICI!

Tornando agli scacchi in italiano sinonimo di INSUCCESSI a cui devo fare il callo...

Se i simboli Unicode appaiono troppo piccoli usare la combinazione di tasti [Ctrl][+] per ingrandire il testo e distinguere meglio i blu-bianchi dai rosso-neri ( nella versione finale userò il blu ed il rosso )

Questa pagina con poche istruzioni Javascript mi serve per mettere a punto la funzione del calcolo della minaccia e dell'attacco di un dato pezzo e dove il pezzo può andare normalmente..

Ovviamente non faccio controlli sulla liceità della posizione. Si possono usare anche vari re e fare assegnazioni di ogni tipo

Qui ora faccio le cose delicate ossia prima di tutto una disposizione a caso ma non modificabile se non cambiando lo script, con vari pezzi e poi la situazione modificata di un pezzo selezionabile visto come minacciato dagli altri e come attaccante...

:

DOVE: ( 18 vuol dire riga 1 e colonna 8 dall'alto in basso )
NOME: ( prova anche 1, 2, 3 o 5 o 9 o 51 o 59 etc... )

Questo piccolo documento serve solo per la messa a punto degli algoritmi di posizionamento... IL BELLO VERRÀ POI...

 1=tb,  2=ab,  3=cb,  4=rb,  5=db,  6=tb,  7=ab,  8=cb,  9=pb, 14=pb, 19=pr, 24=pr, 29=pr, 34=pr, 39=pr, 44=pr,
51=tr, 52=ar, 53=cr, 54=rr, 55=dr, 56=tr, 57=ar, 58=cr, 59=pr, 64=pb, 69=pr, 74=pr, 79=pr, 84=pr, 89=pr, 94=pr.

Per capire la logica anche delle promozioni dei pedoni che incrementano il loro nome di 1 se diventano donna, di 2 se diventano torre, di 3 se diventano alfiere e di 4 se diventano cavallo, trascrvo qui lo schema usato.

Sequenza di tipi: 
 0=v, 1=t, 2=a, 3=c, 4=r-blu,
 5=d, 6=t, 7=a, 8=c, 9=p,
10=d,11=t,12=a,13=c,14=p,
15=d,16=t,17=a,18=c,19=p,
20=d,21=t,22=a,23=c,24=p,
25=d,26=t,27=a,28=c,29=p,
30=d,31=t,32=a,33=c,34=p,
35=d,36=t,37=a,38=c,39=p,
40=d,41=t,42=a,43=c,44=p,
45=d,46=t,47=a,48=c,49=r-blu-arroccabile,

50=s,51=t,52=a,53=c,54=r-rossi,
55=d,56=t,57=a,58=c,59=p,
60=d,61=t,62=a,63=c,64=p,
65=d,66=t,67=a,68=c,69=p,
70=d,71=t,72=a,73=c,74=p,
75=d,76=t,77=a,78=c,79=p,
80=d,81=t,82=a,83=c,84=p,
85=d,86=t,87=a,88=c,89=p,
90=d,91=t,92=a,93=c,94=p,
95=d,96=t,97=a,98=c,99=r-rosso-arroccabile,
Dunque il re blu_bianco normale è 4,49 quello arroccabile la donna blu_bianca è 5, le due torri sono 1 e 6, i due alfieri sono 2 e 7, i due cavalli sono 3 ed 8. I pedoni blu_bianchi sono 14,19,24,29,34,39,44. Il re rosso_nero è 54,99 quello arroccabile, la donna rosso_nera è 55, le due torri sono 51 e 56, i due alfieri sono 52 e 57, i due cavalli sono 53 e 58 I pedoni rosso_neri sono 64,69,74,79,84,89,94.

Motori scacchistici - Bibliografia sul MiniMax

La forza del ragionamento del computer che gioca a scacchi sta tutta in questo breve algoritmo famosissimo per chi lo conosce...

Si invitano i fedeli cattolici a pregare per l'anima ebrea-ungara ma geniale dell'ideatore del MiniMax, John von Neumann, e a sperare in una sua veloce reincarnazio premiante per averlo con noi a lottare contro l'oscurantismo dei verdi contrari al Ponte di Messina, ad ogni applicazione redditizia dell'energia nucleare e ... contro ogni cosa, acciaio, energia, farmaci... contro tutto quello che profumi di ILLUMINISMO....
John von Neumann è stato una delle menti più brillanti e straordinarie del secolo scorso. Insieme a Leo Szilard, Edward Teller ed Eugene Wigner, i quattro facevano parte del "clan degli ungheresi" ai tempi di Los Alamos e del Progetto Manhattan. Oltre ad essere ungheresi, tutti e quattro erano di origini ebraiche ed erano stati costretti a rifugiarsi negli USA per sfuggire alle persecuzioni naziste.
Divagando invito a pregare anche per Edward Teller anche lui lontano parente di Attila, ossia per la santificazione dell'inventore della fusione calda ed esplosiva ossia della bomba H. Come miracoli citerei certe sue polverizzazioni... IO LO PREGO COSÌ TANTO... Come vorrei utilizzare di più, almeno verbalmente, la sua invenzione per illuminare le offuscate e fanatiche menti dei seguaci della Dea Gaia, nuovi carbonizzatori sui roghi dei moderni alchimisti... !!!
//
// qualazione è un vettore che memorizza quale azione ha realmente
// modificato la scacchiera in corrispondenza di una data mossa.
//
// Le funzioni ausiliarie sono:
// 
// valorescacchiera(scacchiera) == dati i pezzi e la loro posizione 
//                                 calcola il valore della scacchiera
//
// calcolazioni(listazioni,mossa,scacchiera) == allunga la lista delle
//                                 azioni fattibili da chi ha la mossa.
//
// calcolascacchiera(scacchiera,nuovazione); == modifica la scacchiera
//                                 in base alla nuova azione.
//
// La seguente funzione 
//
function minimax(mossa,azione,iniscacchiera,maxmossa,qualazione)
    var j,mj=0,decido=(mossa%2==0),listazioni=[],nuovasca,risulta;
    nuovasca=calcolascacchiera(iniscacchiera,azione);
    if(mossa>=maxmossa){
       qualazione[mossa]=azione;
       return valorescacchiera(nuovasca); }
    calcolazioni(listazioni,mossa,nuovasca);
    risulta=minimax(mossa+1,listazioni[mj],nuovasca,maxmossa,qualazione);
    for(j=1;listazioni.length>j;j++){
       nuovoval=minimax(mossa+1,listazioni[j],nuovasca,maxmossa,qualazione);
       if(!(!decido || nuoval>=risulta ) ||
          !( decido || risulta>=nuoval ) ){
          nuoval=risulta;mj=j}
       }
    qualazione[mossa]=listazioni[mj];
    return risulta;
    }

Qui lo ho programmato in Javascript ma non so ancora se non ho fatto errori e quali sono le sue prestazioni fatto girare da Internet Explorer 9 o 10 o da Chrome o da Safari o da Firefox o da Opera etc....

Quando finalmente metterò gratuitamente in rete il programma completo consiglio di usarlo come test empirico sulle prestazioni del proprio tablet o PC ossia per capire cosa riesce a fare chiedendogli di giocare in modo intelligente e dunque sempre più costoso a seconda dei parametri sulla intelligenza artificiale scelti

Esistono ovviamente programmi molto più professionali di quello che dilettantescamente farò... , anche gratuiti, per giocare a scacchi ma... per fare qualcosa in attesa( sognante ) che anche in Italia sia dato il permesso di studiare costruttivamente nuovi e più sicuri e redditizi tipi di reattori nucleari... SVBR-100

Giampaolo Bottoni
gpbottoni@gmail.com
http://www.alumni.polimi.it/it/Wall#10232043-giampaolo-bottoni-59627
( ing. nucleare 1972 )