peg-solitaire-2.2/locales/solitari_ca_ES.qm0000644000175000017500000002663313113036475021111 0ustar demarchidemarchi5(Wuwȭu A׭Sވފދ"ޗ GT!4?uV' vsjr2YZA27CI!Z̄ & ?S/ 3*1]B)Yv/vo:4?f @ `1U0u/gr!0&+a$`t#+@T0)%8v$JJ31[ #]cy= Д w1-ą@Ƈ؉52m2u ȭu7׭SOވ"ފ"ދ ޗ #T*4 s?uV1 Classico - rettangolo centraleClàssic - rectangle central frmPrincipal Classico - romboClàssic - rombe frmPrincipal&Classic - simmetriaClàssic - simetria frmPrincipal(Classico - superioreClàssic - superior frmPrincipal&Classico - ampliatoClàssic ampliat frmPrincipalContinua frmPrincipalCreditiCredits frmPrincipalCrediti del %1Credits del %1 frmPrincipalCtrl+P frmPrincipalCtrl+R frmPrincipalCtrl+S frmPrincipalCtrl+Z frmPrincipalSicuro che vuole caricare la soluzione? Perde i movimenti realizzati!GDe debó voleu carregar la solució? Perdreu els moviments que heu fet! frmPrincipalfSicuro che vuole eliminare le sue marche personali?,De debó voleu eliminar les vostres marques? frmPrincipal$Conservando i dati Desant dades frmPrincipal8Conservando i dati: %1 di %2Desant dades: %1 de %2 frmPrincipalDiamante 5x5 Diamant 5x5 frmPrincipalDiamante 7x7 Diamant 7x7 frmPrincipalDiamante 9x9 Diamant 9x9 frmPrincipal$Due quadrati 10x10Dos quadrats 10x10 frmPrincipal$Due quadrati 11x11Dos quadrats 11x11 frmPrincipal Due quadrati 9x9Dos quadrats 9x9 frmPrincipal6Elimina le marche personaliElimina les marques personals frmPrincipal6Elimina le marche personaliElimina marques personals frmPrincipalEuropeaEuropeu frmPrincipal Europea - croceEuropeu - creu frmPrincipal$Europea - quadratoEuropeu - quadrat frmPrincipalHa ottenuto una nuova marca personale in questa modalit del gioco@Heu establert un nou record personal en aquesta modalitat de joc frmPrincipalEsagonale 7x11Hexagonal 7x11 frmPrincipal(Esagonale inclinato Hexagonal inclinat frmPrincipal LinguaIdioma frmPrincipalIncompleto 6x6 Incomplet 6x6 frmPrincipalIncompleto 7x7 Incomplet 7x7 frmPrincipal,Inizio della soluzioneInici solució frmPrincipallGioco carico. La vostra marca personale attuale : %1.Joc carregat. El vostre record actual és: %1 frmPrincipalGioco risoluto! Joc resolt! frmPrincipal*Giochi personalizzatiJocs personalitzats frmPrincipal Marche personaliMarques personals frmPrincipal GiochiModalitats del joc frmPrincipalMovimento  Moviment  frmPrincipal$Movimento %1 di %2Moviment %1 de %2  frmPrincipal>Non si trovato una soluzione!)No ha estat possible trobar una solució! frmPrincipal.Non c alcun movimento!No hi ha moviments! frmPrincipalfNon ci sono pi movimenti: hai terminato il gioco!.No hi ha més moviments: el joc ha finalitzat! frmPrincipal*Non ci sono soluzioniNo hi ha solucions frmPrincipal<Non si trovato l'archivio %1No s'ha trobat l'arxiu %1 frmPrincipal(Nueva marca personalNova marca personal frmPrincipal PausaPausa frmPrincipalPentagonale Pentagonal frmPrincipalPersonalizzato Personalitzat frmPrincipalProgrammaPrograma frmPrincipalQuadrato 5x5 Quadrat 5x5 frmPrincipal"Quadratto 5x5 - HQuadrat 5x5 - H frmPrincipal0Quadratto 5x5 - centraleQuadrat 5x5 - central frmPrincipal0Quadratto 5x5 - piramideQuadrat 5x5 - piràmide frmPrincipal2Quadratto 5x5 - quadrattiQuadrat 5x5 - quadrats frmPrincipalQuadrato 6x6 Quadrat 6x6 frmPrincipalQuadrato 8x8 Quadrat 8x8 frmPrincipalQuadrato 9x9 Quadrat 9x9 frmPrincipal,Quattro quadrati 13x13Quatre quadrats 13x13 frmPrincipal6Ricomincia il gioco attualeReinicia el joc actual frmPrincipalRisolveResol frmPrincipalRetrocedere Retrocedeix frmPrincipalRombo 36Rombe 36 frmPrincipal"Si caricato il S'ha carregat la  frmPrincipalBSi trovato una nuova soluzione!S'ha trobat una nova solució! frmPrincipal Shift+Ctrl+Z frmPrincipalSolitarioSolitari frmPrincipalSolitario 3x5 Solitari 3x5 frmPrincipal"Solitario 3x5 bisSolitari 3x5 bis frmPrincipalSolitario 4x4 Solitari 4x4 frmPrincipalSolitario 4x5 Solitari 4x5 frmPrincipalSolitario 5x6 Solitari 5x6 frmPrincipalSolitario 6x5 Solitari 6x5 frmPrincipalSolitario 6x6 Solitari 6x6 frmPrincipalSolitario 6x7 Solitari 6x7 frmPrincipalSolitario 7x5 Solitari 7x5 frmPrincipalSolitario 8x3 Solitari 8x3 frmPrincipalSolitario 8x6 Solitari 8x6 frmPrincipalSolitario 8x9 Solitari 8x9 frmPrincipalSolitario OK Solitari OK frmPrincipal Solitario a casoSolitari a l'atzar frmPrincipal Solitario stellaSolitari estrella 7x7 frmPrincipalSoloSolo frmPrincipalSoluzioni Solucions frmPrincipalSoluzione %1 Solució %1 frmPrincipalBSotto licenza GPL3.0 o posteriore#Sota llicència GPL 2.0 o posterior frmPrincipal$Tre quadrati 13x13Tres quadrats 13x13 frmPrincipal$Tre quadrati 16x16Tres quadrats 16x16 frmPrincipalTriangolare 10 Triangular 10 frmPrincipalTriangolare 4 Triangular 4 frmPrincipalTriangolare 4x7Triangular 4x7 frmPrincipal4Triangolare 4x7 - piramideTriangular 4x7 - piràmide frmPrincipal6Triangolare 4x7 - quadrattoTriangular 4x7 - quadrat frmPrincipalTriangolare 5 Triangular 5 frmPrincipalTriangolare 6 Triangular 6 frmPrincipalTriangolare 7 Triangular 7 frmPrincipalTriangolare 8 Triangular 8 frmPrincipalTriangolare 9 Triangular 9 frmPrincipal4Vedere le marche personaliVeure marques personals frmPrincipal.Vedere marche personali Veure records frmPrincipal"Web del programmaWeb del programa frmPrincipalWeb del tangramWeb del tangram frmPrincipalWieglebWiegleb frmPrincipal$Wiegleb - classicoWiegleb - clàssic frmPrincipal.Wiegleb - piccola croceWiegleb - creu petita frmPrincipal"Wiegleb - frecciaWiegleb - fletxa frmPrincipal&Wiegleb - simmetriaWiegleb - simetria frmPrincipalWiegleb ridottoWiegleb reduit frmPrincipalpeg-solitaire-2.2/locales/solitari.qm0000644000175000017500000003261113113036312020036 0ustar demarchidemarchiDie Daten bewachend: % 1 der %2Desant dades: %1 de %2 frmPrincipalDiamant 5x5 Diamant 5x5 frmPrincipalDiamant 7x7 Diamant 7x7 frmPrincipalDiamant 9x9 Diamant 9x9 frmPrincipal,Zwei quadratisch 10x10Dos quadrats 10x10 frmPrincipal,Zwei quadratisch 11x11Dos quadrats 11x11 frmPrincipal(Zwei quadratisch 9x9Dos quadrats 9x9 frmPrincipalJEr beseitigt die persnlichen Marken Elimina les marques personals frmPrincipalBBeseitigen Sie persnliche MarkenElimina marques personals frmPrincipalEuropischeEuropeu frmPrincipal$Europisch - crossEuropeu - creu frmPrincipal,Europer - QuadratischEuropeu - quadrat frmPrincipalErreicht hat einen neuen persnlichen Rekord in dieser Art von Spiel@Heu establert un nou record personal en aquesta modalitat de joc frmPrincipalSechskant 7x11Hexagonal 7x11 frmPrincipal&Sechseckige geneigtHexagonal inclinat frmPrincipalSpracheIdioma frmPrincipal(Unvollstndiger 6x6  Incomplet 6x6 frmPrincipal"Unvollstndig 7x7 Incomplet 7x7 frmPrincipal$Beginn der Lsung Inici solució frmPrincipallSpiel geladen. Ihre aktuelle persnliche Marke ist: %1.Joc carregat. El vostre record actual és: %1 frmPrincipalSpiel gelst! Joc resolt! frmPrincipal2Benutzerdefinierte SpieleJocs personalitzats frmPrincipal&Persnliche Marken Marques personals frmPrincipalSpiels Modalitats del joc frmPrincipalBewegung  Moviment  frmPrincipal"Movement %1 -- %2Moviment %1 de %2  frmPrincipalPEs hat sich eine Lsung nicht befunden! )No ha estat possible trobar una solució! frmPrincipal.Es gibt keine Bewegung!No hi ha moviments! frmPrincipalRNicht mehr bewegt: hat das Spiel beendet!.No hi ha més moviments: el joc ha finalitzat! frmPrincipal.Es gibt keine Lsungen No hi ha solucions frmPrincipal@Konnte die Datei nicht finden %1No s'ha trobat l'arxiu %1 frmPrincipal2Neue persnliche BestzeitNova marca personal frmPrincipalAnhaltenPausa frmPrincipalPentagonal Pentagonal frmPrincipal$Benutzerdefinierte Personalitzat frmPrincipalProgrammPrograma frmPrincipalQuadrat 5x5 Quadrat 5x5 frmPrincipal"Quadrat 5 x 5 - HQuadrat 5x5 - H frmPrincipal.Quadrat 5 x 5 - zentralQuadrat 5x5 - central frmPrincipal0Quadrat 5 x 5 - PyramideQuadrat 5x5 - piràmide frmPrincipal.Quadrat 5 x 5 - QuadratQuadrat 5x5 - quadrats frmPrincipalQuadrat 6x6 Quadrat 6x6 frmPrincipalQuadrat 8x8 Quadrat 8x8 frmPrincipal9x9-Quadrat Quadrat 9x9 frmPrincipal.Vier quadratische 13x13Quatre quadrats 13x13 frmPrincipal2Startet das aktuelle SpieReinicia el joc actual frmPrincipalLstResol frmPrincipalRcklauf Retrocedeix frmPrincipalRaute 36Rombe 36 frmPrincipal"Er wurde geladen S'ha carregat la  frmPrincipalNEs hat sich eine Lsung nicht befunden!S'ha trobat una nova solució! frmPrincipalShift+Ctrl+Z Shift+Ctrl+Z frmPrincipalSolitrSolitari frmPrincipalSolitr 3x5 Solitari 3x5 frmPrincipalSolitr 3x5 bisSolitari 3x5 bis frmPrincipalSolitr 4x4 Solitari 4x4 frmPrincipalSolitr 4x5 Solitari 4x5 frmPrincipalSolitr 5x6 Solitari 5x6 frmPrincipalSolitr 6x5 Solitari 6x5 frmPrincipalSolitr 6x6 Solitari 6x6 frmPrincipalSolitr 6x7 Solitari 6x7 frmPrincipalSolitr 7x5 Solitari 7x5 frmPrincipalSolitr 8x3 Solitari 8x3 frmPrincipalSolitr 8x6 Solitari 8x6 frmPrincipalSolitr 8x9 Solitari 8x9 frmPrincipalOK Solitr Solitari OK frmPrincipal"Zufllige SolitrSolitari a l'atzar frmPrincipal Solitr Star 7x7Solitari estrella 7x7 frmPrincipalSoloSolo frmPrincipalSolutions Solucions frmPrincipalLsung %1  Solució %1 frmPrincipalLUnter Erlaubnis GPL 3.0 oder spterer #Sota llicència GPL 2.0 o posterior frmPrincipal,Drei quadratisch 13x13Tres quadrats 13x13 frmPrincipal,Drei quadratisch 16x16Tres quadrats 16x16 frmPrincipalDreieckige 10 Triangular 10 frmPrincipalDreieckige 4 Triangular 4 frmPrincipal Dreieckiger 4x7 Triangular 4x7 frmPrincipal6Dreieckige 4 x 7 - PyramideTriangular 4x7 - piràmide frmPrincipal4Dreieckige 4 x 7 - QuadratTriangular 4x7 - quadrat frmPrincipalDreieckige 5 Triangular 5 frmPrincipalDreieckige 6 Triangular 6 frmPrincipalDreieckige 7 Triangular 7 frmPrincipalDreieckige 8 Triangular 8 frmPrincipalDreieckige 9 Triangular 9 frmPrincipal&Sehen Sie die HhenVeure marques personals frmPrincipal0View persnlichen Marken Veure records frmPrincipalWeb-ProgrammWeb del programa frmPrincipalWeb of tangramWeb del tangram frmPrincipalWieglebWiegleb frmPrincipal&Wiegleb - KlassikerWiegleb - clàssic frmPrincipal*Wiegleb - Kreuz kleinWiegleb - creu petita frmPrincipalWiegleb - PfeilWiegleb - fletxa frmPrincipal&Wiegleb - SymmetrieWiegleb - simetria frmPrincipal$Reduzierte WieglebWiegleb reduit frmPrincipalpeg-solitaire-2.2/locales/solitari_pt_PT.qm0000644000175000017500000003340513113041745021154 0ustar demarchidemarchirCr4vsjr2YZA17CnI!>̄ Y& )]/ a3*|13B)v/vo:4 $W @ B1O0u/Gr!0&+a$:t#+@T 0)%8v$xJJ30[? #;c{=Д w1-ą2Ƈv؉529$u ȭu׭SQވ"ފ"oދ ޗ "T)4 Y?uV1 v% 'a  N0 f _ *C - % - & - & - ' - 'c - ' - ' -(8 -( -( -) Ds{ ] ]= ] ]  ] .A 8- f ~ 3H 0q$mc. 0Z<^pBY@R*SC`u% ; iS `9! r0 i2CastellanoEnglish Traduccio - diagonal - diagonal frmPrincipal - inverso - invers frmPrincipal de %1 de %1 frmPrincipal&%1 %2 frmPrincipal,&Movimientos del juego&Moviments joc frmPrincipal&Cierra&Surt frmPrincipal|. Utilize los botones Avanza y Retrocede para ver la solucin.E. Feu servir els botons Avança i Retrocedeix per veure la solució.  frmPrincipalAgradecimientos Agraïments frmPrincipal AyudaAjuda frmPrincipalIngls antiguo Anglès antic frmPrincipal2Ingls antiguo - diamanteAnglès antic - diamant frmPrincipal*Asimtrico - superiorAsimètric - superior frmPrincipalAsimtrico 6x6Asimètric 6x6 frmPrincipalAsimtrico 8x8Asimètric 8x8 frmPrincipalParaAtura frmPrincipal AvanzaAvança frmPrincipal2Sin juegos personalizadosCap joc personalitzat frmPrincipal$Cargando los datosCarregant dades frmPrincipalCargar  Carregar  frmPrincipal"Buscando solucinCercant solució frmPrincipalClsicoClàssic frmPrincipal,Clsico - 4 forquillasClàssic - 4 forquilles frmPrincipal"Clsico - cuernosClàssic - Banyes frmPrincipal Clsico - cabaaClàssic - Cabana frmPrincipal.Clsico - dos cuadradosClàssic - Dos quadrats frmPrincipalClsico - E  Clàssic - E frmPrincipalClsico - O Clàssic - O frmPrincipal"Clsico - palacioClàssic - Palau frmPrincipalClsico - R Clàssic - R frmPrincipalClsico - T Clàssic - T frmPrincipal&Clsico - antorchaClàssic - Torxa frmPrincipalClsico - X Clàssic - X frmPrincipalClsico - rbolClàssic - arbre frmPrincipal"Clsico - centralClàssic - central frmPrincipal*Clsico - cruz grandeClàssic - creu gran frmPrincipal,Clsico - cruz pequeaClàssic - creu petita frmPrincipal Clsico - cpulaClàssic - cúpula frmPrincipal$Clsico - diamanteClàssic - diamant frmPrincipal Clsico - flechaClàssic - fletxa frmPrincipal$Clsico - inferiorClàssic - inferior frmPrincipal&Clsico - molinilloClàssic - molinet frmPrincipal&Clsico - pentgonoClàssic - pentàgon frmPrincipal$Clsico - pirmideClàssic - piràmide frmPrincipal$Clsico - cuadradoClàssic - quadrat frmPrincipal4Clsico - cuadrado centralClàssic - quadrat central frmPrincipal6Clsico - rectgulo centralClàssic - rectangle central frmPrincipalClsico romboClàssic - rombe frmPrincipal$Clsico - simetriaClàssic - simetria frmPrincipal$Clsico - superiorClàssic - superior frmPrincipal Clsico ampliadoClàssic ampliat frmPrincipalContinuaContinua frmPrincipalCrditosCredits frmPrincipalCrditos del %1Credits del %1 frmPrincipalCtrl+P frmPrincipal Ctrl-RCtrl+R frmPrincipal Crtl+SCtrl+S frmPrincipal Crtl-ZCtrl+Z frmPrincipalSeguro que quiere cargar la solucin? Va a perder los movimientos realizados!GDe debó voleu carregar la solució? Perdreu els moviments que heu fet! frmPrincipalbSeguro que quiere eliminar sus marcas personales?,De debó voleu eliminar les vostres marques? frmPrincipal&Guardando los datos Desant dades frmPrincipal:Guardando los datos: %1 de %2Desant dades: %1 de %2 frmPrincipalDiamante 5x5 Diamant 5x5 frmPrincipalDiamante 7x7 Diamant 7x7 frmPrincipalDiamante 9x9 Diamant 9x9 frmPrincipal&Dos cuadrados 10x10Dos quadrats 10x10 frmPrincipal&Dos cuadrados 11x11Dos quadrats 11x11 frmPrincipal"Dos cuadrados 9x9Dos quadrats 9x9 frmPrincipal:Elimina las marcas personalesElimina les marques personals frmPrincipal:Elimina las marcas personalesElimina marques personals frmPrincipalEuropeoEuropeu frmPrincipalEuropeo - cruzEuropeu - creu frmPrincipal$Europeo - quadradoEuropeu - quadrat frmPrincipalHa conseguido una nueva marca personal en esta modalidad del juego@Heu establert un nou record personal en aquesta modalitat de joc frmPrincipalHexagonal 7x11Hexagonal 7x11 frmPrincipal&Hexagonal inclinadoHexagonal inclinat frmPrincipal IdiomaIdioma frmPrincipalIncompleto 6x6 Incomplet 6x6 frmPrincipalIncompleto 7x7 Incomplet 7x7 frmPrincipal*Inicio de la solucinInici solució frmPrincipalfJuego cargado. Vuestra marca personal actual es: %1.Joc carregat. El vostre record actual és: %1 frmPrincipalJuego resuelto! Joc resolt! frmPrincipal*Juegos personalizadosJocs personalitzats frmPrincipal"Marcas personalesMarques personals frmPrincipal JuegosModalitats del joc frmPrincipalMovimiento  Moviment  frmPrincipal(Movimiento %1 de %2Moviment %1 de %2  frmPrincipalBNo se ha encontrado una solucin!)No ha estat possible trobar una solució! frmPrincipal(No hay movimientos!No hi ha moviments! frmPrincipal^No hay ms movimientos: ha finalizado el juego!.No hi ha més moviments: el joc ha finalitzat! frmPrincipal"No hay solucionesNo hi ha solucions frmPrincipalBNo se ha encontrado el archivo %1No s'ha trobat l'arxiu %1 frmPrincipal(Nueva marca personalNova marca personal frmPrincipalParaPausa frmPrincipalPentagonal Pentagonal frmPrincipalPersonalizado Personalitzat frmPrincipalProgramaPrograma frmPrincipalCuadrado 5x5 Quadrat 5x5 frmPrincipal Cuadrado 5x5 - HQuadrat 5x5 - H frmPrincipal,Cuadrado 5x5 - centralQuadrat 5x5 - central frmPrincipal.Cuadrado 5x5 - pirmideQuadrat 5x5 - piràmide frmPrincipal2Cuadrado 5x5 - cuadradosQuadrat 5x5 - quadrats frmPrincipalCuadrado 6x6 Quadrat 6x6 frmPrincipalCuadrado 8x8 Quadrat 8x8 frmPrincipalCuadrado 9x9 Quadrat 9x9 frmPrincipal,Cuatro cuadrados 13x13Quatre quadrats 13x13 frmPrincipal0Reinicia el juego actualReinicia el joc actual frmPrincipalResuelveResol frmPrincipalRetrocede Retrocedeix frmPrincipalRombo 36Rombe 36 frmPrincipal"Se ha cargado la S'ha carregat la  frmPrincipalHSe ha encontrado una nueva solucin!S'ha trobat una nova solució! frmPrincipal Shift+Ctrl+Z frmPrincipalSolitarioSolitari frmPrincipalSolitario 3x5 Solitari 3x5 frmPrincipal"Solitario 3x5 bisSolitari 3x5 bis frmPrincipalSolitario 4x4 Solitari 4x4 frmPrincipalSolitario 4x5 Solitari 4x5 frmPrincipalSolitario 5x6 Solitari 5x6 frmPrincipalSolitario 6x5 Solitari 6x5 frmPrincipalSolitario 6x6 Solitari 6x6 frmPrincipalSolitario 6x7 Solitari 6x7 frmPrincipalSolitario 7x5 Solitari 7x5 frmPrincipalSolitario 8x3 Solitari 8x3 frmPrincipalSolitario 8x6 Solitari 8x6 frmPrincipalSolitario 8x9 Solitari 8x9 frmPrincipalSolitario OK Solitari OK frmPrincipal"Solitario al azarSolitari a l'atzar frmPrincipal,Solitario estrella 7x7Solitari estrella 7x7 frmPrincipalSoloSolo frmPrincipalSoluciones Solucions frmPrincipalSolucin %1 Solució %1 frmPrincipalBBajo licencia GPL 3.0 o posterior#Sota llicència GPL 2.0 o posterior frmPrincipal*Tres cuadrados 13x13 Tres quadrats 13x13 frmPrincipal*Tres cuadrados 16x16 Tres quadrats 16x16 frmPrincipalTriangular 10 Triangular 10 frmPrincipalTriangular 4 Triangular 4 frmPrincipalTriangular 4x7Triangular 4x7 frmPrincipal2Triangular 4x7 - pirmideTriangular 4x7 - piràmide frmPrincipal2Triangular 4x7 - cuadradoTriangular 4x7 - quadrat frmPrincipalTriangular 5 Triangular 5 frmPrincipalTriangular 6 Triangular 6 frmPrincipalTriangular 7 Triangular 7 frmPrincipalTriangular 8 Triangular 8 frmPrincipalTriangular 9 Triangular 9 frmPrincipal2Ver las marcas personalesVeure marques personals frmPrincipal*Ver marcas personales Veure records frmPrincipal Web del programaWeb del programa frmPrincipalWeb del tangramWeb del tangram frmPrincipalWieglebWiegleb frmPrincipal"Wiegleb - clsicoWiegleb - clàssic frmPrincipal,Wiegleb - cruz pequeaWiegleb - creu petita frmPrincipalWiegleb flechaWiegleb - fletxa frmPrincipal$Wiegleb - simetriaWiegleb - simetria frmPrincipal Wiegleb reducidoWiegleb reduit frmPrincipalpeg-solitaire-2.2/locales/solitari_pl_PL.qm0000644000175000017500000003306313113042215021125 0ustar demarchidemarchi 8+ f ~ 3, /:q$mcl. .<^\BY*R)SC`u  ; iS`1! T.i12 PolskiEnglish Traduccio - diagonalny - diagonal frmPrincipal - odwrcony - invers frmPrincipal z %1 de %1 frmPrincipal &%1 %2&%1 %2 frmPrincipal &Ruchy&Moviments joc frmPrincipal&ZakoDcz&Surt frmPrincipalxU|yj przyciskw Cofnij i Przywr |eby zobaczy rozwizanie.E. Feu servir els botons Avança i Retrocedeix per veure la solució.  frmPrincipalPodzikowania Agraïments frmPrincipal PomocAjuda frmPrincipalStaroangielski Anglès antic frmPrincipal0Staroangielski - diamentAnglès antic - diamant frmPrincipal(Asymetryczny - grnyAsimètric - superior frmPrincipal Asymetryczny 6x6Asimètric 6x6 frmPrincipal"Asymetryczny 8x8Asimètric 8x8 frmPrincipalStopAtura frmPrincipalPowtrz ruchAvança frmPrincipalBez gry wBasnejCap joc personalitzat frmPrincipal$Wczytywanie danychCarregant dades frmPrincipal Wstaw Carregar  frmPrincipal$Szukaj rozwizaniaCercant solució frmPrincipalKlasycznyClàssic frmPrincipal4Klasyczny - cztery widelceClàssic - 4 forquilles frmPrincipal Klasyczny - rogiClàssic - Banyes frmPrincipal$Klasyczny - chatkaClàssic - Cabana frmPrincipal0Klasyczny - dwa kwadratyClàssic - Dos quadrats frmPrincipalKlasyczny - E Clàssic - E frmPrincipalKlasyczny - O Clàssic - O frmPrincipal"Klasyczny - paBacClàssic - Palau frmPrincipalKlasyczny - R Clàssic - R frmPrincipalKlasyczny - T Clàssic - T frmPrincipal*Klasyczny - pochodniaClàssic - Torxa frmPrincipalKlasyczny - X Clàssic - X frmPrincipal$Klasyczny - drzewoClàssic - arbre frmPrincipal(Klasyczny - [rodkowyClàssic - central frmPrincipal,Klasyczny - du|y krzy|Clàssic - creu gran frmPrincipal,Klasyczny - maBy krzy|Clàssic - creu petita frmPrincipal$Klasyczny - kopuBaClàssic - cúpula frmPrincipal&Klasyczny - diamentClàssic - diamant frmPrincipal(Klasyczny - strzaBkaClàssic - fletxa frmPrincipal"Klasyczny - dolnyClàssic - inferior frmPrincipal Klasyczny - mBynClàssic - molinet frmPrincipal*Klasyczny - picioktClàssic - pentàgon frmPrincipal(Klasyczny - piramidaClàssic - piràmide frmPrincipal&Klasyczny - kwadratClàssic - quadrat frmPrincipal(Klasyczny - [rodkowyClàssic - quadrat central frmPrincipal<Klasyczny - [rodkowy prostoktClàssic - rectangle central frmPrincipal Klasyczny - rombClàssic - rombe frmPrincipal.Klasyczny - symetrycznyClàssic - simetria frmPrincipal"Klasyczny - grnyClàssic - superior frmPrincipal*Klasyczny rozszerzonyClàssic ampliat frmPrincipal WznwContinua frmPrincipalO programieCredits frmPrincipalO %1Credits del %1 frmPrincipal Ctrl+PCtrl+P frmPrincipalCtrl+R frmPrincipalCtrl+S frmPrincipal Ctrl+ZCtrl+Z frmPrincipalCzy na pewno chcesz wstawi rozwizanie? Stracisz dotychczasowe ruchy!GDe debó voleu carregar la solució? Perdreu els moviments que heu fet! frmPrincipaljCzy jeste[ pewien, |e chcesz usun najlepsze wyniki?,De debó voleu eliminar les vostres marques? frmPrincipal$Zapisywanie danych Desant dades frmPrincipal8Zapisywanie danych: %1 of %2Desant dades: %1 de %2 frmPrincipalDiament 5x5 Diamant 5x5 frmPrincipalDiament 7x7 Diamant 7x7 frmPrincipalDiament 9x9 Diamant 9x9 frmPrincipal$Dwa kwadraty 10x10Dos quadrats 10x10 frmPrincipal$Dwa kwadraty 11x11Dos quadrats 11x11 frmPrincipal Dwa kwadraty 9x9Dos quadrats 9x9 frmPrincipal*UsuD najlepsze wynikiElimina les marques personals frmPrincipal*UsuD najlepsze wynikiElimina marques personals frmPrincipalEuropejskiEuropeu frmPrincipal$Europejski - krzy|Europeu - creu frmPrincipal(Europejski - kwadratEuropeu - quadrat frmPrincipalDUstanowiBe[ nowy rekord w tej grze@Heu establert un nou record personal en aquesta modalitat de joc frmPrincipal"Sze[cioktny 7x11Hexagonal 7x11 frmPrincipal$Sze[ciokt pochyByHexagonal inclinat frmPrincipal JzykIdioma frmPrincipal Niekompletny 6x6 Incomplet 6x6 frmPrincipal Niekompletny 7x7 Incomplet 7x7 frmPrincipalIdz do pocztkuInici solució frmPrincipalXGra zostaBa wczytana. Twj obecny rekord: %1.Joc carregat. El vostre record actual és: %1 frmPrincipalGra rozwizana! Joc resolt! frmPrincipalGry wBasneJocs personalitzats frmPrincipal Najlepsze wynikiMarques personals frmPrincipalRodzaj gryModalitats del joc frmPrincipalRuch Moviment  frmPrincipalIdz do %1 z %2Moviment %1 de %2  frmPrincipal6Nie znaleziono rozwizania!)No ha estat possible trobar una solució! frmPrincipalNie ma ruchu!No hi ha moviments! frmPrincipalDBrak mo|liwo[ci ruchu: koniec gry!.No hi ha més moviments: el joc ha finalitzat! frmPrincipal4Nie znaleziono rozwizaniaNo hi ha solucions frmPrincipal(Plik %1 nie istniejeNo s'ha trobat l'arxiu %1 frmPrincipalNowy rekordNova marca personal frmPrincipalWstrzymajPausa frmPrincipalPicioktny Pentagonal frmPrincipalUkBad wBasny Personalitzat frmPrincipalProgramPrograma frmPrincipalKwadrat 5x5 Quadrat 5x5 frmPrincipalKwadrat 5x5 - HQuadrat 5x5 - H frmPrincipal,Kwadrat 5x5 - [rodkowyQuadrat 5x5 - central frmPrincipal,Kwadrat 5x5 - piramidaQuadrat 5x5 - piràmide frmPrincipal:Kwadrat 5x5 - cztery kwadratyQuadrat 5x5 - quadrats frmPrincipalKwadrat 6x6 Quadrat 6x6 frmPrincipalKwadrat 8x8 Quadrat 8x8 frmPrincipalKwadrat 9x9 Quadrat 9x9 frmPrincipal*Cztery kwadraty13x13 Quatre quadrats 13x13 frmPrincipal&Zacznij od pocztkuReinicia el joc actual frmPrincipalRozwi|Resol frmPrincipalCofnij ruch Retrocedeix frmPrincipalRomb 36Rombe 36 frmPrincipalZaBadowanyS'ha carregat la  frmPrincipal8Znaleziono nowe rozwizanie!S'ha trobat una nova solució! frmPrincipal Shift+Ctrl+Z frmPrincipalPeg SolitaireSolitari frmPrincipalSamotnik 3x5 Solitari 3x5 frmPrincipal Samotnik 3x5 bisSolitari 3x5 bis frmPrincipalSamotnik 4x4 Solitari 4x4 frmPrincipalSamotnik 4x5 Solitari 4x5 frmPrincipalSamotnik 5x6 Solitari 5x6 frmPrincipalSamotnik 6x5 Solitari 6x5 frmPrincipalSamotnik 6x6 Solitari 6x6 frmPrincipalSamotnik 6x7 Solitari 6x7 frmPrincipalSamotnik 7x5 Solitari 7x5 frmPrincipalSamotnik 8x3 Solitari 8x3 frmPrincipalSamotnik 8x6 Solitari 8x6 frmPrincipalSamotnik 8x9 Solitari 8x9 frmPrincipalSamotnik OK Solitari OK frmPrincipalUkBad losowySolitari a l'atzar frmPrincipalGwiazda 7x7Solitari estrella 7x7 frmPrincipalSoloSolo frmPrincipalRozwizania Solucions frmPrincipalRozwizanie %1 Solució %1 frmPrincipalFNa licencji GPL 2.0 lub pzniejszej#Sota llicència GPL 2.0 o posterior frmPrincipal(Trzy kwadraty 13x13 Tres quadrats 13x13 frmPrincipal&Trzy kwadraty 16x16Tres quadrats 16x16 frmPrincipalTrjkt 10 Triangular 10 frmPrincipalTrjkt 4 Triangular 4 frmPrincipalTrjkt 4x7Triangular 4x7 frmPrincipal,Trjkt 4x7 - piramidaTriangular 4x7 - piràmide frmPrincipal*Trjkt 4x7 - kwadratTriangular 4x7 - quadrat frmPrincipalTrjkt 5 Triangular 5 frmPrincipalTrjkt 6 Triangular 6 frmPrincipalTrjkt 7 Triangular 7 frmPrincipalTrjkt 8 Triangular 8 frmPrincipalTrjkt 9 Triangular 9 frmPrincipal:Zobacz swoje najlepsze wynikiVeure marques personals frmPrincipal.Zobacz najlepsze wyniki Veure records frmPrincipalProgram WebWeb del programa frmPrincipalTangram WebWeb del tangram frmPrincipalWieglebWiegleb frmPrincipal&Wiegleb - klasycznyWiegleb - clàssic frmPrincipal(Wiegleb - maBy krzy|Wiegleb - creu petita frmPrincipal$Wiegleb - strzaBkaWiegleb - fletxa frmPrincipal*Wiegleb - symetrycznyWiegleb - simetria frmPrincipal*Wiegleb - zredukowanyWiegleb reduit frmPrincipal , peg-solitaire-2.2/locales/solitari_eu_ES.qm0000644000175000017500000003420013113041313021107 0ustar demarchidemarchiSous licence GPL 3.0 ou arrire#Sota llicència GPL 2.0 o posterior frmPrincipal$Trois carrs 13x13Tres quadrats 13x13 frmPrincipal$Trois carrs 16x16Tres quadrats 16x16 frmPrincipalTriangular 10 Triangular 10 frmPrincipalTriangular 4 Triangular 4 frmPrincipalTriangular 4x7Triangular 4x7 frmPrincipal0Triangulaire 4x7 - CarrTriangular 4x7 - piràmide frmPrincipal0Triangulaire 4x7 - CarrTriangular 4x7 - quadrat frmPrincipalTriangular 5 Triangular 5 frmPrincipalTriangular 6 Triangular 6 frmPrincipalTriangular 7 Triangular 7 frmPrincipalTriangular 8 Triangular 8 frmPrincipalTriangular 9 Triangular 9 frmPrincipal8Voir les marques personnelleVeure marques personals frmPrincipal:Voir des marques personnelles Veure records frmPrincipal Web du programmeWeb del programa frmPrincipalWeb du tangramWeb del tangram frmPrincipalWieglebWiegleb frmPrincipal&Wiegleb - classiqueWiegleb - clàssic frmPrincipal,Wiegleb - petite croixWiegleb - creu petita frmPrincipal Wiegleb - flcheWiegleb - fletxa frmPrincipal$Wiegleb - symtrieWiegleb - simetria frmPrincipalWiegleb rduitWiegleb reduit frmPrincipalpeg-solitaire-2.2/locales/solitari_en_US.qm0000644000175000017500000003261713115553110021137 0ustar demarchidemarchijr2YZRA07CI z̄ 3&iA/ 33)z0'\B( v.voi:4# J@ 10u.Ir!0&*a#^t#*@T r0)$8v#J|J3/[ "ics=Д w14,}ąƇ؉^511u ȭu׭S3ވ!ފ!ދޗ "'T(4 7?u^V0 5 v$ 'a N0 f  *C - $ - % - % - && - &m - & - & -'B -' -' -( Ds ] ] ] ] ] .A< 8, fq ~ 3. /q$mcn. /P<^BY R)SC`u ; iTS`1! V/i1 GalegoEnglish Traduccio - diagonal - diagonal frmPrincipal - inverso - invers frmPrincipal de %1 de %1 frmPrincipal&%1 %2 frmPrincipal&&Movementos do xogo&Moviments joc frmPrincipal &Pecha&Surt frmPrincipalv. Utilize os botns Avanza e Retrocede para ver a solucin.E. Feu servir els botons Avança i Retrocedeix per veure la solució.  frmPrincipalAgradecementos Agraïments frmPrincipal AxudaAjuda frmPrincipalIngls antigo Anglès antic frmPrincipal0Ingls antigo - diamanteAnglès antic - diamant frmPrincipal*Asimtrico - superiorAsimètric - superior frmPrincipalAsimtrico 6x6Asimètric 6x6 frmPrincipalAsimtrico 8x8Asimètric 8x8 frmPrincipalParaAtura frmPrincipalAvanzarAvança frmPrincipal0Sen xogos personalizadosCap joc personalitzat frmPrincipal"Cargando os datosCarregant dades frmPrincipalCargar  Carregar  frmPrincipal"Buscando solucinCercant solució frmPrincipalClsicoClàssic frmPrincipal,Clsico - 4 forquillasClàssic - 4 forquilles frmPrincipal Clsico - cornosClàssic - Banyes frmPrincipal Clsico - cabanaClàssic - Cabana frmPrincipal.Clsico - dous cadradosClàssic - Dos quadrats frmPrincipalClsico - E Clàssic - E frmPrincipalClsico - O Clàssic - O frmPrincipal"Clsico - palacioClàssic - Palau frmPrincipalClsico - R Clàssic - R frmPrincipalClsico - T Clàssic - T frmPrincipal Clsico - fachoClàssic - Torxa frmPrincipalClsico - X Clàssic - X frmPrincipal Clsico - rboreClàssic - arbre frmPrincipal"Clsico - centralClàssic - central frmPrincipal*Clsico - cruz grandeClàssic - creu gran frmPrincipal,Clsico - cruz pequenaClàssic - creu petita frmPrincipal Clsico - cpulaClàssic - cúpula frmPrincipal$Clsico - diamanteClàssic - diamant frmPrincipal Clsico - frechaClàssic - fletxa frmPrincipal$Clsico - inferiorClàssic - inferior frmPrincipalClsico - muoClàssic - molinet frmPrincipal&Clsico - pentgonoClàssic - pentàgon frmPrincipal$Clsico - pirmideClàssic - piràmide frmPrincipal"Clsico - cadradoClàssic - quadrat frmPrincipal2Clsico - cadrado centralClàssic - quadrat central frmPrincipal6Clsico - rectgulo centralClàssic - rectangle central frmPrincipal Clssico - romboClàssic - rombe frmPrincipal$Clsico - simetriaClàssic - simetria frmPrincipal$Clsico - superiorClàssic - superior frmPrincipal$Clsico - ampliadoClàssic ampliat frmPrincipalContinuaContinua frmPrincipalCrditosCredits frmPrincipalCrditos das %1Credits del %1 frmPrincipalCtrl+P frmPrincipalCtrl+R frmPrincipalCtrl+S frmPrincipalCtrl+Z frmPrincipalSeguro que quere cargar a solucin? Vai perder os movementos realizados!GDe debó voleu carregar la solució? Perdreu els moviments que heu fet! frmPrincipaldSeguro que quere eliminar as sas marcas persoais?,De debó voleu eliminar les vostres marques? frmPrincipal"Gardando os datos Desant dades frmPrincipal6Gardando os datos: %1 de %2Desant dades: %1 de %2 frmPrincipalDiamante 5x5 Diamant 5x5 frmPrincipalDiamante 7x7 Diamant 7x7 frmPrincipalDiamante 9x9 Diamant 9x9 frmPrincipal&Dous cadrados 10x10Dos quadrats 10x10 frmPrincipal&Dous cadrados 11x11Dos quadrats 11x11 frmPrincipal"Dous cadrados 9x9Dos quadrats 9x9 frmPrincipal4Elimina as marcas persoaisElimina les marques personals frmPrincipal4Elimina as marcas persoaisElimina marques personals frmPrincipalEuropeoEuropeu frmPrincipalEuropeo - cruzEuropeu - creu frmPrincipal"Europeo - cadradoEuropeu - quadrat frmPrincipaltConseguiu unha nova marca persoal nesta modalidade do xogo@Heu establert un nou record personal en aquesta modalitat de joc frmPrincipalHexagonal 7x11Hexagonal 7x11 frmPrincipal&Hexagonal inclinadoHexagonal inclinat frmPrincipal IdiomaIdioma frmPrincipalIncompleto 6x6 Incomplet 6x6 frmPrincipalIncompleto 7x7 Incomplet 7x7 frmPrincipal$Inicio da solucinInici solució frmPrincipal^Xogo cargado. A vosa marca persoal actual : %1.Joc carregat. El vostre record actual és: %1 frmPrincipalXogo resolto! Joc resolt! frmPrincipal(Xogos personalizadosJocs personalitzats frmPrincipalMarcas persoaisMarques personals frmPrincipal XogosModalitats del joc frmPrincipalMovemento  Moviment  frmPrincipal$Movemento %1 de %2Moviment %1 de %2  frmPrincipal8Non se atopou unha solucin!)No ha estat possible trobar una solució! frmPrincipal&Non hai movementos!No hi ha moviments! frmPrincipalTNon hai mis movementos: finalizou o xogo!.No hi ha més moviments: el joc ha finalitzat! frmPrincipal"Non hai solucinsNo hi ha solucions frmPrincipal4Non se atopou o arquivo %1No s'ha trobat l'arxiu %1 frmPrincipal$Nova marca persoalNova marca personal frmPrincipal PausaPausa frmPrincipalPentagonal Pentagonal frmPrincipalPersonalizado Personalitzat frmPrincipalProgramaPrograma frmPrincipalCadrado 5x5 Quadrat 5x5 frmPrincipalCadrado 5x5 - HQuadrat 5x5 - H frmPrincipal*Cadrado 5x5 - centralQuadrat 5x5 - central frmPrincipal,Cadrado 5x5 - pirmideQuadrat 5x5 - piràmide frmPrincipal.Cadrado 5x5 - cadradosQuadrat 5x5 - quadrats frmPrincipalCadrado 6x6 Quadrat 6x6 frmPrincipalCadrado 8x8 Quadrat 8x8 frmPrincipalCadrado 9x9 Quadrat 9x9 frmPrincipal(Catro cadrados 13x13Quatre quadrats 13x13 frmPrincipal,Reinicia o xogo actualReinicia el joc actual frmPrincipalResolveResol frmPrincipalRetroceder Retrocedeix frmPrincipalRombo 36Rombe 36 frmPrincipalCargouse a S'ha carregat la  frmPrincipal8Atopouse unha nova solucin!S'ha trobat una nova solució! frmPrincipal Shift+Ctrl+Z frmPrincipalSolitarioSolitari frmPrincipalSolitrio 3x5 Solitari 3x5 frmPrincipal"Solitario 3x5 bisSolitari 3x5 bis frmPrincipalSolitario 4x4 Solitari 4x4 frmPrincipalSolitario 4x5 Solitari 4x5 frmPrincipalSolitario 5x6 Solitari 5x6 frmPrincipalSolitario 6x5 Solitari 6x5 frmPrincipalSolitario 6x6 Solitari 6x6 frmPrincipalSolitario 6x7 Solitari 6x7 frmPrincipalSolitario 7x5 Solitari 7x5 frmPrincipalSolitario 8x3 Solitari 8x3 frmPrincipalSolitario 8x6 Solitari 8x6 frmPrincipalSolitario 8x9 Solitari 8x9 frmPrincipalSolitari OK Solitari OK frmPrincipal"Solitario ao azarSolitari a l'atzar frmPrincipal"Solitario estrelaSolitari estrella 7x7 frmPrincipalSoloSolo frmPrincipalSolucins Solucions frmPrincipalSolucin %1 Solució %1 frmPrincipalDBaixo licenza GPL 3.0 ou posterior#Sota llicència GPL 2.0 o posterior frmPrincipal&Tres cadrados 13x13Tres quadrats 13x13 frmPrincipal&Tres cadrados 16x16Tres quadrats 16x16 frmPrincipalTrianguilar 10 Triangular 10 frmPrincipalTrianguilar 4 Triangular 4 frmPrincipalTriangular 4x7Triangular 4x7 frmPrincipal2Triangular 4x7 - pirmideTriangular 4x7 - piràmide frmPrincipal0Triangular 4x7 - cadradoTriangular 4x7 - quadrat frmPrincipalTrianguilar 5 Triangular 5 frmPrincipalTrianguilar 6 Triangular 6 frmPrincipalTrianguilar 7 Triangular 7 frmPrincipalTrianguilar 8 Triangular 8 frmPrincipalTrianguilar 9 Triangular 9 frmPrincipal,Ver as marcas persoaisVeure marques personals frmPrincipal&Ver marcas persoais Veure records frmPrincipalWeb do programaWeb del programa frmPrincipalWeb do tangramWeb del tangram frmPrincipalWieglebWiegleb frmPrincipal"Wiegleb - clsicoWiegleb - clàssic frmPrincipal,Wiegleb - cruz pequenaWiegleb - creu petita frmPrincipal Wiegleb - frechaWiegleb - fletxa frmPrincipal$Wiegleb - simetriaWiegleb - simetria frmPrincipal Wiegleb reducidoWiegleb reduit frmPrincipalpeg-solitaire-2.2/locales/solitari_en_EN.qm0000644000175000017500000003261113113040144021100 0ustar demarchidemarchi Ajuda del solitari

Catal
Castellano
Galego
Euskera
Portugus
Franais
Italiano
Deutsche English Polski

Agraments Agradecimientos
Remerciements Acknowledgements Podziekowania

Per les traduccions
Por las traducciones
Pour les traductions For translations Za tlumaczenie
Polski: Jarosław Jabłoński (v. 2.0 )
Portuguese do Brasil (Brasileiro) : Ezequiel Butzke
(v. 2.0 )

Ajuda del Solitari

    El Solitari, tamb conegut com a solitari angls o Senku t un origen incert. s un joc de tauler que es juga amb fitxes: en la modalitat ms clssica, el tauler t 33 posicions i 32 fitxes degut a qu la posici central resta buida. El joc consisteix en eliminar les fitxes a l'estil de les dames per noms amb moviments horitzontals o verticals. S'aconsegueix resoldre el joc quan noms resta una fitxa en la posici central (que inicialment estava buida). En altres modalitats, es permeten els moviments en diagonal. Tamb hi ha problemes en qu cal aconseguir eliminar fitxes fins arribar a una configuraci de fitxes predeterminada.
En les modalitats inverses, inicialment noms hi ha una fitxa en el tauler: amb els moviments (botant un lloc buit per arribar a un altre lloc buit) es van afegint fitxes fins que s'arriba a tenir noms un buit en el tauler.

    Descripci del joc. Per moure una fitxa noms cal clicar-hi a sobre amb el ratol. Si s possible moure la fitxa, el programa indicar amb un cercle vermell els possibles destins del moviment. Tornant a clicar sobre un dels posibles destins, es far efectiu el moviment. s possible modificar els moviments realitzats amb els botons de la barra d'eines tornar enrrera avanar. El bot Posici inicial collocar les fitxes en la posici inicial del joc. Si s'arriba a la soluci del joc (quan noms resta una fitxa en el tauler), llavors el programa ho indica marcant la fitxa amb color verd. Si, contrariament, s'arriba a una situaci en qu no s possible moure cap de les fitxes, el programa ho indica marcant les fitxes de color vermell. En les modilitats inverses, s'aconsegueix acabar el joc quan noms queda un espai buit. En les modalitats amb final marcat (indicades amb un *), el joc acaba quan s'aconseguix deixar noms les fitxes marcades (en aquest cas amb un cercle blau). En acabar el joc, el programa registrar la vostra marca de temps. Podeu consultar les vostres marques amb l'opci de men Programa->Veure marques personals. Amb l'opci de men Programa->Elimina marques personals podeu eliminar la informaci de totes les vostres marques personals.
    Podeu crear nous problemes a partir dels proposats pel programa. Una vegada seleccionada la modalitat de joc, mantenint la tecla Ctrl pitjada clicau a sobre les fitxes  per tal d'eliminar-les o b sobre els espais buits per tal de posar-hi una fitxa. D'aquesta manera podreu experimentar amb nous problemes. Si aconseguiu trobar una soluci (jugant vosaltres o fent que el programa resolgui el joc), el nou joc es conserva (llegiu ms endevant per a ms detalls).
    Aix mateix, podeu fer que el programa intenti solucionar el joc clicant el bot Resol. Si el programa aconsegueix trobar una soluci (en pocs segons o amb moltes d'hores), podreu veure cada un dels moviments amb els botons de la barra d'eines.
    Cada vegada que s'aconsegueix una nova soluci des d'una situaci inicial, el programa conserva els moviments realitzats que poden consultar-se a l'arbre de solucions (a la segona pipella de la zona de selecci de jocs). Clicau el signe + per visualitzar tots el moviments d'una soluci. Cada moviment s'indica amb les coordenades de la fitxa inicial i final. Podeu saber les coordenades de cada fitxa passant el cursor per sobre. Si feu un doble clic sobre el nom de la soluci, llavors el programa carregar els moviments i podreu analitzar-los amb els botons de la barra d'eines.
    Podeu fer que el programa generi automticament noves configuracions seleccionant l'tem Solitari a l'atzar. El programa genera a l'atzar un solitari amb un nombre variable de fitxes i d'alguna de les tres modalitats (la clssica, la diagonal i la inversa). Si feu un doble clic sobre l'tem, podreu generar un nou solitari. D'aquesta modalitat no es conservan les marques ni cap altra informaci.
    Tamb podeu inventar nous jocs amb els tems Personalitzat, Personalitzat - diagonal i Personalitzat - invers. Si seleccionau un d'aquest tems, tendreu una quadrcula de 12x12 posicions on collocar fitxes. Amb la tecla Ctrl pitjada, clicau qualsevol posici per situar una fitxa. Si seguiu clicant la mateixa posici, es passar als altres estats possibles. En haver collocat les fitxes o buits, dexau de pitjar la tecla Ctrl i podeu comenar a jugar amb el vostre solitari. Tamb podeu fer que el programa intenti trobar una soluci (depenent del nombre de fitxes, aix pot suposar molt de temps). Si aconseguiu trobar una soluci (o b ho fa el programa), automticament es desaran les dades del nou joc i es podr seleccionar a l'arbre de jocs personalitzats (a la tercera pipella de la zona de jocs). Feu servir el bot Posici inicial per tornar a la situaci inicial i el bot per tornar a la quadrcula inicial.

    Podeu collaborar amb el programa comunicant les errades del programa o b fent suggeriments de millora. Adreau els vostres suggeriments a l'adrea de correu del programa (tangram.peces@gmail.com). Si inventau algun nou problema o coneixeu alguna modalitat de solitari que no estigui al programa, feu una captura d'imatge del problema i enviau-la per correu a l'autor del programa. Tamb podeu traduir el programa. Si feu servir una llengua a la qual no estigui traduit el programa, feu-ne la traducci. El programa fa servir el sistema Qt amb arxius d'extensi .ts. Us caldr el programa Qt Linguist o qualsevol altra que permeti traballar amb aquest tipus d'arxius.

    Crdits del programa. El programa Solitari  s una realitzaci d'I. De Marchi, el qual s propietari dels drets d'autor del programa. El programa (el arxius binaris, els arxius del codi font, la documentaci, l'ajuda, els arxius d'imatges i d'altres arxius) es distribueix sota els termes de la GPL v. 3.0. Podeu contactar amb l'autor a l'adrea tangram.peces@gmail.com 





Ayuda del Solitario

    El Solitario, tambin conocido como solitario ingls o Senku tiene un origen incierto. Es un juego de tablero que se juega con fichas: en la modalidad ms clsica, el tablero tiene 33 posiciones y 32 fichas debido a qu la posicin central est sin ficha. El juego consiste en eliminar las fichas al estilo de las damas pero solo con movimientos horizontales y verticales. Se consigue resolver el juego cuando solo queda una ficha en el tablero en la posicin central (que inicialmente estaba vacia). En otras modalidades, se permiten los movimientos en diagonal. Tambin hay problemas en qu hay que conseguir eliminar fichas hasta llegar a una configuracin de fichas predeterminada. En las modalidades inversas, inicialmente solo hay una ficha en el tablero: con los movimientos (saltando de una posicin vacia para llegar a otra posicin vacia) se aaden  fichas hasta conseguir que solo quede una posicin vacia en el tablero.

    Descripcin del juego. Para mover una ficha hay que clicarla con el ratn. Si es posible moverla, el programa marcar con un circulo rojo los posibles destinos del movimiento. Volviendo a clicar en uno de los destinos, se ejecutar el movimiento. Es posible modificar los movimientos realizados con los botones de la barra de herramientas tornar enrrera avanar. El botn Posicin inicial colocar las fichas en la posicin inicial del juego. Si se consigue la solucin del juego (cuando queda solo una ficha en el tablero), entonces el programa lo indica coloreando en verde la ficha. Si, contrariamente, se llega a una situacin en que no es posible realizar ningn movimiento, entonces el programa lo indica coloreando todas las fichas en rojo. En las modalidades inversas, se consigue acabar el juego cuando solo queda un espacio vaco. En las modalidades con final marcado (indicadas con un *), el juego acaba cuando se consigue dejar slo las fichas marcadas (en este caso con un crculo azul). Cuando se ha resuelto el juego, el programa registrar su marca de tiempo. Puede consultar sus marcas con la opci de men Programa->Ver marcas personales. Con la opcin de men Programa->Elimina marcas personales puede eliminar la informacin de todas sus marcas personales.
    Es posible crear nuevos problemas a partir de aqullos propuestos por el programa. Una vez seleccionada la modalidad de juego, manteniendo la tecla Ctrl apretada y clicando sobre las fichas para eliminarlas o bien sobre los espacios vacos para poner una ficha. As puede experimentar con nuevos problemas. Si encuentra la solucin, el juego se conserva automticamente (para ms detalles, siga leyendo).
    El programa puede solucionar el juego clicando el botn Resuelve. Si el programa logra encontrar una solucin ( lo cual puede llevarle de algunos segundos a muchas horas), podr repetir los movimientos con los botones de la barra de herramientas.
    Si se consigue una solucin nueva, el programa la conserva y es posible ver los movimientos realizados con la opcin de men Programa-> Ver soluciones. Clique el signo + para visualizar todos los movimientos de una solucin. Cada movimiento indica las coordenadas de la ficha inicial y de la posicin final. Las coordenades de cada ficha se muestran cuando se pasa el cursor sobre la ficha. Con un doble clic sobre el nombre de la solucin, el programa cargar los movimentos y podr analizarlos con los botones de la barra de herramientas.
    El programa genera automticamente juegos nuevos seleccionando el tem Solitario al azar. El programa genera al azar un solitario con un nmero variable de fichas y de alguna de las tres modalidades (la clsica, la diagonal y la inversa). Con un doble clic sobre el tem, se genera un nuevo solitario. De esta modalidad no se conservan las marcas ni ninguna otra informacin.
    Es posible inventar nuevos juegos con los tems Personalizado, Personalizado - diagonal y Personalizado - inverso. Al seleccionar uno de estos tems, se generar una cuadrcula de 12x12 posiciones donde colocar fichas. Con la tecla Ctrl presionada, clicando cualquier posicin se sitan las fichas. Al seguir clicando la misma posicin, se pasar a los otros estados posibles. Al haber colocado las fichas o vacos, y sin presionar la tecla Ctrl, se inicia el juego con vuestro solitario. Tambin podis hacer que el programa intente encontrar una solucin (dependiente del nmero de fichas, esto puede suponer mucho tiempo). Si consegus encontrar una solucin (o bien lo hace el programa), automticamente se guardaran los datos del nuevo juego y se podr seleccionar en el rbol de juegos personalizados (en la tercera pestaa de la zona de juegos). Con el botn Posici inicial se vuelve a la situacin inicial y con el botn a la cuadrcula inicial.

    Puede colaborar con el programa comunicando los errores o bien con sus sugerencias para mejorarlo. Enve sus sugerencias a la direccin de correo electrnico del programa (tangram.peces@gmail.com). Si crea algun problema nuevo o conoce alguna modalidad de solitario que no incluya el programa, haga una captura de imagen del problema y envela por correo electronico al autor del programa. Tambin puede traducir el programa. Si utiliza un idioma al cual no est traducido el programa, haga la traduccin. El programa utiliza el sistema Qt con archivos de extensin .ts. Necesitar el programa Qt Linguist o cualquier otro que permita trabajar con este tipo de archivos.

    Derechos de autor del programa. El programa Solitario s una creacin de I. De Marchi, el cual s propietario de los derechos de autor del programa. El programa (los archivos binarios, los archivos del cdigo, la documentacin, la ayuda y los archivos de imgenes) se distribuyen con licencia GPL v. 3.0. Puede contactar con el autor del programa en la direccin tangram.peces@gmail.com





Axuda do Solitario
Traducido automaticamente con Opentrad

    O Solitario, tamn coecido como solitario ingls ou Senku ten unha orixe incerta. un xogo de taboleiro que se xoga con fichas: na modalidade mis clsica, o taboleiro ten 33 posicins e 32 fichas debido a que a posicin central est sen ficha. O xogo consiste en eliminar as fichas ao estilo das damas pero s con movementos horizontais e verticais. Consguese resolver o xogo cando s queda unha ficha no taboleiro na posicin central (que inicialmente estaba vacia). Tamn hai problemas en que hai que conseguir eliminar fichas at chegar a unha configuracin de fichas predeterminada. Nas modalidades inversas, inicialmente s hai unha ficha no taboleiro: cos movementos (saltando dunha posicin vacia para chegar a outra posicin vacia) engdense  fichas at conseguir que s quede unha posicin vacia no taboleiro.

    Descricin do xogo. Para mover unha ficha hai que clicarla co rato. Se posible movela, o programa marcar cun circulo amarelo os posibles destinos do movemento. Volvendo a clicar nun dos destinos, realizarase o movemento. posible modificar os movementos realizados cos botns da barra de ferramentastornar enrrera avanar. O botn Posici inicail colocar as fichas na poscin inicial do xogo. Se se consegue a solucin do xogo (cando queda s unha ficha no taboleiro), entn o programa indcao coloreando en verde a ficha. Se, contrariamente, chgase a unha situacin en que non posible realizar ningn movemento, entn o programa indcao coloreando todas as fichas en vermello. Nas modilitdades inversas, consguese acabar o xogo cando s queda un espazo vacio. Nas modalidades con final marcado (indicadas cun *), o xogo acaba cando se consegue deixar s as fichas marcadas (neste caso cun crculo azul). Cando se resolveu o xogo, o programa rexistrar a sa marca de tempo. Pode consultar as sas marcas coa opci de men Programa->Ver marcas persoais. Coa opcin de men Programa->Elimina marcas persoais pode eliminar a informacin de todas as sas marcas persoais.
    posible expor novos problemas a partir dos propostos polo programa. Unha vez seleccionada a modalidade de xogo, mantendo a tecla Ctrl apertada clicando sobre as fichas para eliminalas ou ben sobre os espazos vacios para pr unha ficha . Asi pode experimentar con novos problemas. Se atopa a solucin, o xogo consrvase automaticamente (para mis detalles, siga lendo).
    Tamn pode facer que o programa tente solucionar o xogo clicando o botn Resolve. Se o programa consegue atopar unha solucin (o cal pode levarlle desde algns segundos a moitas horas), poder repetir os movementos cos botns varra de ferramentas.
    Se se consegue unha solucin nova, o programa a conserva e posible ver os movementos realizados coa opcin de men Programa-> Ver solucins. Clique o signe + para visualizar todos os movementos dunha solucin. Cada movimento indica as coordenadas da ficha inicial e da a posicin final. As coordenades de cada ficha mstranse cando se pasa o cursor sobre a fitcha. Cun dobre clic sobre o nome da solucin,o programa cargar os movimentos e poder analizalos cos botns da barra de ferramentas.
    Podedes facer que o programa xere automaticamente novas configuracins seleccionando o tem Solitario ao azar. O programa xera ao azar un solitario cun nmero variable de fichas e dalgunha do tres modalidades (a clsica, a diagonal e a inversa). Se facedes un dobre clic sobre o tem, poderedes xerar un novo solitario. Desta modalidade non se conservan as marcas nin ningunha outra informacin.
    posible inventar novos xogos cos tems Personalizado, Personalizado - diagonal e Personalizado - inverso. Ao seleccionar un destes tems, xerarase unha cuadrcula de 12x12 posicins onde colocar fichas. Coa tecla Ctrl presionada, clicando calquera posicin sitanse as fichas. Ao seguir clicando a mesma posicin, pasarase aos outros estados posibles. Ao colocar as fichas ou baleiros, e sen presionar a tecla Ctrl, inciase o xogo co voso solitario. Tamn podedes facer que o programa tente atopar unha solucin (dependente do nmero de fichas, isto pode supor moito tempo). Se conseguides atopar unha solucin (ou ben o fai o programa), automaticamente gardsense os datos do novo xogo e poderase seleccionar na rbore de xogos personalizados (na terceira pestana da zona de xogos). Co botn Posici inicail vlvese situacin inicial e co botn cuadrcula inicial.


    Pode colaborar co programa comunicando os erros ou ben coas sas suxestins para melloralo. Envie as sas suxestins direccin de correo electrnico do programa (tangram.peces@gmail.com). Se crea algun problema novo ou coece algunha modalidade de solitario que non incla o programa, faga unha captura de imaxe do problema e enviela por correo electronico ao autor do programa. Tamn pode traducir o programa. Se utiliza un idioma ao cal non estea traducido o programa, faga a traducin. O programa utiliza o sistema Qt con arquivos de extensin .ts. Necesitar o programa Qt Linguist ou calquera outro que permita traballar con este tipo de arquivos.


    Dereitos de autor do programa. O programa Solitario s unha creacin de I. De Marchi, o cal s propietario dos drerechos de autor do programa. O programa (os arquivos binarios, os arquivos do cdigo, a documentacin, a axuda e os arquivos de imaxes) distribense con licenza GPL v. 3.0. Pode contactar co autor do programa na direccin tangram.peces@gmail.com






Laguntza Solitario
Opentradekin itzulpen automatikoa

    Solitario, ere ingeles bakartia edo Senku ezagutua gezur jatorri bat du. Taularen fitxekin jokatzen den jolas bat da: gehiago klasikoa modalitatean, taulak du 33 posizio eta 32 fitxa zer posizio zentrala dago fitxarik gabe. Jolasa fitxak dameren estilora mugimendu horizontalekin eta bertikalak kanporatu da baina bakarra. Jolasa soloa fitxa bat geratzen denean taulan posizio zentralean ebaztea lortzen da (hasiera batean vacia zegoen). Ere arazoak daude zertan dago lortzea fitxak kanporatzea aurretik zehaztuta fitxen konfigurazio bati iritsi arte. Alderantzizko modalitateetan, hasiera batean bakarra fitxa bat dago taulan: mugimenduekin (vacia posizio batetik beste vacia posizio bati iristeko jauzi egitean) fitxak eransten dituzte lortu arte bakarrik vacia posizio bat gera edin taulan.

    Jolasaren deskribapena. Fitxa bat clicarla saguarekin mugitzeko dago. Posiblea da mugitu, programak markatuko du bat mugimenduaren norako posibleak horia ibiltzen naiz. Norako batean clicar, mugimendua egingo du. Posiblea da mugimendu eginak erreminten barraren mandatariarekin tornar enrrera avanar bihurtzea aldatzea. Iniziala botoi Posici inicail fitxatzen duzu jarriko ditu jolasaren hasierako poscinean. Jolasaren konponbidea lortzen du (bakarra geratzen da fitxa bat taulan), orduan programak berdean koloratzean erakusten du fitxa., aurkako eran, posiblea ez den mugimendurik egitea norbait dagoen toki batera, iristen da orduan programak koloratu erakusten du guztia fitxatzen dituzu gorrian. Alderantzizko modilitdadesetan, jolasa soloa espazio bat geratzen denean vacio amaitzea lortzen da. Markatuta erakutsita finalarekin bat modalitateetan (*), jolasa amaitzen da bakarrik fitxa markatuak kasu honetan zirkulu urdin batekin uztea lortzen denean Jolasa ebatzi du, programak denboraren haren marka erregistratuko du. Haren markak kontsulta egin ahal ditu menu Programaren opci Verrek pertsonalak markatzen duzu. Menu Programaren aukerarekin - Eliminak pertsonalak markatzen duzu haren marka pertsonal guztien informazioa kanporatu ahal du. Posiblea da arazo berriak proposatu aurrera programatik planteatzea. Jolasaren modalitatea aukeratua, behin tekla Ctrl estututa clicando mantentzean fitxatzen dituzu kanporatzeko o bien gainean vacios espazioen gainetik fitxa bat jartzeko. Asik arazo berriekin esperimentatu ahal du. Konponbidea aurkitzen badu, jolasa automatikoki kontserbatzen da (xehetasun gehiagorentzat, irakurtzean jarraitu izan dezan).
    Ere egin ahal da programak jolasa konpontzea saia dezan botoi Ebazten du clicandotzean. Programak konponbide bat aurkitzea lortzen du (segundoren batzuk eraman ahal dio ordu asko), mugimenduak errepikatu ahal izango ditu erreminten barra mandatariarekin. Konponbide berri bat lortzen du, programa kontserbatzen da eta posiblea da mugimendu eginak menu Programaren aukerarekin ikustea Verrek konpon dezazun.  Cliquek zigila dezan + konponbide baten mugimendu guztiak ikusteko. Movimento bakoitzak hasierako fitxaren koordenatuak erakusten ditu eta azkeneko posizioa. Fitxa bakoitzaren coordenadesak erakusten dira kurtsorea pasatzen duenean fitcharen gainean. Konponbidearen izenaren gainetik klik bikoitz batekin, programak movimentosak kargatuko ditu eta aztertu ahal izango ditu erreminten barraren mandatariarekin.
    Egin ahal zarete programak automatikoki sor ditzan konfigurazio berriak item Solitario aukeratzean ausaz. Programak ausaz sortzen du bakarti bat fitxen numero aldakor batekin eta hiru modalitatetako norbaiten (klasikoa, diagonala eta inversa). Klik bikoitz bat egiten baduzue temaren gainean, berri bakarti bat sortu ahal izango duzue. Modalitate honen ez dira kontserbatzen markak ere beste informazio bat.
    Posiblea da jolas berriak itemekin Personalizado asmatzea, izena aipatuta - diagonala eta Personalizado - alderantzizkoa. Item hauen bat aukeratzea, 12x12 posiziotako lauki-sare bat sortuko da fitxak jartzea. Presioa eginda tekla Ctrl, edozein posizio clicandotzean fitxak kokatzen dituzte. Bera posizioa clicando, beste estatu posible batzuk pasatuko ditu. Fitxak edo amildegiak jarri, eta gabe tekla Ctrl presioa egin gabe, jolasa hasten du zuen bakartiarekin. Ere egin ahal duzue programak konponbide bat aurkitzea saia dezan (fitxen numeroaren saltzaileak, hau denbora asko uste izan ahal du). Konponbide bat aurkitzea lortzen baduzue (o bien programa egiten du), automatikoki jolas berriaren datuak gorde zitzaten eta parteko jolas izena aipatuen zuhaitzean aukeratu ahal izango da (hirugarren betilean jolasetako parteko). Hasierakoa se botoi Posici inicail da hasierako norbait dagoen tokiari eta botoiarekin hasierako lauki-sarera.

    Programarekin elkarrekin lan egin ahal du akatsak o bien haren iradokizunekin hobetzeko komunikatzean. Haren iradokizunak programaren posta elektronikoari Envie (tangram.Peces@gmail.Com). Algun sinets dezan arazo berria edo modalitateren bat ezagutzen du bakartiaren programa ez dezan har, arazoaren irudiaren harrapaketa bat egin beza eta envielatzen du electronico postagatik programaren egileari. Ere programa itzuli ahal du. Programa itzulia ez dadin egon hizkuntza bat erabiltzen du, itzulpena egin beza. Programak sistema Qt erabiltzen du hedaduraren artxiboekin. AG. Behar izango du programa Qt Linguist edo artxiboen mota honekin lan egitea utz dezan edozein beste bat.

    Programaren egile eskubideak. s I. De Marchi sorkuntza bat programa Solitario, s jabea programaren egilearen drerechosen. Programa (biko artxiboak, kodearen artxiboak, dokumentazioa, laguntza eta irudien artxiboak) lizentzia GPL v. 3.0. Programaren egilearekin harremanetan jarri ahal du norabide tangram.peces@gmail.com





Aide du Solitaire
Traduction automatique avec Opentrad

    Le Solitaire (cass-tte), aussi connu comme solitaire anglais ou Senku a une origine incertaine. C'est un jeu de panneau qui joue avec fiches : dans la modalit la plus classique, le panneau a 33 positions et 32 fiches cause que la position centrale est sans fiche. Le jeu consiste liminer les fiches la manire des dames mais seulement avec des mouvements horizontaux et verticaux. On russit rsoudre le jeu quand seule reste une fiche dans le panneau dans la position centrale (qui tait initialement vide). En autres modalitats, se permettent les mouvements en diagonal. Aussi il y a des problmes en qu faut russir liminer des fiches jusque atteindre une configuration de fiches dtermine. Dans les modalits inverses, initialement seulement il y a une fiche dans le panneau : avec les mouvements (en sautant d'une position vide pour arriver une autre position vide) des fiches sont ajoutes jusqu' obtenir que reste seulement une position vide dans le panneau.


    Description du jeu. Pour mouvoir une fiche, cliquez sur elle avec la souris. S'il est possible la mouvoir, le programme marquera avec une circule rouge les possibles destinations du mouvement. En revenant click en un des destinations, se ralisera le mouvement. Il est possible modifier les mouvements raliss avec les boutons de la barre d'outils tornar enrrera avanar. Le bouton Posici inicail placera les fiches la position initiale du jeu. S'il se russit la solution du jeu (lorsque reste seulement une fiche dans l'chiquier), alors le programme l'indique avec la fiche verte. Si, contrairement, il s'arrive une situation en que n'est pas possible raliser aucun mouvement, alors le programme l'indique avec toutes les fiches en rouge. En les modilitdades inverses, se russit finir le jeu lorsqu'il seulement reste un espace vide. Dans les modalits avec fin marque (indiques avec un *), le jeu il finit lorsqu'il se russit laisser seulement les fiches marques (dans ce cas avec un cercle bleu). Lorsqu'il s'est rsolu le jeu, le programme enregistrera sa marque de temps. Il est possible consulter ses marques avec l'opci de menu Programme->Voir des marques personnelles. Avec l'option de menu Programme->liminer les marques personnelles on peut liminer l'information de toutes ses marques personnelles.
    Il est possible de poser de nouveaux problmes partir des proposs par le programme. Quand la modalit de jeu a t slectionne, en maintenant la touche Ctrl serr click sur les fiches pour les liminer ou bien sur les espaces vides pour mettre une fiche. Pareil il peut exprimenter avec de nouveaux problmes. S'il trouve la solution, le jeu se conserve automatiquement (pour plus de dtails, continuer lire).
    Aussi on peut faire que le programme essaie de rsoudre le jeu en faisant clic sur le bouton Rsout. Si le programme russit trouver une solution (ce qui peut le porter de quelques secondes beaucoup d'heures), pourra rpter les mouvements avec les boutons une barre d'outils.
    Si une nouvelle solution est obtenue, le programme la conserve et il est possible de voir les mouvements raliss avec l'option de menu le Programme -> Voir des solutions. En faisant clic sur le signe + pour visualiser tous les mouvements d'une solution. Chaque mouvement indique la position de la fiche initiale et de la position finale. La position de chaque fiche se montrent quand passe le curseur sur le fiche. Avec un double clic sur le nom de la solution, le programme chargera les mouvements et pourra les analyser avec les boutons de la barre d'outils.
    Vous pouvez faire que le programme gnrez automatiquement des nouvelles configurations en slectionnant l'tem Solitaire l'ala. Le programme gnre l'ala un solitaire avec un nombre variable de onglets et de quelque des trois modalits (la classique, la diagonal et l'inverse). Si vous faites un double clic sur le tem, pourrez gnrer un nouveau solitaire. De cette modalit ils ne se conservent pas les marques ni aucune autre information.
    Il est possible inventer des nouveaux jeux avec les tems Personnalis, Personnalis - diagonal et Personnalis - inverse. Au slectionner un de ces tems, se gnrera une cuadrcula de 12x12 positions o placer des fiches. Avec la touche Ctrl, avec un click sur n'importe quelle position se situent les fiches. Au suivre avec autres click dessus la mme position, se passera aux autres tats possibles. l'y avoir plac les fiches ou vides, et sans presionar la touche Ctrl, s'entame le jeu avec votre solitaire. vous aussi pouvez faire que le programme essaie trouver une solution (dpendante du nombre de fiches, ceci peut supposer longtemps). Si vous russissez trouver une solution (ou il bien le fait le programme), ils automatiquement se gardassent les donnes du nouveau jeu et il se pourra slectionner dans l'arbre de jeux personnaliss (dans le troisime cil de la zone de jeux). Avec le bouton Posici inicail se revient la situation initiale et avec le bouton la cuadrcula initiale.

    On peut collaborer avec le programme en communiquant les erreurs ou bien avec ses suggestions pour l'amliorer. Envoyez ses suggestions la direction de messagerie lectronique du programme (tangram.peces@gmail.com). S'il cre un nouveau problme ou connat une modalit de solitaire qui n'inclut pas le programme, fait une capture d'image du problme et envoyez-la par la poste lectronique l'auteur du programme. Il peut aussi traduire le programme. S'il utilise une langue en laquelle le programme n'est pas traduit, fait la traduction. Le programme utilise le systme Qt avec fichiers d'tendue .ts. Il aura besoin du programme Qt Linguist ou de tout autre qui permet de travailler avec ce type de fichiers.

    Droits d'auteur du programme. Le programme Solitaire il est une cration d'I. De Marchi, qui est propritaire des droits d'auteur du programme. Le programme (le fichiers binaires, le fichiers du code, la documentation, l'aide et le fichiers d'images) des v.e 3.0 sont distribus par permission GPL. Il peut contacter l'auteur du programme dans la direction tangram.peces@gmail.com





Pomoc Peg Solitaire (Samotnik)

    Gra Samotnik, znana także jako Solitaire, Peg solitaire, Zakonniczka, Kapucyn lub Senku jest planszową grą logiczną, rozgrywaną przez jedną osobę. Jej pochodzenie nie jest znane. Rzekomo powstała na rozkaz Ludwika XIV. Zyskała popularność we Francji w XVII wieku, pźniej w innych krajach (w tym także w Polsce). Bardziej uproszczone odmiany tej gry były znane wcześniej w starożytnym Rzymie. Gra składa się w wersji klasycznej z planszy mającej 33 pola i z 32 pionw, ponieważ pole w środku planszy jest puste. Gra polega na zbijaniu pionw przez przeskakiwanie ich w poziomie i pionie. Celem gry jest zostawienie na planszy jednego piona. Idealnym rozwiązaniem jest jeden pion pozostawiony na środku. W niektrych wersjach (diagonalnych) możliwe są ruchy po przekątnej. Są też łamigłwki, w ktrych należy doprowadzić do usunięcia pionw, aż do osiągnięcia przez nie określonego układu na planszy. W wersji odwrconej początkowo jest tylko jeden pion na planszy. Przeskakując przez puste pola piony są dodawane, aż do uzyskania tylko jednego nieobsadzonego pola na planszy.

    Opis gry. Aby przenieść pion, kliknij na niego myszką (jego kolor zmieni się na żłty). Jeśli ruch jest możliwy do wykonania, program oznaczy czerwoną obwdką pola, na ktrych można postawić pion. Przez ponowne kliknięcie na wybrany pion rezygnujesz z ruchu. Możesz zmieniać ruchy za pomocą przyciskwtornar enrrera avanar na pasku narzędzi. Przycisk Posicin inicial  umieszcza piony w pozycji wyjściowej gry. Jeśli znajdziesz rozwiązanie łamigłwki i na planszy pozostanie tylko jeden pion, to zmieni on kolor na zielony. Jeśli natomiast doprowadzisz do sytuacji, w ktrej nie będziesz mgł wykonać żadnego ruchu, to pozostałe na planszy piony zmienią kolor na czerwony. W wersji odwrconej gra kończy się kiedy pozostaje tylko jedno puste pole na planszy. W wersjach gry oznaczonych na końcu *, gra kończy się, gdy piony pozostaną tylko na miejscach oznaczonych niebieską obwdką.
    Kiedy łamigłwka zostanie rozwiązana, program zapisze osiągnięty przez ciebie rekord. Możesz sprawdzić swoje najlepsze wyniki w Program -> Zobacz najlepsze wyniki. Wybierając Program -> Usuń najlepsze wyniki możesz usunąć informacje o rekordach ze wszystkich plansz. Możesz także tworzyć zupełnie nowe łamigłwki wybierając opcję Układ własny lub modyfikować te już istniejące w programie. Po wybraniu trybu gry, trzymając wciśnięty klawisz Ctrl i klikając na pola możesz dodawać lub usuwać piony na planszy. Po stworzeniu własnego układu należy kliknąć na niego prawym klawiszem myszy, po czym można przystąpić do rozwiązywania. Jeśli uda ci się rozwiązać grę, zostanie ona automatycznie zapisana w zakładce Własne układy. W ten sposb można eksperymentować z nowymi łamigłwkami.
    Możesz rwnież rozwiązać łamigłwkę automatycznie, klikając przycisk Rozwiąż. Jeśli programowi uda się znaleźć rozwiązanie (co może trwać od kilku sekund do kilku godzin), możesz odtworzyć ruchy za pomocą przyciskw tornar enrrera avanar na pasku narzędzi.
    Jeśli pojawi się nowe rozwiązanie, program zapisze je w zakładce Rozwiązania. Aby zobaczyć wszystkie ruchy wykonane w danym rozwiązaniu, należy rozwinąć listę, klikając na znaczek trjkąta z lewej strony. Każdy ruch jest pokazany za pomocą wspłrzędnych określających początkową i końcową pozycję piona. Wspłrzędne każdego piona są wyświetlane po najechaniu na niego kursorem. Po podwjnym kliknięciu na wybrane rozwiązanie, program załaduje wykonane ruchy, ktre możesz odtworzyć za pomocą przyciskw tornar enrrera avanarna pasku narzędzi.
    Wybierając łamigłwkę Gra losowa, program wygeneruje nowy układ o losowym rozmiarze planszy i w jednym z trzech trybw (klasycznym, diagonalnym lub odwrconym).

    Możesz wspłpracować przy tworzeniu programu zgłaszając błędy i inne sugestie. Wyślij swoje propozycje na adres: tangram.peces@gmail.com. Jeśli będziesz miał jakiś problem lub znasz planszę peg solitaire, ktrej nie ma w programie, zrb zrzut ekranu i wyślij go mailem do autora. Możesz też przetłumaczyć program jeśli w ustawieniach brak języka, ktrym się posługujesz. Program wykorzystuje pliki językowe Qt z rozszerzeniem .ts. Do ich edycji możesz wykorzystać program Qt Linguist lub inny umożliwiający pracę z tego typu plikami.

    Prawa autorskie. Peg-Solitaire został stworzony przez I. De Marchi, ktry jest właścicielem praw autorskich do programu. Program (pliki binarne, pliki źrdłowe, dokumentacja, pliki pomocy i obrazy) są rozprowadzane na licencji GPL v. 3.0. Możesz skontaktować się z autorem programu pisząc na adres: tangram.peces@gmail.com





Ajuda do Solitrio (Resta um)
Traduzido com Opentrad

    O Resta um, tambm conhecido como solitrio ingls ou Senku tem uma origem incerta. um jogo de tabuleiro que se joga com fichas: na modalidade mais clssica, o tabuleiro tem 33 posies e 32 fichas devido a que a posio central est sem ficha. O jogo consiste em eliminar as fichas ao estilo das damas mas s com movimentos horizontales e verticais. Consegue-se resolver o jogo quando s fica uma ficha no tabuleiro na posio central (que inicialmente estava vacia). Em outras modalidades, permitem-se os movimentos em diagonal. Tambm h problemas em qu faz falta conseguir eliminar fichas at chegar a uma configuraci de fichas determinada. Nas modalidades inversas, inicialmente s h uma ficha no tabuleiro: com os movimentos (saltando de uma posio vacia para chegar a outra posio vacia) acrescentam-se  fichas at conseguir que s fique uma posio vacia no tabuleiro.

    Descrio do jogo. Para mover uma ficha h que a clicar com o rato. Se possvel mov-la, o programa marcar com um circulo vermelho os possveis destinos do movimento. Voltando a clicar num dos destinos, realizar-se- o movimento. possvel modificar os movimentos realizados com os botes da barra de ferramentastornar enrrera avanar. O boto Posicin inicial  colocar as fichas na poscin inicial do jogo. Se consegue-se a soluo do jogo (quando fica s uma ficha no tabuleiro), ento o programa o indica colorindo em verde a ficha. Se, contrariamente, chega-se a uma situao em que no possvel realizar nenhum movimento, ento o programa o indica colorindo todas as fichas em vermelho. Nas modilitdades inversas, consegue-se acabar o jogo quando s fica um espao vacio. Nas modalidades com final marcado (indicadas com um *), o jogo acaba quando se consegue deixar s as fichas marcadas (neste caso com um crculo azul). Quando se resolveu o jogo, o programa registar sua marca de tempo. Pode consultar suas marcas com a opci de men Programa->Ver marcas pessoais. Com a opo de men Programa->Elimina marcas pessoais pode eliminar a informao de todas suas marcas pessoais.
    possvel propor novos problemas a partir dos propostos pelo programa. Uma vez seleccionada a modalidade de jogo, mantendo a tecla Ctrl apertada clicando sobre as fichas para elimin-las ou bem sobre os espaos vacios para pr uma ficha . Asi pode experimentar com novos problemas. Se encontra a soluo, o jogo conserva-se automaticamente (para mais detalhes, segua lendo).
    Tambm pode fazer que o programa tente solucionar o jogo clicando o boto Resolve. Se o programa consegue encontrar uma soluo (o qual pode lhe levar desde alguns segundos a muitas horas), poder repetir os movimentos com os botes varra de ferramentas.
    Se consegue-se uma soluo nova, o programa conserva-a e possvel ver os movimentos realizados com a opo de men Programa-> Ver solues. Clique o signe +  para visualizar todos os movimentos de uma soluo. A cada movimento indica as coordenadas da ficha inicial e da o posio final. As coordenades da cada ficha mostram-se quando passa o cursor sobre a fitcha. Com um duplo clique sobre o nome da soluo,o programa carregar os movimentos e poder analis-los com os botes da barra de ferramentas.
    Podem fazer com que o programa gere automaticamente novas configuraes selecionando o item Solitrio a esmo. O programa gera a esmo um solitrio com um nmero varivel de fichas e de alguma das trs modalidades (a clssica, a diagonal e a inversa). Se fazem um duplo clique sobre o tem, podero gerar um novo solitrio. Desta modalidade no se conservam as marcas nem nenhuma outra informao.
    possvel inventar novos jogos com os items Personalizado, Personalizado - diagonal e Personalizado - inverso. Ao selecionar um destes items, gerar-se- uma quadrcula de 12x12 posies onde colocar fichas. Com a tecla Ctrl pressionada, clicando qualquer posio situam-se as fichas. Ao seguir clicando a mesma posio, passar aos outros estados possveis. Ao ter colocado as fichas ou vazios, e sem pressionar a tecla Ctrl, inicia-se o jogo com o vosso solitrio. Tambm podem fazer com que o programa tente encontrar uma soluo (dependente do nmero de fichas, isto pode supor muito tempo). Se conseguem encontrar uma soluo (ou bem o faz o programa), automaticamente se guardassem os dados do novo jogo e poder-se- selecionar na rvore de jogos personalizados (na terceira pestana da zona de jogos). Com o boto Posicin inicial volta-se situao inicial e com o boto quadrcula inicial.

    Pode colaborar com o programa comunicando os erros ou bem com suas sugestes para o melhorar. Envie suas sugestes direco de correio electrnico do programa (tangram.peixes@gmail.com). Se cria algun problema novo ou conhece alguma modalidade de solitrio que no inclua o programa, faa uma captura de imagem do problema e enviela por correio electronico ao autor do programa. Tambm pode traduzir o programa. Se utiliza um idioma ao qual no esteja traduzido o programa, faa a traduo. O programa utiliza o sistema Qt com arquivos de extenso .ts. Precisar o programa Qt Linguist ou qualquer outro que permita trabalhar com este tipo de arquivos.

    Direitos de autor do programa. O programa Solitrio (Resta um) s uma criao de I. De Marchi, o qual s proprietrio dos drerechos de autor do programa. O programa (os arquivos binarios, os arquivos do cdigo, a documentao, a ajuda e os arquivos de imagens) distribuem-se com licena GPL v. 3.0. Pode contactar com o autor do programa na direco tangram.peces@gmail.com





Aiuto del Solitario
Traduzione automatica Reverso

    Il Solitario, anche conoscente come solitario inglese o Senku ha un'origine incerta. un gioco di tavola che si gioca con schede:  nella modalit pi classica, la tavola ha 33 posizioni e 32 schede dovuto a che cosa la posizione centrale sta senza scheda. Il gioco consiste in eliminare le schede allo stile delle dame ma solo con movimenti orizzontali e verticali. Si riesce a risolvere il gioco quando suolo rimane una scheda nella tavola nella posizione centrale che inizialmente stava vuota. Anche Ci sono problemi in che c' bisogno di conseguire eliminare fichas fino a arrivare a una configurazione di fichas determinata. Nelle modalit inverse, inizialmente solo c' una scheda nella tavola:  coi movimenti (saltando di una posizione vuota per arrivare ad un'altra posizione vuota) si aggiungono schede fino ad ottenere che suolo rimanga una posizione vuota nella tavola.

    Descrizione del gioco. Per muovere una scheda che clicarla col topo. Se possibile muoverla, il programma segner con un circolo rosso i possibili destini del movimento. Ritornando a clicar in uno dei destini, si realizzer il movimento. possibile modificare i movimenti realizzati coi fattorini della sbarra di attrezzitornar enrrera avanar. Il bottone Posicin inicial collocher le schede nella posizione iniziale del gioco. Se si ottiene la soluzione del gioco, quando rimane solo una scheda nella tavola, allora il programma l'indica colorando in verde la scheda. Se, contrariamente, si arriva ad una situazione in che non possibile realizzare nessun movimento, allora il programma l'indica colorando tutte le schede in rosse. Nelle modalit inverse, si riesce a finire il gioco quando suolo rimane un spazio vuoto. Nelle modalit con finale marcato (indicate con un *), il gioco finisce quando si consegue lasciare soltanto le fichas marcate (in questo caso con un circolo blu). Quando si risolto il gioco, il programma registrer la sua marca di tempo. Pu consultare le sue marche con l'opci di men Programma->Ver marche personali. Con l'opzione di men Programma->Elimina marche personali pu eliminare l'informazione di tutte le sue marche personali.
    possibile esporre nuovi problemi a partire da quelli proposti per il programma. Una volta selezionata la modalit di gioco, mantenendo il tasto Ctrl stretto clicando sulle schede per eliminarli oppure sugli spazi vuoti per mettere una scheda. Cos pu sperimentare con nuovi problemi.
    Pu fare anche che il programma cerchi di risolvere il gioco clicando il bottone Risolve. Se il programma riesce a trovare una soluzione, egli quale pu portargli da alcuni secondi a molte ore, potr ripetere i movimenti coi fattorini sbarra di attrezzi. Se si ottiene una soluzione nuova, il programma la conserva e possibile vedere i movimenti realizzati con l'opzione di men Programma - >  Vedere soluzioni. Clique quello visti + per visualizzare tutti i movimenti di una soluzione. Ogni movimento indica le coordinate della scheda iniziale e della posizione finale. Le coordenades di ogni timbra il cartellino si mostrano quando passa il cursore sulla fitcha. Con un doppio clic sul nome della solucin,el programma caricher i movimentos e potr analizzarli coi fattorini della sbarra di attrezzi.
    Potete fare che il programma generi automaticamente nuove configurazioni seleccionando l'tem Solitario a caso. Il programma genera a caso un solitario con un numero variabile di fichas e di alcuna delle tre modalit (la classica, la diagonal e l'inversa). Se Fate un doppio clic sopra il tem, potrete generare un nuovo solitario. Di questa modalit non si conservano i marchi n nessuna otro informazione.
    possibile inventare nuovi giochi con gli item Personalizzato, Personalizzato - diagonale e Personalizzato - inverso. Selezionando uno di questi item, si generer una quadrettatura di 12x12 posizioni dove collocare schede. Col tasto Ctrl pressato, clicando qualunque posizione si situano le schede. Seguendo clicando la stessa posizione, passer agli altri stati possibili. Avendo collocato le schede o vuoti, e senza pressare il tasto Ctrl, incomincia il gioco col vostro solitario. Potete fare anche che il programma cerchi di trovare una soluzione (dipendente del numero di schede) questo pu supporre molto tempo. Se riuscite a trovare una soluzione, oppure lo fa il programma, automaticamente si guardassero i dati dal nuovo gioco e si potr selezionare nell'albero di giochi personalizzati (nel terzo ciglio della zona di giochi). Col bottone Posicin inicial gira alla situazione iniziale e col bottone alla quadrettatura iniziale.

    Pu collaborare col programma comunicando gli errori oppure coi suoi suggerimenti per migliorarlo. Invii i suoi suggerimenti alla direzione di posta elettronica del programma, tangram.peces@gmail.com. Se creda qualche problema nuovo o conosce alcuno modalit di solitario che non includa il programma, faccia una cattura di immagine del problema e l'invii per posta elettronica all'autore del programma. Pu tradurre anche il programma. Se utilizza una lingua al quale non sia tradotto il programma, faccia la traduzione. Il programma utilizza il sistema Qt con archivi di estensione.ts. Necessiter il programma Qt Linguist o qualunque altro che permetta di lavorare con questo tipo di archivi.

    Diritti d'autore del programma. Il programma Solitario una creazione di I. Di Marchi, il quale proprietario dei diritti d'autore del programma. Il programma, gli archivi binari, gli archivi del codice, la documentazione, l'aiuto e gli archivi di immagini, si distribuiscono con licenza GPL v.  3.0. Pu contattare con l'autore del programma nella direzione tangram.peces@gmail.com






Hilfe des Einsiedlers
Maschinenbersetzung mit voila

    Der Einsiedler, hat auch Bekannter als englischer Einsiedler oder Senku einen ungewissen Ursprung. Das ist ein Spiel der Tafel, die von Spielmarken gespielt wird: In der am meisten klassischen Modalitt hat die Tafel 33 Stellungen und 32 Spielmarken, deswegen, dass die zentrale Stellung ohne Spielmarke ist. Das Spiel besteht darin, die Spielmarken im Stil von den Damen aber nur mit horizontalen und senkrechten Bewegungen zu beseitigen. Es gelingt, das Spiel aufzulsen, wenn eine Spielmarke nur in der Tafel in der zentralen Stellung bleibt (die zunchst leer war). Es gibt auch Probleme in was erreicht werden muss, um Tabs zu lschen, bis Sie eine standardmige Registerkarte Einstellung erreichen. In den umgekehrten Modalitten gibt es eine Spielmarke zunchst nur in der Tafel: Mit den Bewegungen (von einer leeren Stellung springend, um zu anderer leerer Stellung zu kommen,) werden Spielmarken hinzugefgt, bis sie erreichen, dass eine leere Stellung nur in der Tafel bleibt.

    Beschreibung des Spiels. Um ein Tab zu klicken mit der Maus. Wenn mglich zu bewegen, markiert das Programm mit einem gelben Kreis Bewegung mglich Destinationen. Rckkehr nach Klick auf ein Ziel, wird es Bewegung geben. Sie knnen die Bewegungen mit den Schaltflchen auf der Symbolleiste tornar enrrera avanar. Die Schaltflche Posicin inicial wird die Chips in die Ausgangsposition des Spiels statt. Wenn Sie die Lsung des Spiels (wenn es nur ein Stck auf dem Brett ist) bekommen, dann zeigt das Programm Grnfrbung Blatt. Wenn, umgekehrt, fhrt zu einer Situation, wo man nicht machen kann jede Bewegung, dann wird das Programm durch Einfrbung sie alle in Rot angezeigt wird. Inverse Modalitten, ruft beenden Sie das Spiel, wenn nur ein leerer Raum. Modalitten mit markierten Ende (gekennzeichnet mit einem *), das Spiel endet, wenn es verlassen wird nur die Registerkarten markiert (in diesem Fall mit einem blauen Kreis). In umgekehrter Modi, erhalten Sie das Spiel, wenn es nur der leere Raum zu beenden. Wenn das Spiel behoben ist, wird das Programm aufzeichnen ihren Zeitstempel. Sie knnen ihre Marken mit der Agenda-Ansicht Menpunkt Check enthlt persnliche Bestzeiten. Mit der Option Bestzeiten entfernt Program Men knnen Sie die Informationen aus allen ihre Spuren lschen knnen.
    Sie knnen neue Probleme auf den vom Programm vorgeschlagenen basiert. Nach der Auswahl der Spiel-Modus, halten Sie die Strg-Taste gedrckt und klicken Sie auf den Registerkarten zu beseitigen oder auf die leeren Rume zu einer Registerkarte setzen. Dies kann auftreten, neue Probleme. Wenn Sie die Lsung finden, wird das Spiel automatisch beibehalten (Nheres siehe unten).
    Sie knnen auch das Programm versuchen, das Spiel durch Klicken auf die Schaltflche loesen zu lsen. Wenn das Programm verwaltet, um eine Lsung (das kann von einigen Sekunden bis mehrere Stunden dauern) zu finden, knnen Sie wiederholt die Bewegungen mit den Tasten auf der Symbolleiste.
    Wenn Sie eine neue Lsung zu erhalten, die Erhaltung und Programm knnen Sie die Bewegungen mit dem Program Menpunkt View Lsungen. Klicken Sie auf das Pluszeichen zu sehen, all die Bewegungen einer Lsung. Jeder Schritt zeigt die Koordinaten der ursprnglichen Aussage und Endposition. Die coordenades jeder Registerkarte wird angezeigt, wenn Sie den Cursor auf dem Fitch schweben. Ein Doppelklick auf den Namen der Lsung, das Programm wird geladen und Sie knnen Movimentos mit den Tasten auf der Symbolleiste zu analysieren.
    Sie knnen tun, dass das Programm automatisch neue Konfigurationen erzeugt, indem Sie Element Solitaire nach dem Zufallsprinzip auswhlen. Das Programm generiert zufllige ein Einzelgnger mit einer Variablen Anzahl von Registerkarten und einem der drei Modi (klassisch, Diagonal und umgekehrt). Einen Doppelklick auf das Element in diesem Fall knnen Sie ein neues Solo generieren. Diese Methode kennzeichnet noch andere Informationen werden nicht beibehalten.
    Es ist mglich, mit custom, benutzerdefinierte - Diagonale und benutzerdefinierte - umgekehrte Elemente neue Spiele zu erfinden. Um eines dieser Elemente auswhlen, generiert er ein 12 x 12 Startpltze Registerkarten platzieren. Mit die Ctrl-Taste gedrckt, indem Sie auf jede Position, die die Registerkarten platziert werden. Fahren Sie auf die gleiche Position, geht es in anderen Staaten mglichen. Die Registerkarten oder leer gesetzt und ohne Drcken der Ctrl--Taste das Spiel beginnt mit Ihren einsamen. Sie machen auch die Programm versucht, eine Lsung zu finden (abhngig von der Anzahl der Chips, das kann bedeuten langen Zeit). Wenn es Ihnen gelingt, eine Lsung zu finden (oder das Programm es tut), automatisch die neuen Spieldaten gespeichert und knnen in den Baum-Spiele (in der dritten Registerkarte der Zone der Spiele) benutzerdefinierte ausgewhlt werden. Mit der Taste schaltet die Posicin inicial die Ausgangssituation und mit der Taste das erste Raster.

    Sie knnen mit dem Programm oder die Kommunikation mit ihren Fehlern Anregungen zur Verbesserung mitzuarbeiten. Senden Sie Ihre Vorschlge an die E-Mail-Adresse des Programms (tangram.peces @ gmail.com). Wenn Sie nun neues Problem oder wei jeder Solo-Modus nicht enthlt das Programm, klicken Sie auf ein Bild des Problems zu erfassen und senden Sie es per E-Mail an den Autor des Programms. Sie knnen auch das Programm zu bersetzen. Wenn Sie eine Sprache, die nicht in das Programm bersetzt wird, verwenden Sie die bersetzung. Das Programm verwendet die Dateierweiterung zu Qt. Ts. Sie bentigen Qt Linguist oder irgendetwas anderes, dass tatschlich mit diesen Dateien arbeiten knnen.

    Copyright des Programms. Das Programm allein ist eine Schpfung des Innocent De Marchi, die Urheberrechte des Programms besitzt. Das Programm (Binaries, helfen Quelldateien, Dokumentation, Dateien und Fotos) sind unter der GPL lizensiert v. 3.0. Sie knnen Kontakt mit dem Autor des Programms in Richtung tangram.peces @ gmail.com






Peg Solitaire Help
Translated with Opentrad

    The peg solitaire game, also known as English peg solitaire or Senku is of uncertain origin. It is a board game played with pegs: in the classic mode, the board has 33 positions and 32 tokens because the center position is without form. The game is to remove the pegs but only with horizontal and vertical movements. To solve the game is to leave only one piece on the board in the center position (which was initially empty). In other modalitats, allow  the movements in diagonal. Also there are problems in qu it is necessary to achieve delete fitxes until reaching a determinate configuration of peg. In the reverse modes, initially there is only one piece on the board: with the movements (jumping from one empty position to another position to get empty) tokens are added to get only one position is vacant on the board.

    Description of the game. To move a peg, click with the mouse. If possible move, the program marked with a red circle the possible movement destinations. Returning to click on a destination, there will be movement. You can modify the movements with the buttons on the toolbar tornar enrrera avanar. The button Posici inicail chips placed at the position starting the game. If you get the solution of the game (when it is just a piece on the board), then the program indicates green coloring sheet. If, conversely, leads to a situation where you can not make any movement, then the program is indicated by coloring them all in red. In the reverse modilitdades is achieved through the game when there is only an empty space. In the modalitats with marked end (indicated with one *), the game finishes when achieves  leave only the fitxes marked (in that case with a blue circle). When the game is resolved, the program will record its timestamp. You can check their brands with the menu option Program -> View records. With the Program -> Remove personal records  menu you can delete the information from all their records.
    May raise new problems from those proposed by the program. After selecting the game mode, keeping the Ctrl key pressed by clicking on the tabs to eliminate or on the empty spaces to put a tab. So you can experiment with new problems. If you find the solution, the game is automatically preserved (for more details, see below).
    You can also make the program try to solve the game by clicking the Solve button. If the program succeeds in finding a solution (which can take from several seconds to several hours), you can repeat the movements with the toolbar buttons.
    
If you get a new solution, the program saves this solution and you can see the movements made with the Program -> View solutions
menu. Click the + sign to see all the movements of a solution. Each movement indicates the coordinates of the initial statement of the position. The coordenades of each peg is displayed when you hover the cursor on the peg. With a double click on the name of the solution, the program will load the movements and you can see the movements with the buttons on the toolbar.
    You can do that the program generate automatically new configurations selecting the tem Random Solitary. The program generates at random a solitary with a variable number of index cards and of any of the three modalities (the classical, the diagonal and the reverse). If you do a double click on the tem, will be able to generate a new solitary. Of this modality do not conserve  the marks neither any another information.
    It is possible to invent new games with custom, custom - diagonal and custom - reverse items. To select one of these items, it will generate a 12x12 grid positions where to place tabs. With the Ctrl key pressed, by clicking any position the tabs are placed. Continue by clicking the same position, it goes into other possible States. Having placed the tabs or empty, and without pressing the Ctrl key, the game starts with your lone. You can also make the program tries to find a solution (dependent on the number of chips, this may involve long time). If you manage to find a solution (or the program does it), automatically the new game data is stored and can be selected in the tree games custom (in the third tab of the zone of games). With the button Posicin inicial turns the initial situation and with the button the initial grid.

    You can collaborate with the program communicating errors and with their suggestions for improvement. Send your suggestions to the email address of the program (tangram.peces @ gmail.com.) If you create any new problem or know of any solitaire that does not include the program, create an image capture of the problem and send it by email to the author of the program. You also can translate the program. If you use a language which is not translated into the program, do the translation. The program uses the .ts file extension to Qt You will need Qt Linguist or anything else that can actually work with these files.

    Copyright. The Peg-Solitaire program was created by I. De Marchi, which owns the copyright of the program. The program (binaries, source files, documentation, help files and images) are distributed under GPL v. 3.0. You can contact the author of the program in the email tangram.peces@gmail.com


peg-solitaire-2.2/help/migracio.html0000644000175000017500000002326212756101226017652 0ustar demarchidemarchi Migraci de dades a la versi 2.1

Catal
Castellano
Galego
Euskera
Portugus
Franais
Italiano
English




Migraci de dades a la versi 2.1


S'ha efectuat la migraci de dades a la versi 2.1 degut als canvis en les llibreries de Qt 5. Ha calgut canviar els noms dels arxius de solucions del programa. La migraci de les dades de solucions dels jocs personalitzats no es possible fer-la automticament. Comprovau si teniu l'arxiu game-per.dat en el directori Solitari en el vostre directori d'usuari. Si l'arxiu existeix, podeu enviar el contingut del directori Solitari_seg (en un arxiu comprimit) a l'autor del programa per fer la migraci de les solucions dels jocs personalitzats.

Podeu contactar amb l'autor a l'adrea tangram.peces@gmail.com 





Migracin de datos a la versin 2.1

Se ha realizado la migracin de datos a la versi 2.1 debida a los cambios en las librerias de Qt 5. Ha sido necesario cambiar los nombres de los archivos de soluciones del programa. La migracin de los datos de soluciones de los juegos personalizados no es posible realizarla automticamente. Compruebe si tiene el archivo game-per.dat en el directorio Solitari de su directorio de usuario. Si el archivo existe, puede enviar el contenido del directorio Solitari_seg (en un archivo comprimido) al autor del programa para hacer la migracin de las soluciones de los juegos personalizados.

Puede contactar con el autor del programa en la direccin tangram.peces@gmail.com





Migracin de datos versin 2.1
Traducido automaticamente con Opentrad

Realizouse a migracin de datos versi 2.1 debida aos cambios nas librerias de Qt 5. Foi necesario cambiar os nomes dos arquivos de solucins do programa. A migracin dos datos de solucins dos xogos personalitzados non posible realizala automaticamente. Comprobe se ten o arquivo game-per.dat no directorio Solitari_seg do seu directorio de usuario. Se o arquivo existe, pode enviar o contido do directorio Solitari_seg (nun arquivo comprimido) ao autor do programa para facer a migracin das solucins dos xogos personalitzados.

Pode contactar co autor do programa na direccin tangram.peces@gmail.com






Laguntza Solitario
Opentradekin itzulpen automatikoa

Artxibatzeen programako konponbideetako izenak aldatzea beharrezkoa izan da. Datuetako migrazioak jolas personalitzadostu konponbideetako egiterik ez du litekeena da automatikoki. Egiazta dezan artxibatzea badu game-pitzea. Direktorioan Solitari haren direktorioaren erabiltzailearen game-per.dat. Artxibatzea existitzen bada, neurriduna bidali ahal dio direktoriotik Solitari_seg (bat agiritegian gordetzen dut konprimituta) programako egileari migrazioa jolas personalitzadostu konponbideetako egiteko.

Programaren egilearekin harremanetan jarri ahal du norabide tangram.peces@gmail.com






Migration de donnes la version 2.1
Traduction automatique avec Opentrad

On s'est ralis la migration des donnes la versi 2.1 due aux changements en les librerias de Qt 5. Il a t ncessaire changer les noms des archives de solutions du programme. La migration des donnes de solutions des jeux personnels n'est pas possible la raliser automatiquement. Regardez-vous s'il y a l'archives game-per.dat dans le directoire Solitari de son directoire d'utilisateur. S'il existe, vous pouvez envoyer le contenu du directoire Solitari_seg (dans une archive comprim) l'auteur du programme pour faire la migration des solutions des jeux personnels.

On peut contacter l'auteur du programme dans la direction tangram.peces@gmail.com





Migrao de dados verso 2.1
Traduzido com Opentrad

Realizou-se a migrao de dados versi 2.1 devida s mudanas nas librerias de Qt 5. foi necessrio mudar os nomes dos arquivos de solues do programa. A migrao dos dados de solues dos jogos personalitzados no possvel a realizar automaticamente. Se voc tem o arquivo game-per.dat no diretrio Solitari do seu diretrio de utente. Se o arquivo existe, pode enviar o contedo do diretrio Solitari_seg (em um arquivo comprimido) ao autor do programa para fazer a migrao das solues dos jogos personalitzados.

Pode contactar com o autor do programa na direco tangram.peces@gmail.com





Migrazione dei dati alla versione 2.1
Traduzione automatica Reverso

Si ha realizzato la migrazione di dati alla versi 2.1 dovuta ai cambiamenti nelle Qt 5. stato necessario cambiare i nomi dei files di soluzioni dello programma. La migrazione dei dati di soluzioni dei giochi personali non possibile realizzarla automaticamente. Guardi se ha l'archivio game-per.dat nella directory Solitari della sua directory di utente. Se l'archivio esiste, pu inviare il contenuto della directory Solitari_seg (in un archivio compresso) all'autore del programma per fare la migrazione delle soluzioni dei giochi personali.

Pu contattare con l'autore del programma nella direzione tangram.peces@gmail.com






Data Migration to version 2.1
Translated with Opentrad

It has migrated data to 2.1 versi due to changes in the Qt 5.0 libraries. Has been necessary to change the names of program solutions files . The data migration of solutions custom games, can't automatically do it. Check if you have the game-per.dat file in the Solitari directory in your home directory. If the file exists, you can send the contents of the directory Solitari_seg (In a compressed file) to the author of the program to make custom solutions files games migration.

You can contact the author of the program in the email tangram.peces@gmail.com


peg-solitaire-2.2/locales-ts/solitari_pl_PL.ts0000644000175000017500000010336113113042214021560 0ustar demarchidemarchi Traduccio English Polski frmPrincipal Solitari Peg Solitaire Solucions Rozwiązania No s'ha trobat l'arxiu %1 Plik %1 nie istnieje Modalitats del joc Games Rodzaj gry Solitari 3x5 Samotnik 3x5 Triangular 4x7 Trójkąt 4x7 Quadrat 5x5 Kwadrat 5x5 Wiegleb Wiegleb Diamant 9x9 Diament 9x9 Quadrat 6x6 Kwadrat 6x6 Diamant 5x5 Diament 5x5 Diamant 7x7 Diament 7x7 Incomplet 6x6 Niekompletny 6x6 Incomplet 7x7 Niekompletny 7x7 Wiegleb reduit Wiegleb - zredukowany Solitari 8x9 Samotnik 8x9 Solitari 5x6 Samotnik 5x6 Solitari 7x5 Samotnik 7x5 Clàssic - superior Klasyczny - górny de %1 z %1 No hi ha moviments! Nie ma ruchu! Clàssic - inferior Klasyczny - dolny Clàssic - fletxa Klasyczny - strzałka Clàssic - piràmide Klasyczny - piramida Clàssic - diamant Klasyczny - diament Clàssic - rombe Klasyczny - romb Asimètric 8x8 Asymetryczny 8x8 Asimètric - superior Asymetryczny - górny Clàssic - central Klasyczny - środkowy Clàssic - quadrat central Klasyczny - środkowy Clàssic - rectangle central Klasyczny - środkowy prostokąt Clàssic - arbre Klasyczny - drzewo Wiegleb - clàssic Wiegleb - klasyczny Anglès antic Staroangielski Clàssic - E Klasyczny - E Clàssic - R Klasyczny - R Clàssic - T Klasyczny - T Triangular 4x7 - piràmide Trójkąt 4x7 - piramida Quadrat 5x5 - piràmide Kwadrat 5x5 - piramida Asimètric 6x6 Asymetryczny 6x6 Quadrat 9x9 Kwadrat 9x9 Anglès antic - diamant Staroangielski - diament Triangular 5 Trójkąt 5 Triangular 4 Trójkąt 4 Triangular 6 Trójkąt 6 Clàssic - quadrat Klasyczny - kwadrat Clàssic - cúpula Klasyczny - kopuła Clàssic - Cabana Klasyczny - chatka Solitari 3x5 bis Samotnik 3x5 bis Solitari 4x4 Samotnik 4x4 Solitari 6x5 Samotnik 6x5 Solitari 4x5 Samotnik 4x5 Triangular 7 Trójkąt 7 Triangular 8 Trójkąt 8 Triangular 9 Trójkąt 9 Clàssic - molinet Klasyczny - młyn Triangular 10 Trójkąt 10 Quadrat 8x8 Kwadrat 8x8 Clàssic - O Klasyczny - O Clàssic ampliat Klasyczny rozszerzony Solo Solo Solitari 8x3 Samotnik 8x3 Solitari 8x6 Samotnik 8x6 &Surt &Zakończ Veure records Zobacz najlepsze wyniki Ajuda Pomoc Credits O programie Agraïments Gratitudes Podziękowania Web del programa Program Web Web del tangram Tangram Web Avança Powtórz ruch Programa Program &Moviments joc &Ruchy Idioma Język Inici solució Idź do początku Ctrl+S Veure marques personals Zobacz swoje najlepsze wyniki Europeu Europejski Quadrat 5x5 - central Kwadrat 5x5 - środkowy Quadrat 5x5 - H Kwadrat 5x5 - H Europeu - creu Europejski - krzyż Quadrat 5x5 - quadrats Kwadrat 5x5 - cztery kwadraty Triangular 4x7 - quadrat Trójkąt 4x7 - kwadrat Wiegleb - creu petita Wiegleb - mały krzyż Wiegleb - simetria Wiegleb - symetryczny Dos quadrats 10x10 Dwa kwadraty 10x10 Dos quadrats 11x11 Dwa kwadraty 11x11 Tres quadrats 16x16 Trzy kwadraty 16x16 Dos quadrats 9x9 Dwa kwadraty 9x9 Tres quadrats 13x13 Trzy kwadraty 13x13 Quatre quadrats 13x13 Cztery kwadraty13x13 Rombe 36 Romb 36 Hexagonal 7x11 Sześciokątny 7x11 Solitari a l'atzar Układ losowy Solitari OK OK Peg solitaire Samotnik OK Joc carregat. El vostre record actual és: %1 Gra została wczytana. Twój obecny rekord: %1 Retrocedeix Cofnij ruch Elimina marques personals Usuń najlepsze wyniki Reinicia el joc actual Zacznij od początku Ctrl+R Pausa Wstrzymaj Ctrl+P Ctrl+P Ctrl+Z Ctrl+Z Shift+Ctrl+Z Continua Wznów Sota llicència GPL 2.0 o posterior Na licencji GPL 2.0 lub późniejszej De debó voleu eliminar les vostres marques? Czy jesteś pewien, że chcesz usunąć najlepsze wyniki? Cercant solució Szukaj rozwiązania No ha estat possible trobar una solució! Nie znaleziono rozwiązania! Desant dades: %1 de %2 Zapisywanie danych: %1 of %2 Joc resolt! Gra rozwiązana! Nova marca personal Nowy rekord Heu establert un nou record personal en aquesta modalitat de joc Ustanowiłeś nowy rekord w tej grze Moviment %1 de %2 Idź do %1 z %2 Jocs personalitzats Custom games Gry własne S'ha trobat una nova solució! Znaleziono nowe rozwiązanie! Solució %1 Rozwiązanie %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Czy na pewno chcesz wstawić rozwiązanie? Stracisz dotychczasowe ruchy! . Feu servir els botons Avança i Retrocedeix per veure la solució. Użyj przycisków Cofnij i Przywróć żeby zobaczyć rozwiązanie. No hi ha més moviments: el joc ha finalitzat! Brak możliwości ruchu: koniec gry! Clàssic Klasyczny Clàssic - simetria Klasyczny - symetryczny Clàssic - pentàgon Klasyczny - pięciokąt Clàssic - creu petita Klasyczny - mały krzyż Clàssic - creu gran Klasyczny - duży krzyż Solitari estrella 7x7 Star peg-solitaire 7x7 Gwiazda 7x7 Solitari 6x7 Samotnik 6x7 Solitari 6x6 Samotnik 6x6 Wiegleb - fletxa Wiegleb - strzałka Europeu - quadrat Europejski - kwadrat Hexagonal inclinat Sześciokąt pochyły Clàssic - 4 forquilles Klasyczny - cztery widelce Pentagonal Pentagonal Pięciokątny Clàssic - Dos quadrats Klasyczny - dwa kwadraty Clàssic - Banyes Klasyczny - rogi Clàssic - X Klasyczny - X Clàssic - Torxa Klasyczny - pochodnia Clàssic - Palau Klasyczny - pałac Personalitzat Custom peg solitaire Układ własny Resol Rozwiąż &%1 %2 &%1 %2 Credits del %1 O %1 Marques personals Najlepsze wyniki Elimina les marques personals Usuń najlepsze wyniki Atura Stop Desant dades Zapisywanie danych Carregant dades Wczytywanie danych No hi ha solucions Nie znaleziono rozwiązania Carregar Wstaw S'ha carregat la Załadowany Moviment Ruch de z Cap joc personalitzat Without custom peg-solitaire Bez gry własnej - invers - reverse - odwrócony - diagonal - diagonal - diagonalny peg-solitaire-2.2/locales-ts/solitari_eu_ES.ts0000644000175000017500000011256313113041311021553 0ustar demarchidemarchi Traduccio English El nombre del idioma de la traducción Euskera frmPrincipal Solitari Bakartia Solucions Soluciones Konponbideak No s'ha trobat l'arxiu %1 No artxiboa aurkitu du %1 Modalitats del joc Juegos Jolasak Solitari 3x5 Bakartia 3x5 Triangular 4x7 Triangelatzea 4x7 Quadrat 5x5 Koadratuta 5x5 Wiegleb Wiegleb Diamant 9x9 Diamante 9x9 Diamantea 9x9 Quadrat 6x6 Koadratuta 6x6 Diamant 5x5 Diamantea 5x5 Diamant 7x7 Diamantea 7x7 Incomplet 6x6 Osatugabea 6x6 Incomplet 7x7 Osatugabea 7x7 Wiegleb reduit Wiegleb -Gutxituta Solitari 8x9 Bakartia 8x9 Solitari 5x6 Bakartia 5x6 Solitari 7x5 Bakartia 7x5 Quadrat 9x9 Koadratuta 9x9 Triangular 5 5 triangelatzea Triangular 4 Triangelatzea 4 Triangular 6 6 triangelatzea Solitari 3x5 bis Bakartia 3x5 bis Solitari 4x4 Bakartia 4x4 Solitari 6x5 Bakartia 6x5 Solitari 4x5 Bakartia 4x5 Triangular 7 7 triangelatzea Triangular 8 8 triangelatzea Triangular 9 9 triangelatzea Clàssic - molinet Klasikoa - ehogailua Triangular 10 10 triangelatzea Quadrat 8x8 Koadratuta 8x8 Jocs personalitzats Juegos personalizados Jolas izena aipatuak Solitari estrella 7x7 Solitario estrella Izarra bakartia 7x7 Solitari 6x7 Bakartia 6x6 &Surt &Itxitzen du Veure records Marka pertsonalak ikustea Ajuda Laguntza Credits Sinesgarritasunak Agraïments Agradecimientos Eskerrak Web del tangram Tangramaren weba Avança Avanza Aurreratzen du Inici solució Konponbidearen hasiera Pausa Etenaldia Ctrl+P Continua Jarraitua Joc resolt! Jolas ebatzia ! Nova marca personal Marka pertsonal berria Heu establert un nou record personal en aquesta modalitat de joc Marka pertsonal berri bat lortu du jolasaren modalitate honetan Moviment %1 de %2 Mugimendua %1 bi %2 Programa Programa Programa &Moviments joc &Jolasaren mugimenduak Idioma Hizkuntza Ctrl+S Veure marques personals Marka pertsonalak ikustea Joc carregat. El vostre record actual és: %1 Jolas kargatua. Gaur egungoa zuen marka pertsonala da: %1 Elimina marques personals Marka pertsonalak kanporatzen ditu Reinicia el joc actual Gaur egungo jolasa Reinicia Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu Europeo Europarra Quadrat 5x5 - central Cuadrado 5x5 - central 5x5 koadratua - zentrala Quadrat 5x5 - H Cuadrado 5x5 - H 5x5 koadratua - H Europeu - creu Europeo - cruz Europarra - gurutzea Quadrat 5x5 - quadrats Cuadrado 5x5 - cuadrados 5x5 koadratua - koadratuta Triangular 4x7 - quadrat Triangular 4x7 - cuadrado 4x7 triangelatzea - koadratuta Wiegleb - creu petita Wiegleb - cruz pequeña Wiegleb - gurutze txikia Wiegleb - simetria Wiegleb - simetria Wiegleb - simetria Clàssic - O Klasikoa - O Dos quadrats 10x10 Dos cuadrados 10x10 10x10 bi karratu Dos quadrats 11x11 Dos cuadrados 11x11 11x11 bi karratu Tres quadrats 16x16 Tres cuadrados 16x16 16x16 hiru karratu Dos quadrats 9x9 Dos cuadrados 9x9 9x9 bi karratu Tres quadrats 13x13 Tres cuadrados 13x13 13x13 hiru karratu Quatre quadrats 13x13 Cuatro cuadrados 13x13 13x13 lau karratu Clàssic ampliat Clásico ampliado Klasiko handiagotua Rombe 36 Rombo 36 Romboa 36 Hexagonal 7x11 Hexagonal 7x11 7x11 hexagonala Solitari a l'atzar Solitario al azar Ausaz bakartia Solitari OK Solitario OK Bakartia OK Web del programa Programako weba Sota llicència GPL 2.0 o posterior 3.0 edo gerokoa lizentzia GPL De debó voleu eliminar les vostres marques? Haren marka pertsonalak kanporatu nahi dituen segurua ? Cercant solució Konponbidea bilatzean No ha estat possible trobar una solució! Konponbide bat ez du aurkitu ! S'ha trobat una nova solució! Konponbide berri bat aurkitu du ! Solució %1 %1 konponbidea De debó voleu carregar la solució? Perdreu els moviments que heu fet! Konponbidea kargatu nahi duen segurua ? Mugimendu eginak galtzera doa! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Mandataria Avanza Utilizerentzat eta Retrocederentzat konponbidea ikusteko. de %1 No hi ha més moviments: el joc ha finalitzat! Mugimendu gehiago: ez dago jolasa amaitu du ! No hi ha moviments! Mugimendurik Ez daude ! Clàssic Klasikoa Clàssic - simetria Clásico - simetria Klasikoa - simetria Clàssic - pentàgon Clásico - pentágono Klasikoa - pentagonoa Clàssic - creu petita Clásico - cruz pequeña Klasikoa - gurutze txikia Clàssic - creu gran Clásico - cruz grande Klasikoa - gurutze handia Clàssic - superior Clásico - superior Klasikoa - nagusia Clàssic - inferior Clásico - inferior Klasikoa - azpikoa Clàssic - fletxa Clásico - flecha Klasikoa - arkua tenka ezazu Clàssic - piràmide Clásico - pirámide Klasikoa - piramidea Clàssic - diamant Clásico - diamante Klasikoa - diamantea Clàssic - rombe Rombo klasikoa Asimètric 8x8 8x8 alderantzizko Asimètric - superior Asimétrico - superior Asimetrikoa - nagusia Clàssic - central Clásico - central Klasikoa - zentrala Clàssic - quadrat central Clásico - cuadrado central Klasikoa - zentrala koadratua Clàssic - rectangle central Clásico - rectágulo central Klasikoa - rectágulo zentrala Clàssic - arbre Clásico - árbol Klasikoa - zuhaitza Wiegleb - clàssic Wiegleb - clásico Wiegleb - klasikoa Solitari 6x6 Bakartia 6x6 Anglès antic Ingeles zaharra Wiegleb - fletxa Wiegleb - flecha Wiegleb - arkua tenka ezazu Clàssic - E Clásico - E Klasikoa - E Clàssic - R Clásico - R Klasikoa - R Clàssic - T Clásico - T Klasikoa - T Triangular 4x7 - piràmide Triangular 4x7 - pirámide 4x7 triangelatzea - piramidea Quadrat 5x5 - piràmide Cuadrado 5x5 - pirámide 5x5 koadratua - piramidea Asimètric 6x6 6x6 asimetrikoa Anglès antic - diamant Inglés antiguo - diamante Ingeles zaharra - diamantea Clàssic - quadrat Clásico - cuadrado Klasikoa - koadratuta Clàssic - cúpula Clásico - cúpula Klasikoa - kupula Clàssic - Cabana Clásico - cabaña Klasikoa - etxola Europeu - quadrat Europeo - cuadrado Europarra - koadratuta Hexagonal inclinat Hexagonal okertua Clàssic - 4 forquilles Klasikoa - lau forquillas Pentagonal Pentagonala Clàssic - Dos quadrats Clásico - dos cuadrados Klasikoa - bi karratu Clàssic - Banyes Clásico - cuernos Klasikoa - adarrak Clàssic - X Clásico - X Klasikoa - X Clàssic - Torxa Clásico - antorcha Klasikoa - zuzia Clàssic - Palau Clásico - palacio Klasikoa - jauregia Personalitzat Personalizado Izena aipatuta Solo Solo Solitari 8x3 Bakartia 8x3 Solitari 8x6 Bakartia 8x6 Retrocedeix Retrocede Atzera egiten du Resol Ebazten du &%1 %2 Credits del %1 %1 sinesgarritasunak Marques personals Marka pertsonalak Elimina les marques personals Marka pertsonalak kanporatzen ditu Atura Stopa Desant dades Datuak gordetzean Desant dades: %1 de %2 Datuak gordetzean: %1 bi %2 Carregant dades Datuak kargatzean No hi ha solucions Konponbideak ez daude Carregar Kargatzea S'ha carregat la Kargatu da Moviment Mugimendua de bi Cap joc personalitzat Sin juegos personalizados Jolas izena aipaturik gabe - invers - Alderantzizko - diagonal - Diagonala peg-solitaire-2.2/locales-ts/solitari_en_US.ts0000644000175000017500000010223313113040246021563 0ustar demarchidemarchi Traduccio English English frmPrincipal Solitari Peg-solitaire Solucions Solutions No s'ha trobat l'arxiu %1 The file %1 does not exist Modalitats del joc Games Solitari 3x5 Peg-solitaire 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Square 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Quadrat 6x6 Square 6x6 Diamant 5x5 Diamond 5x5 Diamant 7x7 Diamond 7x7 Incomplet 6x6 Incomplete 6x6 Incomplet 7x7 Incomplete 7x7 Wiegleb reduit Wiegleb reduced Solitari 8x9 Peg-Solitaire 8x9 Solitari 5x6 Peg-Solitaire 5x6 Solitari 7x5 Peg-solitarie 7x5 Quadrat 9x9 Square 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Peg-solitaire 3x5 bis Solitari 4x4 Peg-solitaire 4x4 Solitari 6x5 Peg-solitaire 6x5 Solitari 4x5 Peg-solitaire 4x5 Triangular 7 Triangular 7 Triangular 8 Triangular 8 Triangular 9 Triangular 9 Clàssic - molinet Classic - small mill Triangular 10 Triangular 10 Quadrat 8x8 Square 8x8 Jocs personalitzats Custom games Solitari estrella 7x7 Peg-solitari star 7x7 Solitari 6x7 Peg-solitaire 6x7 &Surt &Quit Veure records View personal records Ajuda Help Credits About Agraïments Acknowledgements Web del programa Program Web Web del tangram Tangram web Avança Redo Inici solució Home Solution Pausa Stop Ctrl+P Ctrl+P Continua Continues Joc resolt! Solved game! Nova marca personal New personal record Heu establert un nou record personal en aquesta modalitat de joc You have a new personal record in this modality of the game Moviment %1 de %2 Jump %1 of %2 Programa Program &Moviments joc Game &moves Idioma Language Ctrl+S Veure marques personals View personal records Joc carregat. El vostre record actual és: %1 Game loaded. Your current personal record: %1 Elimina marques personals Delete personal records Reinicia el joc actual Restarts game Ctrl+R Ctrl+Z Ctrl+Z Shift+Ctrl+Z Europeu European Quadrat 5x5 - central Square 5x5 - central Quadrat 5x5 - H Square 5x5 - H Europeu - creu European - cross Quadrat 5x5 - quadrats Square 5x5 - square Triangular 4x7 - quadrat Triangular 4x7 - square Wiegleb - creu petita Wiegleb - small cross Wiegleb - simetria Wiegleb - symmetry Clàssic - O Classic - O Dos quadrats 10x10 Two square 10x10 Dos quadrats 11x11 Two square 11x11 Tres quadrats 16x16 Three square 16x16 Dos quadrats 9x9 Two square 9x9 Tres quadrats 13x13 Three square 13x13 Quatre quadrats 13x13 Four square 13x13 Clàssic ampliat Expanded Classic Rombe 36 Rhombus 36 Hexagonal 7x11 Hexagonal 7x11 Solitari a l'atzar Random Solitaire Solitari OK Ok Peg-solitaire Sota llicència GPL 2.0 o posterior Under GPL 3.0 or later De debó voleu eliminar les vostres marques? Sure you want to delete their personal records? Cercant solució Looking for solution No ha estat possible trobar una solució! Not found a solution! S'ha trobat una nova solució! We found a new solution! Solució %1 Solution %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Sure you want to load the solution? Will lose the movements! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Use the Redo and Undo buttons to see the solution. de %1 of %1 No hi ha més moviments: el joc ha finalitzat! There are no more movements: the game has finalized! No hi ha moviments! There are no more movements! There are no more movements! Clàssic Classic Clàssic - simetria Classic - symmetry Clàssic - pentàgon Classic - pentagon Clàssic - creu petita Classic - small cross Clàssic - creu gran Classic - big cross Clàssic - superior Classic - top Clàssic - inferior Classic - lower Clàssic - fletxa Classic - arrow Clàssic - piràmide Classic - pyramid Clàssic - diamant Classic - diamond Clàssic - rombe Classic - rhomb Asimètric 8x8 Asymmetric 8x8 Asimètric - superior Asymmetric - top Clàssic - central Classic - central Clàssic - quadrat central Classic - central square Clàssic - rectangle central Classic - central rectangle Clàssic - arbre Classic - tree Wiegleb - clàssic Wiegleb - classic Solitari 6x6 Peg-solitaire 6x6 Anglès antic Old English Wiegleb - fletxa Wiegleb - arrow Clàssic - E Classic - E Clàssic - R Classic - R Clàssic - T Classic - T Triangular 4x7 - piràmide Triangular 4x7 - pyramid Quadrat 5x5 - piràmide Square 5x5 - pyramid Asimètric 6x6 Asymmetric 6x6 Anglès antic - diamant Old English - diamond Clàssic - quadrat Classic - square Clàssic - cúpula Classic - dome Clàssic - Cabana Classic - cabin Europeu - quadrat European - square Hexagonal inclinat Hex inclined Clàssic - 4 forquilles Classic - four forks Pentagonal Pentagonal Clàssic - Dos quadrats Classic - two square Clàssic - Banyes Classic - horns Clàssic - X Classic - X Clàssic - Torxa Classic - torch Clàssic - Palau Classic - palace Personalitzat Custom Solo Solo Solitari 8x3 Peg-solitaire 8x3 Peg-solitaire 8x3 Solitari 8x6 Peg-solitaire 8x6 Peg-solitaire 8x6 Retrocedeix Undo Resol Solve &%1 %2 Credits del %1 About %1 Marques personals Personal records Elimina les marques personals Delete personal records Atura Stop Desant dades Saving data Desant dades: %1 de %2 Saving data: %1 of %2 Carregant dades Loading data No hi ha solucions No solutions found Carregar Upload S'ha carregat la Is loaded Moviment Movement de of Cap joc personalitzat Without custom games - invers - reverse - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_it_IT.ts0000644000175000017500000011102113113037262021561 0ustar demarchidemarchi Traduccio English Il nome della tua lingua Italiano frmPrincipal Solitari Peg-solitaire Solitario Solucions Solutions Soluzioni No s'ha trobat l'arxiu %1 Non si è trovato l'archivio %1 Modalitats del joc Games Giochi Solitari 3x5 Solitario 3x5 Triangular 4x7 Triangolare 4x7 Quadrat 5x5 Quadrato 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Diamante 9x9 Quadrat 6x6 Quadrato 6x6 Diamant 5x5 Diamante 5x5 Diamant 7x7 Diamante 7x7 Incomplet 6x6 Incompleto 6x6 Incomplet 7x7 Incompleto 7x7 Wiegleb reduit Wiegleb ridotto Solitari 8x9 Solitario 8x9 Solitari 5x6 Solitario 5x6 Solitari 7x5 Solitario 7x5 Quadrat 9x9 Quadrato 9x9 Triangular 5 Triangolare 5 Triangular 4 Triangolare 4 Triangular 6 Triangolare 6 Solitari 3x5 bis Solitario 3x5 bis Solitari 4x4 Solitario 4x4 Solitari 6x5 Solitario 6x5 Solitari 4x5 Solitario 4x5 Triangular 7 Triangolare 7 Triangular 8 Triangolare 8 Triangular 9 Triangolare 9 Clàssic - molinet Classico - piccolo mulino Triangular 10 Triangolare 10 Quadrat 8x8 Quadrato 8x8 Jocs personalitzats Giochi personalizzati Solitari estrella 7x7 Solitario stella Solitari 6x7 Solitario 6x7 &Surt &Chiude Veure records Vedere marche personali Ajuda Aiuta Credits Crediti Agraïments Gratitudini Web del programa Web del programma Web del tangram Web del tangram Avança Avanti Inici solució Inizio della soluzione Pausa Pausa Ctrl+P Continua Joc resolt! Gioco risoluto! Nova marca personal Nueva marca personal Heu establert un nou record personal en aquesta modalitat de joc Ha ottenuto una nuova marca personale in questa modalità del gioco Moviment %1 de %2 Movimento %1 di %2 Programa Programma &Moviments joc &Movimenti del gioco Idioma Lingua Ctrl+S Veure marques personals Vedere le marche personali Joc carregat. El vostre record actual és: %1 Gioco carico. La vostra marca personale attuale è: %1 Elimina marques personals Elimina le marche personali Reinicia el joc actual Ricomincia il gioco attuale Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu European Europea Quadrat 5x5 - central Square 5x5 - central Quadratto 5x5 - centrale Quadrat 5x5 - H Square 5x5 - H Quadratto 5x5 - H Europeu - creu European - cross Europea - croce Quadrat 5x5 - quadrats Square 5x5 - square Quadratto 5x5 - quadratti Triangular 4x7 - quadrat Triangular 4x7 - square Triangolare 4x7 - quadratto Wiegleb - creu petita Wiegleb - small cross Wiegleb - piccola croce Wiegleb - simetria Wiegleb - symmetry Wiegleb - simmetria Clàssic - O Classico - O Dos quadrats 10x10 Two square 10x10 Due quadrati 10x10 Dos quadrats 11x11 Two square 11x11 Due quadrati 11x11 Tres quadrats 16x16 Three square 16x16 Tre quadrati 16x16 Dos quadrats 9x9 Two square 9x9 Due quadrati 9x9 Tres quadrats 13x13 Three square 13x13 Tre quadrati 13x13 Quatre quadrats 13x13 Four square 13x13 Quattro quadrati 13x13 Clàssic ampliat Expanded Classic Classico - ampliato Rombe 36 Rhombus 36 Rombo 36 Hexagonal 7x11 Hex 7x11 Esagonale 7x11 Solitari a l'atzar Solitario a caso Solitari OK Solitario OK Sota llicència GPL 2.0 o posterior Sotto licenza GPL3.0 o posteriore De debó voleu eliminar les vostres marques? Sicuro che vuole eliminare le sue marche personali? Cercant solució Cercando soluzione No ha estat possible trobar una solució! Non si è trovato una soluzione! S'ha trobat una nova solució! Si è trovato una nuova soluzione! Solució %1 Soluzione %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Sicuro che vuole caricare la soluzione? Perde i movimenti realizzati! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Usi i fattorini Avanza e Retrocede per vedere la soluzione. de %1 di %1 No hi ha més moviments: el joc ha finalitzat! Non ci sono più movimenti: hai terminato il gioco! No hi ha moviments! Non cè alcun movimento! Clàssic Classico Clàssic - simetria Classic - symmetry Classic - simmetria Clàssic - pentàgon Classic - pentagon Classico - Pentagono Clàssic - creu petita Classic - small cross Classico - piccola croce Clàssic - creu gran Classic - big cross Classic - grande croce Clàssic - superior Classic - top Classico - superiore Clàssic - inferior Classic - lower Classico - inferiore Clàssic - fletxa Classic - arrow Classico - freccia Clàssic - piràmide Classic - pyramid Classico - piramide Clàssic - diamant Classic - diamond Classico - diamante Clàssic - rombe Classico - rombo Asimètric 8x8 Asimmetrico 8x8 Asimètric - superior Asymmetric - top Asimmetrico - superiore Clàssic - central Classic - central Classico - centrale Clàssic - quadrat central Classic - central Classico - centrale Clàssic - rectangle central Classic - central rectangle Classico - rettangolo centrale Clàssic - arbre Classic - tree Classico - albero Wiegleb - clàssic Wiegleb - classico Solitari 6x6 Solitario 6x6 Anglès antic Inglese antico Wiegleb - fletxa Wiegleb - freccia Clàssic - E Classic - E Classico - E Clàssic - R Classic - R Classico - R Clàssic - T Classic - T Classico - T Triangular 4x7 - piràmide Triangular 4x7 - pyramid Triangolare 4x7 - piramide Quadrat 5x5 - piràmide Square 5x5 - pyramid Quadratto 5x5 - piramide Asimètric 6x6 Asimmetrico 6x6 Anglès antic - diamant Old English - diamond Inglese antico - diamante Clàssic - quadrat Classic - square Classico - quadrato Clàssic - cúpula Classic - dome Classico - cupola Clàssic - Cabana Classic - cabin Classico - capanna Europeu - quadrat Europea - quadrato Hexagonal inclinat Esagonale inclinato Clàssic - 4 forquilles Classic - four forks Classico - quattro forchette Pentagonal Pentagonale Clàssic - Dos quadrats Classic - two square Classico - due quadrati Clàssic - Banyes Classic - horns Classic - corna Clàssic - X Classic - X Classico - X Clàssic - Torxa Classic - torch Classico - torcia Clàssic - Palau Classic - palace Classico - palazzo Personalitzat Personalizzato Solo Solo Solitari 8x3 Solitario 8x3 Solitari 8x6 Solitario 8x6 Retrocedeix Retrocedere Resol Risolve &%1 %2 Credits del %1 Crediti del %1 Marques personals Marche personali Elimina les marques personals Elimina le marche personali Atura Stop Desant dades Conservando i dati Desant dades: %1 de %2 Conservando i dati: %1 di %2 Carregant dades Caricando i dati No hi ha solucions Non ci sono soluzioni Carregar Caricare S'ha carregat la Si è caricato il Moviment Movimento de di Cap joc personalitzat Senza giochi personalizzati - invers - inverso - diagonal - diagonale peg-solitaire-2.2/locales-ts/solitari_en_EN.ts0000644000175000017500000010223313113040142021531 0ustar demarchidemarchi Traduccio English English frmPrincipal Solitari Peg-solitaire Solucions Solutions No s'ha trobat l'arxiu %1 The file %1 does not exist Modalitats del joc Games Solitari 3x5 Peg-solitaire 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Square 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Quadrat 6x6 Square 6x6 Diamant 5x5 Diamond 5x5 Diamant 7x7 Diamond 7x7 Incomplet 6x6 Incomplete 6x6 Incomplet 7x7 Incomplete 7x7 Wiegleb reduit Wiegleb reduced Solitari 8x9 Peg-Solitaire 8x9 Solitari 5x6 Peg-Solitaire 5x6 Solitari 7x5 Peg-solitarie 7x5 Quadrat 9x9 Square 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Peg-solitaire 3x5 bis Solitari 4x4 Peg-solitaire 4x4 Solitari 6x5 Peg-solitaire 6x5 Solitari 4x5 Peg-solitaire 4x5 Triangular 7 Triangular 7 Triangular 8 Triangular 8 Triangular 9 Triangular 9 Clàssic - molinet Classic - small mill Triangular 10 Triangular 10 Quadrat 8x8 Square 8x8 Jocs personalitzats Custom games Solitari estrella 7x7 Peg-solitari star 7x7 Solitari 6x7 Peg-solitaire 6x7 &Surt &Quit Veure records View personal records Ajuda Help Credits About Agraïments Acknowledgements Web del programa Program Web Web del tangram Tangram web Avança Redo Inici solució Home Solution Pausa Stop Ctrl+P Ctrl+P Continua Continues Joc resolt! Solved game! Nova marca personal New personal record Heu establert un nou record personal en aquesta modalitat de joc You have a new personal record in this modality of the game Moviment %1 de %2 Jump %1 of %2 Programa Program &Moviments joc Game &moves Idioma Language Ctrl+S Veure marques personals View personal records Joc carregat. El vostre record actual és: %1 Game loaded. Your current personal record: %1 Elimina marques personals Delete personal records Reinicia el joc actual Restarts game Ctrl+R Ctrl+Z Ctrl+Z Shift+Ctrl+Z Europeu European Quadrat 5x5 - central Square 5x5 - central Quadrat 5x5 - H Square 5x5 - H Europeu - creu European - cross Quadrat 5x5 - quadrats Square 5x5 - square Triangular 4x7 - quadrat Triangular 4x7 - square Wiegleb - creu petita Wiegleb - small cross Wiegleb - simetria Wiegleb - symmetry Clàssic - O Classic - O Dos quadrats 10x10 Two square 10x10 Dos quadrats 11x11 Two square 11x11 Tres quadrats 16x16 Three square 16x16 Dos quadrats 9x9 Two square 9x9 Tres quadrats 13x13 Three square 13x13 Quatre quadrats 13x13 Four square 13x13 Clàssic ampliat Expanded Classic Rombe 36 Rhombus 36 Hexagonal 7x11 Hexagonal 7x11 Solitari a l'atzar Random Solitaire Solitari OK Ok Peg-solitaire Sota llicència GPL 2.0 o posterior Under GPL 3.0 or later De debó voleu eliminar les vostres marques? Sure you want to delete their personal records? Cercant solució Looking for solution No ha estat possible trobar una solució! Not found a solution! S'ha trobat una nova solució! We found a new solution! Solució %1 Solution %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Sure you want to load the solution? Will lose the movements! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Use the Redo and Undo buttons to see the solution. de %1 of %1 No hi ha més moviments: el joc ha finalitzat! There are no more movements: the game has finalized! No hi ha moviments! There are no more movements! There are no more movements! Clàssic Classic Clàssic - simetria Classic - symmetry Clàssic - pentàgon Classic - pentagon Clàssic - creu petita Classic - small cross Clàssic - creu gran Classic - big cross Clàssic - superior Classic - top Clàssic - inferior Classic - lower Clàssic - fletxa Classic - arrow Clàssic - piràmide Classic - pyramid Clàssic - diamant Classic - diamond Clàssic - rombe Classic - rhomb Asimètric 8x8 Asymmetric 8x8 Asimètric - superior Asymmetric - top Clàssic - central Classic - central Clàssic - quadrat central Classic - central square Clàssic - rectangle central Classic - central rectangle Clàssic - arbre Classic - tree Wiegleb - clàssic Wiegleb - classic Solitari 6x6 Peg-solitaire 6x6 Anglès antic Old English Wiegleb - fletxa Wiegleb - arrow Clàssic - E Classic - E Clàssic - R Classic - R Clàssic - T Classic - T Triangular 4x7 - piràmide Triangular 4x7 - pyramid Quadrat 5x5 - piràmide Square 5x5 - pyramid Asimètric 6x6 Asymmetric 6x6 Anglès antic - diamant Old English - diamond Clàssic - quadrat Classic - square Clàssic - cúpula Classic - dome Clàssic - Cabana Classic - cabin Europeu - quadrat European - square Hexagonal inclinat Hex inclined Clàssic - 4 forquilles Classic - four forks Pentagonal Pentagonal Clàssic - Dos quadrats Classic - two square Clàssic - Banyes Classic - horns Clàssic - X Classic - X Clàssic - Torxa Classic - torch Clàssic - Palau Classic - palace Personalitzat Custom Solo Solo Solitari 8x3 Peg-solitaire 8x3 Peg-solitaire 8x3 Solitari 8x6 Peg-solitaire 8x6 Peg-solitaire 8x6 Retrocedeix Undo Resol Solve &%1 %2 Credits del %1 About %1 Marques personals Personal records Elimina les marques personals Delete personal records Atura Stop Desant dades Saving data Desant dades: %1 de %2 Saving data: %1 of %2 Carregant dades Loading data No hi ha solucions No solutions found Carregar Upload S'ha carregat la Is loaded Moviment Movement de of Cap joc personalitzat Without custom games - invers - reverse - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_gl_ES.ts0000644000175000017500000011063213113041557021553 0ustar demarchidemarchi Traduccio English Nombre del idioma de la traducción Galego frmPrincipal Solitari Solitario Solucions Solucións No s'ha trobat l'arxiu %1 Non se atopou o arquivo %1 Modalitats del joc Juegos Xogos Solitari 3x5 Solitário 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Cadrado 5x5 Wiegleb Wiegleb Diamant 9x9 Diamante 9x9 Diamante 9x9 Quadrat 6x6 Cadrado 6x6 Diamant 5x5 Diamante 5x5 Diamant 7x7 Diamante 7x7 Incomplet 6x6 Incompleto 6x6 Incomplet 7x7 Incompleto 7x7 Wiegleb reduit Wiegleb reducido Solitari 8x9 Solitario 8x9 Solitari 5x6 Solitario 5x6 Solitari 7x5 Solitario 7x5 Quadrat 9x9 Cadrado 9x9 Triangular 5 Trianguilar 5 Triangular 4 Trianguilar 4 Triangular 6 Trianguilar 6 Solitari 3x5 bis Solitario 3x5 bis Solitari 4x4 Solitario 4x4 Solitari 6x5 Solitario 6x5 Solitari 4x5 Solitario 4x5 Triangular 7 Trianguilar 7 Triangular 8 Trianguilar 8 Triangular 9 Trianguilar 9 Clàssic - molinet Clásico - muíño Triangular 10 Trianguilar 10 Quadrat 8x8 Cadrado 8x8 Jocs personalitzats Xogos personalizados Solitari estrella 7x7 Solitario estrela Solitari 6x7 Solitario 6x7 &Surt &Pecha Veure records Ver marcas persoais Ajuda Axuda Credits Créditos Agraïments Agradecementos Web del programa Web do programa Web del tangram Web do tangram Avança Avanzar Inici solució Inicio da solución Pausa Pausa Ctrl+P Continua Continua Joc resolt! Xogo resolto! Nova marca personal Nova marca persoal Heu establert un nou record personal en aquesta modalitat de joc Conseguiu unha nova marca persoal nesta modalidade do xogo Moviment %1 de %2 Movemento %1 de %2 Programa Programa &Moviments joc &Movementos do xogo Idioma Idioma Ctrl+S Veure marques personals Ver as marcas persoais Joc carregat. El vostre record actual és: %1 Xogo cargado. A vosa marca persoal actual é: %1 Elimina marques personals Elimina as marcas persoais Reinicia el joc actual Reinicia o xogo actual Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu Europeo Europeo Quadrat 5x5 - central Cuadrado 5x5 - central Cadrado 5x5 - central Quadrat 5x5 - H Cuadrado 5x5 - H Cadrado 5x5 - H Europeu - creu Europeo - cruz Europeo - cruz Quadrat 5x5 - quadrats Cuadrado 5x5 - cuadrados Cadrado 5x5 - cadrados Triangular 4x7 - quadrat Triangular 4x7 - cuadrado Triangular 4x7 - cadrado Wiegleb - creu petita Wiegleb - cruz pequeña Wiegleb - cruz pequena Wiegleb - simetria Wiegleb - simetria Wiegleb - simetria Clàssic - O Clásico - O Dos quadrats 10x10 Dos cuadrados 10x10 Dous cadrados 10x10 Dos quadrats 11x11 Dos cuadrados 11x11 Dous cadrados 11x11 Tres quadrats 16x16 Tres cuadrados 16x16 Tres cadrados 16x16 Dos quadrats 9x9 Dos cuadrados 9x9 Dous cadrados 9x9 Tres quadrats 13x13 Tres cuadrados 13x13 Tres cadrados 13x13 Quatre quadrats 13x13 Cuatro cuadrados 13x13 Catro cadrados 13x13 Clàssic ampliat Clásico ampliado Clásico - ampliado Rombe 36 Rombo 36 Rombo 36 Hexagonal 7x11 Hexagonal 7x11 Hexagonal 7x11 Solitari a l'atzar Solitario ao azar Solitari OK Solitari OK Sota llicència GPL 2.0 o posterior Baixo licenza GPL 3.0 ou posterior De debó voleu eliminar les vostres marques? Seguro que quere eliminar as súas marcas persoais? Cercant solució Buscando solución No ha estat possible trobar una solució! Non se atopou unha solución! S'ha trobat una nova solució! Atopouse unha nova solución! Solució %1 Solución %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Seguro que quere cargar a solución? Vai perder os movementos realizados! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Utilize os botóns Avanza e Retrocede para ver a solución. de %1 de %1 No hi ha més moviments: el joc ha finalitzat! Non hai máis movementos: finalizou o xogo! No hi ha moviments! Non hai movementos! Clàssic Clásico Clàssic - simetria Clásico - simetria Clásico - simetria Clàssic - pentàgon Clásico - pentágono Clásico - pentágono Clàssic - creu petita Clásico - cruz pequeña Clásico - cruz pequena Clàssic - creu gran Clásico - cruz grande Clásico - cruz grande Clàssic - superior Clásico - superior Clásico - superior Clàssic - inferior Clásico - inferior Clásico - inferior Clàssic - fletxa Clásico - flecha Clásico - frecha Clàssic - piràmide Clásico - pirámide Clásico - pirámide Clàssic - diamant Clásico - diamante Clásico - diamante Clàssic - rombe Clássico - rombo Asimètric 8x8 Asimétrico 8x8 Asimètric - superior Asimétrico - superior Asimétrico - superior Clàssic - central Clásico - central Clásico - central Clàssic - quadrat central Clásico - cuadrado central Clásico - cadrado central Clàssic - rectangle central Clásico - rectágulo central Clásico - rectágulo central Clàssic - arbre Clásico - árbol Clásico - árbore Wiegleb - clàssic Wiegleb - clásico Wiegleb - clásico Solitari 6x6 Solitario 6x6 Anglès antic Inglés antigo Wiegleb - fletxa Wiegleb - frecha Clàssic - E Clásico - E Clásico - E Clàssic - R Clásico - R Clásico - R Clàssic - T Clásico - T Clásico - T Triangular 4x7 - piràmide Triangular 4x7 - pirámide Triangular 4x7 - pirámide Quadrat 5x5 - piràmide Cuadrado 5x5 - pirámide Cadrado 5x5 - pirámide Asimètric 6x6 Asimétrico 6x6 Anglès antic - diamant Inglés antiguo - diamante Inglés antigo - diamante Clàssic - quadrat Clásico - cuadrado Clásico - cadrado Clàssic - cúpula Clásico - cúpula Clásico - cúpula Clàssic - Cabana Clásico - cabaña Clásico - cabana Europeu - quadrat Europeo - cadrado Hexagonal inclinat Hexagonal inclinado Clàssic - 4 forquilles Clásico - 4 forquillas Clásico - 4 forquillas Pentagonal Pentagonal Clàssic - Dos quadrats Clásico - dos cuadrados Clásico - dous cadrados Clàssic - Banyes Clásico - cuernos Clásico - cornos Clàssic - X Clásico - X Clásico - X Clàssic - Torxa Clásico - antorcha Clásico - facho Clàssic - Palau Clásico - palacio Clásico - palacio Personalitzat Personalizado Solo Solo Solitari 8x3 Solitario 8x3 Solitari 8x6 Solitario 8x6 Retrocedeix Retroceder Resol Resolve &%1 %2 Credits del %1 Créditos das %1 Marques personals Marcas persoais Elimina les marques personals Elimina as marcas persoais Atura Para Desant dades Gardando os datos Desant dades: %1 de %2 Gardando os datos: %1 de %2 Carregant dades Cargando os datos No hi ha solucions Non hai solucións Carregar Cargar S'ha carregat la Cargouse a Moviment Movemento de de Cap joc personalitzat Sen xogos personalizados - invers - inverso - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_pt_BR.ts0000644000175000017500000010335613113042062021565 0ustar demarchidemarchi Traduccio English Potuguês brasileiro frmPrincipal Solitari Peg-solitário Solucions Soluções No s'ha trobat l'arxiu %1 O arquivo %1 não existe Modalitats del joc Modalidades de jogo Solitari 3x5 Peg-solitário 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Quadrado 5x5 Wiegleb Wiegleb Diamant 9x9 Diamante 9x9 Quadrat 6x6 Quadrado 6x6 Diamant 5x5 Diamante 5x5 Diamant 7x7 Diamante 7x7 Incomplet 6x6 Incompleto 6x6 Incomplet 7x7 Incompleto 7x7 Wiegleb reduit Wiegleb reduzido Solitari 8x9 Peg-Solitário 8x9 Solitari 5x6 Peg-Solitário 5x6 Solitari 7x5 Peg-solitário 7x5 Quadrat 9x9 Quadrado 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Peg-solitário 3x5 bis Solitari 4x4 Peg-solitário 4x4 Solitari 6x5 Peg-solitário 6x5 Solitari 4x5 Peg-solitário 4x5 Triangular 7 Triangular 7 Triangular 8 Triangular 8 Triangular 9 Triangular 9 Clàssic - molinet Clássico - pequeno moinho Triangular 10 Triangular 10 Quadrat 8x8 Quadrado 8x8 &Surt &Sair Veure records Ver recordes pessoais Ajuda Help Ajuda Credits Sobre Agraïments Agradecimentos Agradecimentos Web del programa Site do programa Web del tangram Site do tangram Avança Avançar Inici solució Solução inicial Pausa Parar Ctrl+P Continua Continuar Joc resolt! Jogo resolvido! Nova marca personal Novo recorde pessoal Heu establert un nou record personal en aquesta modalitat de joc Você tem um novo recorde pessoal nesta modalidade de jogo Moviment %1 de %2 Pular %1 de %2 Programa Programa &Moviments joc Jogo &movimentos Idioma Idioma Ctrl+S Veure marques personals Ver recordes pessoais Joc carregat. El vostre record actual és: %1 Jogo carregado. Seu recorde pessoal atual: %1 Elimina marques personals Deletar recordes pessoais Reinicia el joc actual Recomeçar jogo Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu Europeu Quadrat 5x5 - central Quadrado 5x5 - central Quadrat 5x5 - H Quadrado 5x5 - H Europeu - creu Europeu - cruz Quadrat 5x5 - quadrats Quadrado 5x5 - quadrado Triangular 4x7 - quadrat Triangular 4x7 - quadrado Wiegleb - creu petita Wiegleb - pequena cruz Wiegleb - simetria Wiegleb - simetria Clàssic - O Clássico - O Dos quadrats 10x10 Dois quadrados 10x10 Dos quadrats 11x11 Dois quadrados 11x11 Tres quadrats 16x16 Três quadrados 16x16 Dos quadrats 9x9 Dois quadrados 9x9 Tres quadrats 13x13 Três quadrados 13x13 Quatre quadrats 13x13 Quatro quadrados 13x13 Clàssic ampliat Expandido Clássico Rombe 36 Losango 36 Hexagonal 7x11 Hexagonal 7x11 Jocs personalitzats Custom games Jogos personalizados Sota llicència GPL 2.0 o posterior Abaixo GPL 3.0 ou posterior De debó voleu eliminar les vostres marques? Você tem certeza que deseja deletar seus recordes pessoais? Cercant solució Procurando por suluções No ha estat possible trobar una solució! Solução não encontrada! S'ha trobat una nova solució! Nós encontramos uma nova solução! Solució %1 Solução %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Você tem certeza que deseja carregar a solução? Irá perder os movimentos! . Feu servir els botons Avança i Retrocedeix per veure la solució. Use os botões Refazer and Desfazer para ver solução. de %1 de %1 No hi ha més moviments: el joc ha finalitzat! Não há mais movimentos: o jogo foi finalizado! No hi ha moviments! Não há movimentos! Clàssic Clássico Clàssic - simetria Clássico - simétrico Clàssic - pentàgon Clássico - pentágono Clàssic - creu petita Clássico - pequena cruz Clàssic - creu gran Clássico - grande cruz Solitari estrella 7x7 Star Solitaire Solitário estrela Clàssic - superior Clássico - superior Clàssic - inferior Clássico - inferior Clàssic - fletxa Clássico - flecha Clàssic - piràmide Clássico - pirâmide Clàssic - diamant Clássico - diamante Clàssic - rombe Clássico - losango Asimètric 8x8 Assimétrico 8x8 Solitari 6x7 Peg-solitário 6x7 Asimètric - superior Assimétrico - superior Clàssic - central Clássico - central Solitari OK Peg-Solitário OK Clàssic - quadrat central Clássico - quadrado central Clàssic - rectangle central Clássico - retângulo central Clàssic - arbre Clássico - árvore Wiegleb - clàssic Wiegleb - clássico Solitari 6x6 Peg-solitário 6x6 Anglès antic Velho inglês Wiegleb - fletxa Wiegleb - flecha Clàssic - E Clássico - E Clàssic - R Clássico - R Clàssic - T Clássico - T Triangular 4x7 - piràmide Triangular 4x7 - pirâmide Quadrat 5x5 - piràmide Quadrado 5x5 - pirâmide Asimètric 6x6 Assimétrico 6x6 Anglès antic - diamant Velho inglês - diamante Clàssic - quadrat Clássico - quadrado Clàssic - cúpula Clássico - cúpula Clàssic - Cabana Clássico - cabana Europeu - quadrat Europeu - quadrado Hexagonal inclinat Hexagonal inclinado Clàssic - 4 forquilles Clássico - quatro forquilhas Pentagonal Pentagonal Clàssic - Dos quadrats Clássico - dois quadrados Clàssic - Banyes Clássico - chifres Clàssic - X Clássico - X Clàssic - Torxa Clássico - tocha Clàssic - Palau Clássico - palácio Personalitzat Custom solitaire Personalizado Solitari a l'atzar Random solitaire Solitário aleatório Solo Solo Solitari 8x3 Peg-solitário 8x3 Solitari 8x6 Peg-solitário 8x6 Retrocedeix Desfazer Resol Resolver &%1 %2 Credits del %1 Sobre %1 Marques personals Recordes pessoais Elimina les marques personals Deletar recordes pessoais Atura Parar Desant dades Salvando dados Desant dades: %1 de %2 Salvando dados: %1 de %2 Carregant dades Carregando dados No hi ha solucions Soluções não encontradas Carregar Carregar S'ha carregat la Carregado Moviment Movimento de de Cap joc personalitzat Without custom games Sem jogos personalizados - invers - reverso - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_es_ES.ts0000644000175000017500000010250513113567334021566 0ustar demarchidemarchi Traduccio English Castellano frmPrincipal Solitari Solitario Solucions Soluciones No s'ha trobat l'arxiu %1 No se ha encontrado el archivo %1 Modalitats del joc Juegos Solitari 3x5 Solitario 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Cuadrado 5x5 Wiegleb Wiegleb Diamant 9x9 Diamante 9x9 Quadrat 6x6 Cuadrado 6x6 Diamant 5x5 Diamante 5x5 Diamant 7x7 Diamante 7x7 Incomplet 6x6 Incompleto 6x6 Incomplet 7x7 Incompleto 7x7 Wiegleb reduit Wiegleb reducido Solitari 8x9 Solitario 8x9 Solitari 5x6 Solitario 5x6 Solitari 7x5 Solitario 7x5 Quadrat 9x9 Cuadrado 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Solitario 3x5 bis Solitari 4x4 Solitario 4x4 Solitari 6x5 Solitario 6x5 Solitari 4x5 Solitario 4x5 Triangular 7 Triangular 7 Triangular 8 Triangular 8 Triangular 9 Triangular 9 Clàssic - molinet Clásico - molinillo Triangular 10 Triangular 10 Quadrat 8x8 Cuadrado 8x8 Jocs personalitzats Juegos personalizados Solitari estrella 7x7 Solitario estrella 7x7 Solitari 6x7 Solitario 6x7 &Surt &Cierra Veure records Ver marcas personales Ajuda Ayuda Credits Créditos Agraïments Agradecimientos Web del programa Web del programa Web del tangram Web del tangram Avança Avanza Inici solució Inicio de la solución Pausa Para Ctrl+P Continua Continua Joc resolt! Juego resuelto! Nova marca personal Nueva marca personal Heu establert un nou record personal en aquesta modalitat de joc Ha conseguido una nueva marca personal en esta modalidad del juego Moviment %1 de %2 Movimiento %1 de %2 Programa Programa &Moviments joc &Movimientos del juego Idioma Idioma Ctrl+S Crtl+S Veure marques personals Ver las marcas personales Joc carregat. El vostre record actual és: %1 Juego cargado. Vuestra marca personal actual es: %1 Elimina marques personals Elimina las marcas personales Reinicia el joc actual Reinicia el juego actual Ctrl+R Ctrl-R Ctrl+Z Crtl-Z Shift+Ctrl+Z Europeu Europeo Quadrat 5x5 - central Cuadrado 5x5 - central Quadrat 5x5 - H Cuadrado 5x5 - H Europeu - creu Europeo - cruz Quadrat 5x5 - quadrats Cuadrado 5x5 - cuadrados Triangular 4x7 - quadrat Triangular 4x7 - cuadrado Wiegleb - creu petita Wiegleb - cruz pequeña Wiegleb - simetria Wiegleb - simetria Clàssic - O Clásico - O Dos quadrats 10x10 Dos cuadrados 10x10 Dos quadrats 11x11 Dos cuadrados 11x11 Tres quadrats 16x16 Tres cuadrados 16x16 Dos quadrats 9x9 Dos cuadrados 9x9 Tres quadrats 13x13 Tres cuadrados 13x13 Quatre quadrats 13x13 Cuatro cuadrados 13x13 Clàssic ampliat Clásico - ampliado Clásico ampliado Rombe 36 Rombo 36 Hexagonal 7x11 Hexagonal 7x11 Solitari a l'atzar Solitario al azar Solitari OK Solitario OK Sota llicència GPL 2.0 o posterior Bajo licencia GPL 3.0 o posterior De debó voleu eliminar les vostres marques? Seguro que quiere eliminar sus marcas personales? Cercant solució Buscando solución No ha estat possible trobar una solució! No se ha encontrado una solución! S'ha trobat una nova solució! Se ha encontrado una nueva solución! Solució %1 Solución %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Seguro que quiere cargar la solución? Va a perder los movimientos realizados! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Utilize los botones Avanza y Retrocede para ver la solución. de %1 de %1 No hi ha més moviments: el joc ha finalitzat! No hay más movimientos: ha finalizado el juego! No hi ha moviments! ¡No hay movimientos! Clàssic Clásico Clàssic - simetria Clásico - simetria Clàssic - pentàgon Clásico - pentágono Clàssic - creu petita Clásico - cruz pequeña Clàssic - creu gran Clásico - cruz grande Clàssic - superior Clásico - superior Clàssic - inferior Clásico - inferior Clàssic - fletxa Clásico - flecha Clàssic - piràmide Clásico - pirámide Clàssic - diamant Clásico - diamante Clàssic - rombe Clásico rombo Asimètric 8x8 Asimétrico 8x8 Asimètric - superior Asimétrico - superior Clàssic - central Clásico - central Clàssic - quadrat central Clásico - cuadrado central Clàssic - rectangle central Clásico - rectágulo central Clàssic - arbre Clásico - árbol Wiegleb - clàssic Wiegleb - clásico Solitari 6x6 Solitario 6x6 Anglès antic Inglés antiguo Wiegleb - fletxa Wiegleb flecha Clàssic - E Clásico - E Clàssic - R Clásico - R Clàssic - T Clásico - T Triangular 4x7 - piràmide Triangular 4x7 - pirámide Quadrat 5x5 - piràmide Cuadrado 5x5 - pirámide Asimètric 6x6 Asimétrico 6x6 Anglès antic - diamant Inglés antiguo - diamante Clàssic - quadrat Clásico - cuadrado Clàssic - cúpula Clásico - cúpula Clàssic - Cabana Clásico - cabaña Europeu - quadrat Europeo - quadrado Hexagonal inclinat Hexagonal inclinado Clàssic - 4 forquilles Clásico - 4 forquillas Pentagonal Pentagonal Clàssic - Dos quadrats Clásico - dos cuadrados Clàssic - Banyes Clásico - cuernos Clàssic - X Clásico - X Clàssic - Torxa Clásico - antorcha Clàssic - Palau Clásico - palacio Personalitzat Personalizado Solo Solo Solitari 8x3 Solitario 8x3 Solitari 8x6 Solitario 8x6 Retrocedeix Retrocede Resol Resuelve &%1 %2 Credits del %1 Créditos del %1 Marques personals Marcas personales Elimina les marques personals Elimina las marcas personales Atura Para Desant dades Guardando los datos Desant dades: %1 de %2 Guardando los datos: %1 de %2 Carregant dades Cargando los datos No hi ha solucions No hay soluciones Carregar Cargar S'ha carregat la Se ha cargado la Moviment Movimiento de de Cap joc personalitzat Sin juegos personalizados - invers - inverso - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_fr_FR.ts0000644000175000017500000011115313113040451021547 0ustar demarchidemarchi Traduccio English Le nom de votre idiome Français frmPrincipal Solitari Solitaire Solucions Solutions No s'ha trobat l'arxiu %1 Pas trouvé le fichier %1 Modalitats del joc Games Jeux Solitari 3x5 Solitaire 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Cadré 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Diamant 9x9 Quadrat 6x6 Cadré 6x6 Diamant 5x5 Diamant 5x5 Diamant 7x7 Diamant 7x7 Incomplet 6x6 Incomplet 6x6 Incomplet 7x7 Incomplet 7x7 Wiegleb reduit Wiegleb réduit Solitari 8x9 Solitaire 8x9 Solitari 5x6 Solitaire 5x6 Solitari 7x5 Solitaire 7x5 Quadrat 9x9 Cadré 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Solitaire 3x5 bis Solitari 4x4 Solitaire 4x4 Solitari 6x5 Solitaire 6x5 Solitari 4x5 Solitaire 4x5 Triangular 7 Triangular 7 Triangular 8 Triangular 8 Triangular 9 Triangular 9 Clàssic - molinet Classic - small mill Classique - petit moulin Triangular 10 Triangular 10 Quadrat 8x8 Cadré 8x8 Jocs personalitzats Jeux personnalisés Solitari estrella 7x7 Solitari étoile 7x7 Solitari 6x7 Solitaire 6x7 &Surt &Ferme Veure records Voir des marques personnelles Ajuda Aide Credits Crédits Agraïments Remerciements Web del programa Web du programme Web del tangram Web du tangram Avança Suivant Inici solució Début de la solution Pausa Pause Ctrl+P Continua Continue Joc resolt! Jeu résolu! Nova marca personal Nouvelle marque personnelle Heu establert un nou record personal en aquesta modalitat de joc A réussi une nouvelle marque personnelle dans cette modalité du le joue Moviment %1 de %2 Mouvement %1 de %2 Programa Programme &Moviments joc &Mouvements du joue Idioma Idiome Ctrl+S Veure marques personals Voir les marques personnelle Joc carregat. El vostre record actual és: %1 Joue chargé. Votre marque personnelle actuelle est: %1 Elimina marques personals Élimine les marques personnelles Reinicia el joc actual Réinitialise le jeu actuel Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu European Européenne Quadrat 5x5 - central Square 5x5 - central Carré 5x5 - centrale Quadrat 5x5 - H Square 5x5 - H Carré 5x5 - H Europeu - creu European - cross Européenne - Croix Quadrat 5x5 - quadrats Square 5x5 - square Carré 5x5 - carré Triangular 4x7 - quadrat Triangular 4x7 - square Triangulaire 4x7 - Carré Wiegleb - creu petita Wiegleb - small cross Wiegleb - petite croix Wiegleb - simetria Wiegleb - symmetry Wiegleb - symétrie Clàssic - O Classique - O Dos quadrats 10x10 Two square 10x10 Deux carrés 10x10 Dos quadrats 11x11 Two square 11x11 Deux carrés 11x11 Tres quadrats 16x16 Three square 16x16 Trois carrés 16x16 Dos quadrats 9x9 Two square 9x9 Deux carrés 9x9 Tres quadrats 13x13 Three square 13x13 Trois carrés 13x13 Quatre quadrats 13x13 Four square 13x13 Quatre carrés 13x13 Clàssic ampliat Expanded Classic Classique élargi Rombe 36 Rhombus 36 Losange 36 Hexagonal 7x11 Hex 7x11 Hexagonal 7x11 Solitari a l'atzar Solitaire à l'aléa Solitari OK Solitaire OK Sota llicència GPL 2.0 o posterior Sous licence GPL 3.0 ou arrière De debó voleu eliminar les vostres marques? Sûr que veut éliminer ses marques personnelles? Cercant solució En cherchant solution No ha estat possible trobar una solució! Ne s'est pas trouvé une solution! S'ha trobat una nova solució! S'est trouvées une nouvelle solution! Solució %1 Solution %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Sûr que veut charger la solution? Il va perdre les mouvements réalisés! . Feu servir els botons Avança i Retrocedeix per veure la solució. Utilize Les boutons Suivant et il Antérieur pour voir la solution. de %1 de %1 No hi ha més moviments: el joc ha finalitzat! Il n'y a pas plus mouvements: il a terminé le jeu! No hi ha moviments! Il n'y a pas de mouvement! Clàssic Classic Clàssic - simetria Classic - symmetry Classic - symétrie Clàssic - pentàgon Classic - pentagon Classique - Pentagone Clàssic - creu petita Classic - small cross Classic - petite croix Clàssic - creu gran Classic - big cross Classic - Grand Croix Clàssic - superior Classic - top Classic - haut Clàssic - inferior Classic - lower Classic - basse Clàssic - fletxa Classic - arrow Classique - flèche Clàssic - piràmide Classic - pyramid Classique - pyramide Clàssic - diamant Classic - diamond Classic - diamant Clàssic - rombe Classique - rombo Asimètric 8x8 Asymétrique 8x8 Asimètric - superior Asymmetric - top Asymétrique - haut Clàssic - central Classic - central Classic - central Clàssic - quadrat central Classic - central square Classic - place centrale Clàssic - rectangle central Classic - central rectangle Classic - rectangle central Clàssic - arbre Classic - tree Classique - arbre Wiegleb - clàssic Wiegleb - classic Wiegleb - classique Solitari 6x6 Solitaire 6x6 Anglès antic Anglais ancien Wiegleb - fletxa Wiegleb - flèche Clàssic - E Classic - E Classic - E Clàssic - R Classic - R Classic - R Clàssic - T Classic - T Classic - T Triangular 4x7 - piràmide Triangular 4x7 - square Triangulaire 4x7 - Carré Quadrat 5x5 - piràmide Square 5x5 - pyramid Carré 5x5 - Pyramide Asimètric 6x6 Asymétrique 6x6 Anglès antic - diamant Old English - diamond Le vieil anglais - diamant Clàssic - quadrat Classic - square Classic - carré Clàssic - cúpula Classic - dome Classique - dôme Clàssic - Cabana Classic - cabin Classique - cabine Europeu - quadrat Européen - cadré Hexagonal inclinat Hex inclined Hexagonale inclinée Clàssic - 4 forquilles Classic - four forks Classic - quatre fourches Pentagonal Pentagonal Clàssic - Dos quadrats Classic - two square Classic - deux carrés Clàssic - Banyes Classic - horns Classic - cornes Clàssic - X Classic - X Classic - X Clàssic - Torxa Classic - torch Classique - flamme Clàssic - Palau Classic - palace Classique - Palais Personalitzat Custom Personnel Solo Solo Solitari 8x3 Solitaire 8x3 Solitari 8x6 Solitaire 8x6 Retrocedeix Rétrocède Resol Résout &%1 %2 Credits del %1 Crédits du %1 Marques personals Marques personnelles Elimina les marques personals Élimine les marques personnelles Atura Arrêter Desant dades En gardant les données Desant dades: %1 de %2 En gardant les données: %1 de %2 Carregant dades en Chargeant les données No hi ha solucions N'y a pas des solutions Carregar Charger S'ha carregat la Il s'est chargé la Moviment Mouvement de de Cap joc personalitzat Aucun jeux personnalisées - invers - inverse - diagonal - diagonale peg-solitaire-2.2/locales-ts/solitari_pt_PT.ts0000644000175000017500000011125613113041743021610 0ustar demarchidemarchi Traduccio English O nome do seu idioma Portuguese frmPrincipal Solitari Solitario Solucions Soluciones No s'ha trobat l'arxiu %1 En el se ha encontrado él archivo %1 Modalitats del joc Games Jogos Solitari 3x5 Solitário 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Quadrado 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Diamante 9x9 Quadrat 6x6 Quadrado 6x6 Diamant 5x5 Diamante 5x5 Diamant 7x7 Diamante 7x7 Incomplet 6x6 Incompleto 6x6 Incomplet 7x7 Incompleto 7x7 Wiegleb reduit Wiegleb reduzido Solitari 8x9 Solitário 8x9 Solitari 5x6 Solitário 5x6 Solitari 7x5 Solitário 7x5 Quadrat 9x9 Quadrado 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Solitário 3x5 bis Solitari 4x4 Solitário 4x4 Solitari 6x5 Solitário 6x5 Solitari 4x5 Solitário 4x5 Triangular 7 Trianguilar 7 Triangular 8 Trianguilar 8 Triangular 9 Trianguilar 9 Clàssic - molinet Clássico - molinillo Triangular 10 Trianguilar 10 Quadrat 8x8 Quadrado 8x8 Jocs personalitzats Custom games Jogos personalizados Solitari estrella 7x7 Star solitaire 7x7 Solitário estrela Solitari 6x7 Solitário 6x7 &Surt &Fecha Veure records Ver marcas pessoais Ajuda Ajuda Credits Créditos Agraïments Gratefulnesses Agradecimentos Web del programa Site do programa Web del tangram Site do tangram Avança Redo Avançar Inici solució Início da solução Pausa Pausa Ctrl+P Continua Contínua Joc resolt! Xogo resolto! Nova marca personal Nova marca persoal Heu establert un nou record personal en aquesta modalitat de joc Conseguiu unha nova marca persoal nesta modalidade do xogo Moviment %1 de %2 Movemento %1 de %2 Programa Programa &Moviments joc &Movimentos do jogo Idioma Idioma Ctrl+S Veure marques personals Ver as marcas pessoais Joc carregat. El vostre record actual és: %1 Jogo carregado. Vossa marca pessoal actual é: %1 Elimina marques personals Elimina as marcas pessoais Reinicia el joc actual Reinicia o jogo actual Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu European Europeu Quadrat 5x5 - central Square 5x5 - central Quadrado 5x5 - central Quadrat 5x5 - H Square 5x5 - H Quadrado 5x5 - H Europeu - creu European - cross Europeu - cruz Quadrat 5x5 - quadrats Square 5x5 - square Quadrado 5x5 - quadrados Triangular 4x7 - quadrat Triangular 4x7 - square Triangular 4x7 - quadrado Wiegleb - creu petita Wiegleb - small cross Wiegleb - cruz pequena Wiegleb - simetria Wiegleb - symmetry Wiegleb - simetria Clàssic - O Clásico - O Dos quadrats 10x10 Two square 10x10 Dois quadrados 10x10 Dos quadrats 11x11 Two square 11x11 Dois quadrados 11x11 Tres quadrats 16x16 Three square 16x16 Três quadrados 16x16 Dos quadrats 9x9 Two square 9x9 Dois quadrados 9x9 Tres quadrats 13x13 Three square 13x13 Três quadrados 13x13 Quatre quadrats 13x13 Four square 13x13 Quatro quadrados 13x13 Clàssic ampliat Expanded Classic Clássico ampliado Rombe 36 Rhombus 36 Losango 36 Hexagonal 7x11 Hexagonal 7x11 Hexagonal 7x11 Solitari a l'atzar Random solitaire Solitário a esmo Solitari OK Solitário OK Sota llicència GPL 2.0 o posterior Baixo licença GPL 3.0 ou posterior De debó voleu eliminar les vostres marques? Seguro que quer eliminar suas marcas pessoais? Cercant solució Procurando solução No ha estat possible trobar una solució! Não se encontrou uma solução! S'ha trobat una nova solució! Encontrou-se uma nova solução! Solució %1 Solução %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Seguro que quer carregar a solução? Vai perder os movimentos realizados! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Utilize os botões Avança e Retrocede para ver a solução. de %1 de %1 No hi ha més moviments: el joc ha finalitzat! Non hai máis movementos: finalizou o xogo! No hi ha moviments! Não há movimentos! Clàssic Clásico Clàssic - simetria Classic - symmetry Clássico - simetria Clàssic - pentàgon Classic - pentagon Clássico - pentágono Clàssic - creu petita Classic - small cross Clássico - cruz pequena Clàssic - creu gran Classic - big cross Clássico - cruz grande Clàssic - superior Classic - top Clássico - superior Clàssic - inferior Classic - lower Clássico - inferior Clàssic - fletxa Classic - arrow Clássico - seta Clàssic - piràmide Classic - pyramid Clássico - pirâmide Clàssic - diamant Classic - diamond Clássico - diamante Clàssic - rombe Clássico - rombo Asimètric 8x8 Asimétrico 8x8 Asimètric - superior Asymmetric - top Asimetrico - superior Clàssic - central Classic - central Clássico - central Clàssic - quadrat central Classic - central square Clássico - quadrado central Clàssic - rectangle central Classic - central rectangle Clássico - rectangulo central Clàssic - arbre Classic - tree Clássico - árvore Wiegleb - clàssic Wiegleb - classic Wiegleb - clássico Solitari 6x6 Solitário 6x6 Anglès antic Inglês antigo Wiegleb - fletxa Wiegleb - seta Clàssic - E Classic - E Clássico - E Clàssic - R Classic - R Clássico - R Clàssic - T Classic - T Clássico - T Triangular 4x7 - piràmide Triangular 4x7 - pyramid Triangular 4x7 - pirâmide Quadrat 5x5 - piràmide Square 5x5 - pyramid Quadrado 5x5 - pirâmide Asimètric 6x6 Asimétrico 6x6 Anglès antic - diamant Old English - diamond Inglês antigo - diamante Clàssic - quadrat Classic - square Clássico - quadrado Clàssic - cúpula Classic - dome Clássico - cúpula Clàssic - Cabana Classic - cabin Clássico - cabaña Europeu - quadrat Europeu - quadrado Hexagonal inclinat Hexagonal inclinado Clàssic - 4 forquilles Classic - four forks Clássico - 4 forquillas Pentagonal Pentagonal Clàssic - Dos quadrats Classic - two square Clássico - dois quadrados Clàssic - Banyes Classic - horns Clássico - cornos Clàssic - X Classic - X Clássico - X Clàssic - Torxa Classic - torch Clássico - tocha Clàssic - Palau Classic - palace Clássico - palácio Personalitzat Custom game Personalizado Solo Solo Solitari 8x3 Solitário 8x3 Solitari 8x6 Solitário 8x6 Retrocedeix Undo Retroceder Resol Resolve &%1 %2 Credits del %1 Créditos do %1 Marques personals Marcas pessoais Elimina les marques personals Elimina as marcas pessoais Atura Para Desant dades Guardando os dados Desant dades: %1 de %2 Guardando os dados: %1 de %2 Carregant dades Carregando os dados No hi ha solucions Não há soluções Carregar Carregar S'ha carregat la Carregou-se a Moviment Movimento Cap joc personalitzat Sem jogos personalizados - invers - inverso - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari.ts0000644000175000017500000010236513113036465020510 0ustar demarchidemarchi Traduccio English English frmPrincipal Solitari Peg-solitaire Solucions Solutions No s'ha trobat l'arxiu %1 The file %1 does not exist Modalitats del joc Games Solitari 3x5 Peg-solitaire 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Square 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Quadrat 6x6 Square 6x6 Diamant 5x5 Diamond 5x5 Diamant 7x7 Diamond 7x7 Incomplet 6x6 Incomplete 6x6 Incomplet 7x7 Incomplete 7x7 Wiegleb reduit Wiegleb reduced Solitari 8x9 Peg-Solitaire 8x9 Solitari 5x6 Peg-Solitaire 5x6 Solitari 7x5 Peg-solitarie 7x5 Quadrat 9x9 Square 9x9 Triangular 5 Triangular 5 Triangular 4 Triangular 4 Triangular 6 Triangular 6 Solitari 3x5 bis Peg-solitaire 3x5 bis Solitari 4x4 Peg-solitaire 4x4 Solitari 6x5 Peg-solitaire 6x5 Solitari 4x5 Peg-solitaire 4x5 Triangular 7 Triangular 7 Triangular 8 Triangular 8 Triangular 9 Triangular 9 Clàssic - molinet Classic - small mill Triangular 10 Triangular 10 Quadrat 8x8 Square 8x8 Jocs personalitzats Custom games Solitari estrella 7x7 Peg-solitari star 7x7 Solitari 6x7 Peg-solitaire 6x7 &Surt &Quit Veure records View personal records Ajuda Help Credits About Agraïments Acknowledgements Web del programa Program Web Web del tangram Tangram web Avança Redo Inici solució Home Solution Pausa Stop Ctrl+P Ctrl+P Continua Continues Joc resolt! Solved game! Nova marca personal New personal record Heu establert un nou record personal en aquesta modalitat de joc You have a new personal record in this modality of the game Moviment %1 de %2 Jump %1 of %2 Programa Program &Moviments joc Game &moves Idioma Language Ctrl+S Veure marques personals View personal records Joc carregat. El vostre record actual és: %1 Game loaded. Your current personal record: %1 Elimina marques personals Delete personal records Reinicia el joc actual Restarts game Ctrl+R Ctrl+Z Ctrl+Z Shift+Ctrl+Z Europeu European Quadrat 5x5 - central Square 5x5 - central Quadrat 5x5 - H Square 5x5 - H Europeu - creu European - cross Quadrat 5x5 - quadrats Square 5x5 - square Triangular 4x7 - quadrat Triangular 4x7 - square Wiegleb - creu petita Wiegleb - small cross Wiegleb - simetria Wiegleb - symmetry Clàssic - O Classic - O Dos quadrats 10x10 Two square 10x10 Dos quadrats 11x11 Two square 11x11 Tres quadrats 16x16 Three square 16x16 Dos quadrats 9x9 Two square 9x9 Tres quadrats 13x13 Three square 13x13 Quatre quadrats 13x13 Four square 13x13 Clàssic ampliat Expanded Classic Rombe 36 Rhombus 36 Hexagonal 7x11 Hexagonal 7x11 Solitari a l'atzar Random Solitaire Solitari OK Ok Peg-solitaire Sota llicència GPL 2.0 o posterior Under GPL 3.0 or later De debó voleu eliminar les vostres marques? Sure you want to delete their personal records? Cercant solució Looking for solution No ha estat possible trobar una solució! Not found a solution! S'ha trobat una nova solució! We found a new solution! Solució %1 Solution %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Sure you want to load the solution? Will lose the movements! . Feu servir els botons Avança i Retrocedeix per veure la solució. . Use the Redo and Undo buttons to see the solution. de %1 of %1 No hi ha més moviments: el joc ha finalitzat! There are no more movements: the game has finalized! No hi ha moviments! There are no more movements! There are no more movements! Clàssic Classic Clàssic - simetria Classic - symmetry Clàssic - pentàgon Classic - pentagon Clàssic - creu petita Classic - small cross Clàssic - creu gran Classic - big cross Clàssic - superior Classic - top Clàssic - inferior Classic - lower Clàssic - fletxa Classic - arrow Clàssic - piràmide Classic - pyramid Clàssic - diamant Classic - diamond Clàssic - rombe Classic - rhomb Asimètric 8x8 Asymmetric 8x8 Asimètric - superior Asymmetric - top Clàssic - central Classic - central Clàssic - quadrat central Classic - central square Clàssic - rectangle central Classic - central rectangle Clàssic - arbre Classic - tree Wiegleb - clàssic Wiegleb - classic Solitari 6x6 Peg-solitaire 6x6 Anglès antic Old English Wiegleb - fletxa Wiegleb - arrow Clàssic - E Classic - E Clàssic - R Classic - R Clàssic - T Classic - T Triangular 4x7 - piràmide Triangular 4x7 - pyramid Quadrat 5x5 - piràmide Square 5x5 - pyramid Asimètric 6x6 Asymmetric 6x6 Anglès antic - diamant Old English - diamond Clàssic - quadrat Classic - square Clàssic - cúpula Classic - dome Clàssic - Cabana Classic - cabin Europeu - quadrat European - square Hexagonal inclinat Hex inclined Clàssic - 4 forquilles Classic - four forks Pentagonal Pentagonal Clàssic - Dos quadrats Classic - two square Clàssic - Banyes Classic - horns Clàssic - X Classic - X Clàssic - Torxa Classic - torch Clàssic - Palau Classic - palace Personalitzat Custom Solo Solo Solitari 8x3 Peg-solitaire 8x3 Peg-solitaire 8x3 Solitari 8x6 Peg-solitaire 8x6 Peg-solitaire 8x6 Retrocedeix Undo Resol Solve &%1 %2 Credits del %1 About %1 Marques personals Personal records Elimina les marques personals Delete personal records Atura Stop Desant dades Saving data Desant dades: %1 de %2 Saving data: %1 of %2 Carregant dades Loading data No hi ha solucions No solutions found Carregar Upload S'ha carregat la Is loaded Moviment Movement de of Cap joc personalitzat Without custom games - invers - reverse - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_ca_ES.ts0000644000175000017500000007775613113036465021561 0ustar demarchidemarchi Traduccio English Català frmPrincipal Solitari Solitari Solucions Solucions No s'ha trobat l'arxiu %1 No s'ha trobart l'arxiu %1 Modalitats del joc Jocs Solitari 3x5 Solitari 3x5 Triangular 4x7 Triangular 4x7 Quadrat 5x5 Quadrat 5x5 Wiegleb Wiegleb Quadrat 6x6 Quadrat 6x6 Diamant 5x5 Diamant 7x7 Incomplet 6x6 Incomplet 7x7 Wiegleb reduit Wiegleb reduït Solitari 8x9 Solitari 5x6 Solitari 7x5 Quadrat 9x9 Triangular 5 Triangular 4 Triangular 6 Solitari 3x5 bis Solitari 4x4 Solitari 6x5 Solitari 4x5 Triangular 7 Triangular 8 Triangular 9 Clàssic - molinet Clàssic - molinet Triangular 10 Quadrat 8x8 &Surt Veure records Ajuda Credits Crèdits Agraïments Agraïments Web del programa Web del tangram Avança Inici solució Pausa Pausa Ctrl+P Continua Continua Joc resolt! Nova marca personal Heu establert un nou record personal en aquesta modalitat de joc Moviment %1 de %2 Programa &Moviments joc Idioma Ctrl+S Veure marques personals Hexagonal 7x11 Hexagonal 7x11 Jocs personalitzats Jocs personalitzats Solitari estrella 7x7 Solitari estrella 7x7 Solitari 6x7 Solitari 6x7 Elimina marques personals Joc carregat. El vostre record actual és: %1 Reinicia el joc actual Ctrl+R Ctrl+Z Shift+Ctrl+Z Europeu Europeu Quadrat 5x5 - central Quadrat 5x5 - central Quadrat 5x5 - H Quadrat 5x5 - H Europeu - creu Europeu - creu Quadrat 5x5 - quadrats Quadrat 5x5 - quadrats Triangular 4x7 - quadrat Triangular 4x7 - quadrat Wiegleb - creu petita Wiegleb - creu petita Wiegleb - simetria Wiegleb - simetria Clàssic - O Dos quadrats 10x10 Dos quadrats 10x10 Dos quadrats 11x11 Dos quadrats 11x11 Tres quadrats 16x16 Tres quadrats 16x16 Dos quadrats 9x9 Dos quadrats 9x9 Tres quadrats 13x13 Tres quadrats 13x13 Quatre quadrats 13x13 Quatre quadrats 13x13 Diamant 9x9 Diamant 9x9 Clàssic ampliat Rombe 36 Rombe 36 Solitari a l'atzar Solitari a l'atzar Solitari OK Solitari OK Sota llicència GPL 2.0 o posterior De debó voleu eliminar les vostres marques? Cercant solució No ha estat possible trobar una solució! S'ha trobat una nova solució! Solució %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! . Feu servir els botons Avança i Retrocedeix per veure la solució. de %1 de %1 No hi ha més moviments: el joc ha finalitzat! No hi ha més moviments: el joc ha finalitzat! No hi ha moviments! No hi ha moviments! Clàssic Clàssic Clàssic - simetria Clàssic - pentàgon Clàssic - creu petita Clàssic - creu petita Clàssic - creu gran Clàssic - creu gran Clàssic - superior Clàssic - superior Clàssic - inferior Clàssic - inferior Clàssic - fletxa Clàssic - fletxa Clàssic - piràmide Clàssic - piràmide Clàssic - diamant Clàssic - diamant Clàssic - rombe Clàssic - rombe Asimètric 8x8 Asimètric 8x8 Asimètric - superior Asimètric - superior Clàssic - central Clàssic - central Clàssic - quadrat central Clàssic - quadrat central Clàssic - rectangle central Clàssic - rectangle central Clàssic - arbre Clàssic - arbre Wiegleb - clàssic Wiegleb - clàssic Solitari 6x6 Solitari 6x6 Anglès antic Anglès antic Wiegleb - fletxa Wiegleb - fletxa Clàssic - E Clàssic - E Clàssic - R Clàssic - R Clàssic - T Clàssic - T Triangular 4x7 - piràmide Triangular 4x7 - piràmide Quadrat 5x5 - piràmide Quadrat 5x5 - piràmide Asimètric 6x6 Asimètric 6x6 Anglès antic - diamant Anglès antic - diamant Clàssic - quadrat Clàssic - quadrat Clàssic - cúpula Clàssic - cúpula Clàssic - Cabana Clàssic - Cabana Europeu - quadrat Europeu - quadrat Hexagonal inclinat Hexagonal inclinat Clàssic - 4 forquilles Clàssic - 4 forquilles Pentagonal Pentagonal Clàssic - Dos quadrats Clàssic - dos quadrats Clàssic - Banyes Clàssic - Banyes Clàssic - X Clàssic - X Clàssic - Torxa Clàssic - Torxa Clàssic - Palau Clàssic - Palau Personalitzat Personalitzat Solo Solo Solitari 8x3 Solitari 8x3 Solitari 8x6 Solitari 8x6 Retrocedeix Retrocedeix Resol &%1 %2 Credits del %1 Crèdits del %1 Marques personals Elimina les marques personals Atura Desant dades Desant dades: %1 de %2 Desant dades %1 de %2 Carregant dades No hi ha solucions Carregar S'ha carregat la Moviment Cap joc personalitzat Cap joc personalitzat - invers - invers - diagonal - diagonal peg-solitaire-2.2/locales-ts/solitari_de_DE.ts0000644000175000017500000011160713113041004021510 0ustar demarchidemarchi Traduccio English Type the name of your language here Deutsch frmPrincipal Solitari Peg-solitaire Solitär Solucions Solutions No s'ha trobat l'arxiu %1 Konnte die Datei nicht finden %1 Modalitats del joc Games Spiels Solitari 3x5 Solitär 3x5 Triangular 4x7 Dreieckiger 4x7 Quadrat 5x5 Quadrat 5x5 Wiegleb Wiegleb Diamant 9x9 Diamond 9x9 Diamant 9x9 Quadrat 6x6 Quadrat 6x6 Diamant 5x5 Diamant 5x5 Diamant 7x7 Diamant 7x7 Incomplet 6x6 Unvollständiger 6x6 Incomplet 7x7 Unvollständig 7x7 Wiegleb reduit Reduzierte Wiegleb Solitari 8x9 Solitär 8x9 Solitari 5x6 Solitär 5x6 Solitari 7x5 Solitär 7x5 Quadrat 9x9 9x9-Quadrat Triangular 5 Dreieckige 5 Triangular 4 Dreieckige 4 Triangular 6 Dreieckige 6 Solitari 3x5 bis Solitär 3x5 bis Solitari 4x4 Solitär 4x4 Solitari 6x5 Solitär 6x5 Solitari 4x5 Solitär 4x5 Triangular 7 Dreieckige 7 Triangular 8 Dreieckige 8 Triangular 9 Dreieckige 9 Clàssic - molinet Classic - small mill Klassische - kleine Mühle Triangular 10 Dreieckige 10 Quadrat 8x8 Quadrat 8x8 Jocs personalitzats Benutzerdefinierte Spiele Solitari estrella 7x7 Solitär Star 7x7 Solitari 6x7 Solitär 6x7 &Surt &Schließen Veure records View persönlichen Marken Ajuda Hilfe Credits Kredite Agraïments Bestätigungen Web del programa Web-Programm Web del tangram Web of tangram Avança Voraus Inici solució Beginn der Lösung Pausa Anhalten Ctrl+P Continua Weiter Joc resolt! Spiel gelöst! Nova marca personal Neue persönliche Bestzeit Heu establert un nou record personal en aquesta modalitat de joc Erreicht hat einen neuen persönlichen Rekord in dieser Art von Spiel Moviment %1 de %2 Movement %1 -- %2 Programa Programm &Moviments joc &Bewegungen des Spiels Idioma Sprache Ctrl+S Ctrl+S Veure marques personals Sehen Sie die Höhen Joc carregat. El vostre record actual és: %1 Spiel geladen. Ihre aktuelle persönliche Marke ist: %1 Elimina marques personals Beseitigen Sie persönliche Marken Reinicia el joc actual Startet das aktuelle Spie Ctrl+R Ctrl+R Ctrl+Z Ctrl+Z Shift+Ctrl+Z Shift+Ctrl+Z Europeu European Europäische Quadrat 5x5 - central Square 5x5 - central Quadrat 5 x 5 - zentral Quadrat 5x5 - H Square 5x5 - H Quadrat 5 x 5 - H Europeu - creu European - cross Europäisch - cross Quadrat 5x5 - quadrats Square 5x5 - square Quadrat 5 x 5 - Quadrat Triangular 4x7 - quadrat Triangular 4x7 - square Dreieckige 4 x 7 - Quadrat Wiegleb - creu petita Wiegleb - small cross Wiegleb - Kreuz klein Wiegleb - simetria Wiegleb - symmetry Wiegleb - Symmetrie Clàssic - O Dos quadrats 10x10 Two square 10x10 Zwei quadratisch 10x10 Dos quadrats 11x11 Two square 11x11 Zwei quadratisch 11x11 Tres quadrats 16x16 Three square 16x16 Drei quadratisch 16x16 Dos quadrats 9x9 Two square 9x9 Zwei quadratisch 9x9 Tres quadrats 13x13 Three square 13x13 Drei quadratisch 13x13 Quatre quadrats 13x13 Four square 13x13 Vier quadratische 13x13 Clàssic ampliat Expanded Classic Expanded Klassisch Rombe 36 Rhombus 36 Raute 36 Hexagonal 7x11 Hexagonal 7x11 Sechskant 7x11 Solitari a l'atzar Zufällige Solitär Solitari OK OK Solitär Sota llicència GPL 2.0 o posterior Unter Erlaubnis GPL 3.0 oder späterer De debó voleu eliminar les vostres marques? Sicherer, dass er seine persönlichen Marken beseitigen will? Cercant solució Seeking solution suchen Lösung No ha estat possible trobar una solució! Es hat sich eine Lösung nicht befunden! S'ha trobat una nova solució! Es hat sich eine Lösung nicht befunden! Solució %1 Lösung %1 De debó voleu carregar la solució? Perdreu els moviments que heu fet! Sicherer, dass er die Lösung laden will? Gehe, die verwirklichten Bewegungen verlieren! . Feu servir els botons Avança i Retrocedeix per veure la solució. Verwenden Sie die Tasten hin und her, die Lösung zu sehen. de %1 of %1 von %1 No hi ha més moviments: el joc ha finalitzat! Nicht mehr bewegt: hat das Spiel beendet! No hi ha moviments! There are no movements! Es gibt keine Bewegung! Clàssic Klassisch Clàssic - simetria Classic - symmetry Klassisch - Symmetrie Clàssic - pentàgon Classic - pentagon Klassisch - Pentagon Clàssic - creu petita Classic - small cross Classic - Kreuz klein Clàssic - creu gran Classic - big cross Classic - große Kreuz Clàssic - superior Classic - top Klassisch - oben Clàssic - inferior Classic - lower Classic - niedriger Clàssic - fletxa Classic - arrow Klassisch - Pfeil Clàssic - piràmide Classic - pyramid Klassisch - Pyramide Clàssic - diamant Classic - diamond Klassisch - Diamant Clàssic - rombe Klassische - Raute Asimètric 8x8 Asymmetrische 8x8 Asimètric - superior Asymmetric - top Asymmetrische - oben Clàssic - central Classic - central Classic - zentrale Clàssic - quadrat central Classic - central square Klassisch - Hauptplatz Clàssic - rectangle central Classic - central rectangle Klassisch - zentrale Rechteck Clàssic - arbre Classic - tree Klassisch - Baum Wiegleb - clàssic Wiegleb - classic Wiegleb - Klassiker Solitari 6x6 Solitär 6x6 Anglès antic Altes Englisch Wiegleb - fletxa Wiegleb - Pfeil Clàssic - E Classic - E Klassisch - E Clàssic - R Classic - R Klassisch - R Clàssic - T Classic - T Klassisch - T Triangular 4x7 - piràmide Triangular 4x7 - pyramid Dreieckige 4 x 7 - Pyramide Quadrat 5x5 - piràmide Square 5x5 - pyramid Quadrat 5 x 5 - Pyramide Asimètric 6x6 Asymmetrische 6x6 Anglès antic - diamant Old English - diamond Alte Englisch - Diamant Clàssic - quadrat Classic - square Klassisch - Quadrat Clàssic - cúpula Classic - dome Klassisch - Kuppel Clàssic - Cabana Classic - cabin Klassisch - Kabine Europeu - quadrat Europäer - Quadratisch Hexagonal inclinat Hexagonal inclined Sechseckige geneigt Clàssic - 4 forquilles Classic - four forks Klassisch - vier Gabeln Pentagonal Pentagonal Clàssic - Dos quadrats Classic - two square Klassisch - zwei-Platz Clàssic - Banyes Classic - horns Klassisch - Hörner Clàssic - X Classic - X Klassisch - X Clàssic - Torxa Classic - torch Klassisch - Fackel Clàssic - Palau Classic - palace Klassisch - Palast Personalitzat Benutzerdefinierte Solo Solo Solitari 8x3 Solitär 8x3 Solitari 8x6 Solitär 8x6 Retrocedeix Rücklauf Resol Löst &%1 %2 Credits del %1 Kredite von %1 Marques personals Persönliche Marken Elimina les marques personals Er beseitigt die persönlichen Marken Atura Anhalten Desant dades Die Daten bewachend Desant dades: %1 de %2 Die Daten bewachend: % 1 der %2 Carregant dades Die Daten ladend No hi ha solucions Es gibt keine Lösungen Carregar Lasten S'ha carregat la Er wurde geladen Moviment Bewegung de von Cap joc personalitzat Ohne benutzerdefinierte Spiele - invers - Rückseite - diagonal - Diagonale peg-solitaire-2.2/games/111111111111111101111111111111111_289.sol0000644000175000017500000000347713101141441021650 0ustar demarchidemarchi1 305 304 303 2 104 204 304 3 202 203 204 4 200 201 202 5 205 204 203 6 203 202 201 7 404 304 204 8 406 405 404 9 403 404 405 10 206 306 406 11 406 405 404 12 401 402 403 13 403 404 405 14 602 502 402 15 400 300 200 16 200 201 202 17 603 503 403 18 403 402 401 19 401 301 201 20 201 202 203 21 2 102 202 22 302 202 102 23 604 504 404 24 405 404 403 25 4 3 2 26 2 102 202 1 305 304 303 2 104 204 304 3 202 203 204 4 200 201 202 5 205 204 203 6 203 202 201 7 404 304 204 8 406 405 404 9 403 404 405 10 206 306 406 11 406 405 404 12 401 402 403 13 403 404 405 14 602 502 402 15 400 300 200 16 200 201 202 17 603 503 403 18 403 402 401 19 401 301 201 20 201 202 203 21 2 102 202 22 302 202 102 23 604 504 404 24 4 3 2 25 2 102 202 26 405 404 403 1 305 304 303 2 104 204 304 3 202 203 204 4 200 201 202 5 205 204 203 6 203 202 201 7 404 304 204 8 406 405 404 9 403 404 405 10 206 306 406 11 406 405 404 12 401 402 403 13 403 404 405 14 602 502 402 15 400 300 200 16 200 201 202 17 603 503 403 18 403 402 401 19 401 301 201 20 604 504 404 21 201 202 203 22 2 102 202 23 4 3 2 24 302 202 102 25 2 102 202 26 405 404 403 1 305 304 303 2 104 204 304 3 202 203 204 4 200 201 202 5 205 204 203 6 203 202 201 7 404 304 204 8 406 405 404 9 403 404 405 10 206 306 406 11 406 405 404 12 401 402 403 13 403 404 405 14 602 502 402 15 400 300 200 16 200 201 202 17 603 503 403 18 403 402 401 19 604 504 404 20 401 301 201 21 201 202 203 22 2 102 202 23 4 3 2 24 302 202 102 25 2 102 202 26 405 404 403 1 305 304 303 2 104 204 304 3 202 203 204 4 200 201 202 5 205 204 203 6 203 202 201 7 404 304 204 8 406 405 404 9 403 404 405 10 206 306 406 11 406 405 404 12 401 402 403 13 403 404 405 14 602 502 402 15 400 300 200 16 200 201 202 17 603 503 403 18 403 402 401 19 401 301 201 20 201 202 203 21 2 102 202 22 302 202 102 23 604 504 404 24 4 3 2 25 405 404 403 26 2 102 202 peg-solitaire-2.2/games/111111111111111101111111111111111_303.sol0000644000175000017500000000371413101141511021623 0ustar demarchidemarchi1 301 302 303 2 304 303 302 3 504 404 304 4 305 304 303 5 303 302 301 6 104 204 304 7 502 402 302 8 301 302 303 9 102 202 302 10 200 201 202 11 202 203 204 12 204 304 404 13 404 403 402 14 3 103 203 15 402 302 202 16 603 503 403 17 400 300 200 18 406 405 404 19 404 403 402 20 402 401 400 21 206 306 406 22 202 203 204 23 204 205 206 1 301 302 303 2 304 303 302 3 504 404 304 4 305 304 303 5 303 302 301 6 104 204 304 7 502 402 302 8 301 302 303 9 102 202 302 10 200 201 202 11 202 203 204 12 204 304 404 13 404 403 402 14 3 103 203 15 402 302 202 16 603 503 403 17 400 300 200 18 406 405 404 19 404 403 402 20 206 306 406 21 202 203 204 22 204 205 206 23 402 401 400 1 301 302 303 2 304 303 302 3 504 404 304 4 305 304 303 5 303 302 301 6 104 204 304 7 502 402 302 8 301 302 303 9 102 202 302 10 200 201 202 11 202 203 204 12 204 304 404 13 404 403 402 14 3 103 203 15 402 302 202 16 603 503 403 17 400 300 200 18 406 405 404 19 404 403 402 20 402 401 400 21 202 203 204 22 206 306 406 23 204 205 206 1 301 302 303 2 304 303 302 3 504 404 304 4 305 304 303 5 303 302 301 6 104 204 304 7 502 402 302 8 301 302 303 9 102 202 302 10 200 201 202 11 202 203 204 12 204 304 404 13 404 403 402 14 3 103 203 15 402 302 202 16 603 503 403 17 400 300 200 18 406 405 404 19 404 403 402 20 202 203 204 21 206 306 406 22 204 205 206 23 402 401 400 1 301 302 303 2 304 303 302 3 306 305 304 4 103 203 303 5 201 202 203 6 2 102 202 7 203 202 201 8 205 204 203 9 4 3 2 10 402 302 202 11 404 403 402 12 604 504 404 13 202 203 204 14 200 201 202 15 204 104 4 16 304 303 302 17 400 300 200 18 402 401 400 19 202 302 402 20 405 404 403 21 503 403 303 22 602 603 604 23 402 502 602 1 301 302 303 2 304 303 302 3 504 404 304 4 305 304 303 5 303 302 301 6 104 204 304 7 502 402 302 8 301 302 303 9 102 202 302 10 200 201 202 11 202 203 204 12 204 304 404 13 206 205 204 14 404 403 402 15 3 103 203 16 603 503 403 17 204 203 202 18 400 300 200 19 402 401 400 20 202 302 402 21 402 403 404 22 406 306 206 23 404 405 406 peg-solitaire-2.2/games/1111111111111111111111110111111101111_276.sol0000644000175000017500000000542312753376416022170 0ustar demarchidemarchi1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 400 401 402 18 402 302 202 19 602 502 402 20 603 503 403 21 403 402 401 22 604 504 404 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 400 401 402 18 402 302 202 19 602 502 402 20 603 503 403 21 604 504 404 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 602 502 402 18 603 503 403 19 604 504 404 20 402 302 202 21 400 401 402 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 602 502 402 18 603 503 403 19 402 302 202 20 604 504 404 21 400 401 402 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 602 502 402 15 604 504 404 16 402 302 202 17 400 401 402 18 200 300 400 19 403 402 401 20 603 503 403 21 400 401 402 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 603 503 403 18 602 502 402 19 604 504 404 20 402 302 202 21 400 401 402 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 603 503 403 18 602 502 402 19 402 302 202 20 400 401 402 21 604 504 404 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 602 502 402 18 603 503 403 19 402 302 202 20 400 401 402 21 604 504 404 22 403 402 401 1 304 404 504 2 104 204 304 3 206 205 204 4 304 204 104 5 4 104 204 6 203 204 205 7 201 202 203 8 2 102 202 9 203 202 201 10 3 103 203 11 406 306 206 12 206 205 204 13 203 204 205 14 400 401 402 15 403 402 401 16 200 300 400 17 603 503 403 18 602 502 402 19 402 302 202 20 400 401 402 21 403 402 401 22 604 504 404 peg-solitaire-2.2/games/1111111111111111111111111111111011111111111111111_147.sol0000644000175000017500000002227413101416221023256 0ustar demarchidemarchi1 706 606 506 2 406 506 606 3 408 407 406 4 508 507 506 5 707 607 507 6 506 507 508 7 608 508 408 8 405 406 407 9 408 407 406 10 808 708 608 11 605 606 607 12 608 607 606 13 504 505 506 14 506 606 706 15 806 706 606 16 804 805 806 17 807 806 805 18 805 705 605 19 704 604 504 20 403 404 405 21 406 405 404 22 606 605 604 23 401 402 403 24 403 404 405 25 604 504 404 26 405 404 403 27 204 304 404 28 404 403 402 29 302 303 304 30 103 203 303 31 304 303 302 32 201 202 203 33 402 302 202 34 1 101 201 35 3 2 1 36 0 1 2 37 4 104 204 38 102 202 302 39 204 203 202 40 302 202 102 41 2 102 202 42 300 301 302 43 100 200 300 44 400 300 200 45 302 202 102 46 200 201 202 47 202 102 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 203 303 403 30 403 402 401 31 400 401 402 32 201 301 401 33 401 402 403 34 202 302 402 35 403 402 401 36 2 102 202 37 4 3 2 38 100 101 102 39 200 300 400 40 102 202 302 41 104 103 102 42 400 401 402 43 402 302 202 44 1 2 3 45 202 102 2 46 3 2 1 47 0 1 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 203 303 403 30 403 402 401 31 400 401 402 32 201 301 401 33 401 402 403 34 202 302 402 35 403 402 401 36 2 102 202 37 100 101 102 38 0 1 2 39 3 2 1 40 200 300 400 41 400 401 402 42 102 202 302 43 402 302 202 44 104 103 102 45 202 102 2 46 1 2 3 47 4 3 2 1 706 606 506 2 406 506 606 3 408 407 406 4 508 507 506 5 707 607 507 6 506 507 508 7 608 508 408 8 405 406 407 9 408 407 406 10 808 708 608 11 605 606 607 12 608 607 606 13 504 505 506 14 506 606 706 15 806 706 606 16 804 805 806 17 807 806 805 18 805 705 605 19 704 604 504 20 403 404 405 21 406 405 404 22 606 605 604 23 401 402 403 24 403 404 405 25 604 504 404 26 405 404 403 27 204 304 404 28 404 403 402 29 302 303 304 30 103 203 303 31 304 303 302 32 201 202 203 33 402 302 202 34 1 101 201 35 3 2 1 36 0 1 2 37 4 104 204 38 102 202 302 39 204 203 202 40 302 202 102 41 300 301 302 42 2 102 202 43 100 200 300 44 400 300 200 45 302 202 102 46 200 201 202 47 202 102 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 203 303 403 30 403 402 401 31 400 401 402 32 201 301 401 33 401 402 403 34 202 302 402 35 403 402 401 36 2 102 202 37 4 3 2 38 100 101 102 39 200 300 400 40 102 202 302 41 400 401 402 42 402 302 202 43 104 103 102 44 1 2 3 45 202 102 2 46 3 2 1 47 0 1 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 201 301 401 30 1 101 201 31 202 203 204 32 402 302 202 33 201 202 203 34 103 102 101 35 100 101 102 36 300 200 100 37 0 100 200 38 104 204 304 39 304 303 302 40 400 401 402 41 402 302 202 42 203 202 201 43 200 201 202 44 3 2 1 45 202 102 2 46 1 2 3 47 4 3 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 203 303 403 30 403 402 401 31 400 401 402 32 201 301 401 33 401 402 403 34 202 302 402 35 403 402 401 36 2 102 202 37 4 3 2 38 104 103 102 39 1 2 3 40 200 300 400 41 400 401 402 42 102 202 302 43 402 302 202 44 100 101 102 45 202 102 2 46 3 2 1 47 0 1 2 1 706 606 506 2 406 506 606 3 408 407 406 4 508 507 506 5 707 607 507 6 506 507 508 7 608 508 408 8 405 406 407 9 408 407 406 10 808 708 608 11 605 606 607 12 608 607 606 13 504 505 506 14 506 606 706 15 806 706 606 16 804 805 806 17 807 806 805 18 805 705 605 19 704 604 504 20 403 404 405 21 406 405 404 22 606 605 604 23 401 402 403 24 403 404 405 25 604 504 404 26 405 404 403 27 204 304 404 28 404 403 402 29 302 303 304 30 103 203 303 31 304 303 302 32 201 202 203 33 402 302 202 34 1 101 201 35 3 2 1 36 0 1 2 37 4 104 204 38 102 202 302 39 204 203 202 40 302 202 102 41 300 301 302 42 100 200 300 43 400 300 200 44 2 102 202 45 302 202 102 46 200 201 202 47 202 102 2 1 706 606 506 2 406 506 606 3 408 407 406 4 508 507 506 5 707 607 507 6 506 507 508 7 608 508 408 8 405 406 407 9 408 407 406 10 808 708 608 11 605 606 607 12 608 607 606 13 504 505 506 14 506 606 706 15 806 706 606 16 804 805 806 17 807 806 805 18 805 705 605 19 704 604 504 20 403 404 405 21 406 405 404 22 606 605 604 23 401 402 403 24 403 404 405 25 604 504 404 26 405 404 403 27 204 304 404 28 404 403 402 29 302 303 304 30 103 203 303 31 304 303 302 32 201 202 203 33 402 302 202 34 1 101 201 35 3 2 1 36 0 1 2 37 4 104 204 38 102 202 302 39 204 203 202 40 302 202 102 41 2 102 202 42 300 301 302 43 100 200 300 44 400 300 200 45 302 202 102 46 200 201 202 47 102 202 302 1 706 606 506 2 406 506 606 3 408 407 406 4 508 507 506 5 707 607 507 6 506 507 508 7 608 508 408 8 405 406 407 9 408 407 406 10 808 708 608 11 605 606 607 12 608 607 606 13 504 505 506 14 506 606 706 15 806 706 606 16 804 805 806 17 807 806 805 18 805 705 605 19 704 604 504 20 403 404 405 21 406 405 404 22 606 605 604 23 401 402 403 24 403 404 405 25 604 504 404 26 405 404 403 27 204 304 404 28 404 403 402 29 302 303 304 30 103 203 303 31 304 303 302 32 201 202 203 33 402 302 202 34 1 101 201 35 3 2 1 36 0 1 2 37 4 104 204 38 102 202 302 39 204 203 202 40 302 202 102 41 300 301 302 42 2 102 202 43 100 200 300 44 400 300 200 45 302 202 102 46 200 201 202 47 102 202 302 1 706 606 506 2 708 707 706 3 507 607 707 4 807 707 607 5 508 608 708 6 808 708 608 7 608 607 606 8 605 606 607 9 406 506 606 10 408 407 406 11 607 606 605 12 504 505 506 13 406 506 606 14 805 806 807 15 606 706 806 16 807 806 805 17 804 805 806 18 704 705 706 19 806 706 606 20 304 404 504 21 604 504 404 22 606 605 604 23 302 303 304 24 304 404 504 25 604 504 404 26 103 203 303 27 403 303 203 28 405 404 403 29 402 403 404 30 104 204 304 31 404 304 204 32 400 401 402 33 102 202 302 34 204 203 202 35 201 202 203 36 402 302 202 37 300 301 302 38 302 202 102 39 2 102 202 40 4 3 2 41 1 2 3 42 203 202 201 43 201 101 1 44 0 1 2 45 200 100 0 46 3 2 1 47 0 1 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 203 303 403 30 403 402 401 31 400 401 402 32 201 301 401 33 401 402 403 34 202 302 402 35 1 101 201 36 3 2 1 37 200 201 202 38 0 100 200 39 403 402 401 40 200 300 400 41 400 401 402 42 102 202 302 43 402 302 202 44 104 103 102 45 202 102 2 46 1 2 3 47 4 3 2 1 706 606 506 2 406 506 606 3 408 407 406 4 508 507 506 5 707 607 507 6 506 507 508 7 608 508 408 8 405 406 407 9 408 407 406 10 808 708 608 11 605 606 607 12 608 607 606 13 504 505 506 14 506 606 706 15 806 706 606 16 804 805 806 17 807 806 805 18 805 705 605 19 704 604 504 20 403 404 405 21 406 405 404 22 606 605 604 23 401 402 403 24 403 404 405 25 604 504 404 26 405 404 403 27 204 304 404 28 404 403 402 29 302 303 304 30 103 203 303 31 304 303 302 32 201 202 203 33 1 101 201 34 402 302 202 35 3 2 1 36 0 1 2 37 4 104 204 38 102 202 302 39 204 203 202 40 302 202 102 41 2 102 202 42 300 301 302 43 100 200 300 44 400 300 200 45 302 202 102 46 200 201 202 47 202 102 2 1 508 507 506 2 708 608 508 3 408 508 608 4 707 607 507 5 605 606 607 6 608 607 606 7 705 706 707 8 807 707 607 9 805 806 807 10 808 807 806 11 506 606 706 12 806 706 606 13 607 606 605 14 407 507 607 15 604 605 606 16 607 606 605 17 804 704 604 18 604 605 606 19 405 505 605 20 403 404 405 21 606 605 604 22 604 504 404 23 304 404 504 24 406 405 404 25 504 404 304 26 204 304 404 27 401 402 403 28 404 403 402 29 203 303 403 30 403 402 401 31 400 401 402 32 201 301 401 33 401 402 403 34 202 302 402 35 403 402 401 36 2 102 202 37 100 101 102 38 0 1 2 39 200 300 400 40 102 202 302 41 104 103 102 42 400 401 402 43 402 302 202 44 3 2 1 45 202 102 2 46 1 2 3 47 4 3 2 ././@LongLink0000644000000000000000000000021300000000000011577 Lustar rootrootpeg-solitaire-2.2/games/1111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111_146.solpeg-solitaire-2.2/games/11111111111111111111111011111111111111111111111111111111111111111111111111110000644000175000017500000002013013104377411024541 0ustar demarchidemarchi1 105 205 305 2 103 104 105 3 5 105 205 4 3 4 5 5 305 205 105 6 304 204 104 7 5 105 205 8 202 203 204 9 205 204 203 10 302 303 304 11 404 304 204 12 104 204 304 13 402 403 404 14 404 304 204 15 204 203 202 16 102 202 302 17 100 101 102 18 2 102 202 19 301 201 101 20 1 101 201 21 300 200 100 22 0 100 200 23 202 302 402 24 200 201 202 25 502 402 302 26 202 302 402 27 500 501 502 28 502 402 302 29 400 401 402 30 505 405 305 31 503 504 505 32 302 402 502 33 506 505 504 34 705 605 505 35 505 504 503 36 502 503 504 37 706 606 506 38 507 506 505 39 905 805 705 40 608 607 606 41 906 806 706 42 504 505 506 43 509 508 507 44 507 506 505 45 807 707 607 46 607 606 605 47 605 505 405 48 305 405 505 49 1007 907 807 50 808 807 806 51 1005 1006 1007 52 1008 908 808 53 809 808 807 54 807 806 805 55 805 705 605 56 505 605 705 57 705 706 707 58 610 609 608 59 608 708 808 60 810 710 610 61 510 610 710 62 710 709 708 63 707 708 709 64 1009 909 809 65 709 809 909 66 910 909 908 67 808 908 1008 68 1007 1008 1009 69 1110 1010 910 70 1012 1011 1010 71 910 1010 1110 72 1211 1111 1011 73 1212 1112 1012 74 1012 1011 1010 75 1009 1010 1011 76 1210 1110 1010 77 1010 1011 1012 78 1013 1012 1011 79 1015 1014 1013 80 1214 1114 1014 81 1014 1013 1012 82 1011 1012 1013 83 1414 1314 1214 84 1214 1213 1212 85 1013 1113 1213 86 1212 1213 1214 87 1215 1214 1213 88 1410 1310 1210 89 1412 1411 1410 90 1510 1410 1310 91 1210 1310 1410 92 1512 1511 1510 93 1312 1313 1314 94 1510 1410 1310 95 1310 1311 1312 96 1513 1413 1313 97 1213 1313 1413 98 1515 1514 1513 99 1415 1315 1215 100 1115 1215 1315 101 1315 1314 1313 102 1312 1313 1314 103 1513 1413 1313 104 1313 1314 1315 1 105 205 305 2 103 104 105 3 5 105 205 4 3 4 5 5 305 205 105 6 304 204 104 7 5 105 205 8 202 203 204 9 205 204 203 10 302 303 304 11 404 304 204 12 104 204 304 13 402 403 404 14 404 304 204 15 204 203 202 16 102 202 302 17 100 101 102 18 2 102 202 19 301 201 101 20 1 101 201 21 300 200 100 22 0 100 200 23 202 302 402 24 200 201 202 25 502 402 302 26 202 302 402 27 500 501 502 28 502 402 302 29 400 401 402 30 505 405 305 31 503 504 505 32 302 402 502 33 506 505 504 34 705 605 505 35 505 504 503 36 502 503 504 37 706 606 506 38 507 506 505 39 905 805 705 40 608 607 606 41 906 806 706 42 504 505 506 43 509 508 507 44 507 506 505 45 807 707 607 46 607 606 605 47 605 505 405 48 305 405 505 49 1007 907 807 50 808 807 806 51 1005 1006 1007 52 1008 908 808 53 809 808 807 54 807 806 805 55 805 705 605 56 505 605 705 57 705 706 707 58 610 609 608 59 608 708 808 60 810 710 610 61 510 610 710 62 710 709 708 63 707 708 709 64 1009 909 809 65 709 809 909 66 910 909 908 67 808 908 1008 68 1007 1008 1009 69 1110 1010 910 70 1012 1011 1010 71 910 1010 1110 72 1211 1111 1011 73 1212 1112 1012 74 1012 1011 1010 75 1009 1010 1011 76 1210 1110 1010 77 1010 1011 1012 78 1013 1012 1011 79 1015 1014 1013 80 1214 1114 1014 81 1014 1013 1012 82 1011 1012 1013 83 1414 1314 1214 84 1214 1213 1212 85 1013 1113 1213 86 1212 1213 1214 87 1215 1214 1213 88 1410 1310 1210 89 1412 1411 1410 90 1510 1410 1310 91 1210 1310 1410 92 1512 1511 1510 93 1312 1313 1314 94 1510 1410 1310 95 1310 1311 1312 96 1513 1413 1313 97 1213 1313 1413 98 1515 1514 1513 99 1415 1315 1215 100 1115 1215 1315 101 1315 1314 1313 102 1312 1313 1314 103 1513 1413 1313 104 1314 1313 1312 1 105 205 305 2 103 104 105 3 5 105 205 4 3 4 5 5 305 205 105 6 304 204 104 7 5 105 205 8 202 203 204 9 205 204 203 10 302 303 304 11 404 304 204 12 104 204 304 13 402 403 404 14 404 304 204 15 204 203 202 16 102 202 302 17 100 101 102 18 2 102 202 19 301 201 101 20 1 101 201 21 300 200 100 22 0 100 200 23 202 302 402 24 200 201 202 25 502 402 302 26 202 302 402 27 500 501 502 28 502 402 302 29 400 401 402 30 505 405 305 31 503 504 505 32 302 402 502 33 506 505 504 34 705 605 505 35 505 504 503 36 502 503 504 37 706 606 506 38 507 506 505 39 905 805 705 40 608 607 606 41 906 806 706 42 504 505 506 43 509 508 507 44 507 506 505 45 807 707 607 46 607 606 605 47 605 505 405 48 305 405 505 49 1007 907 807 50 808 807 806 51 1005 1006 1007 52 1008 908 808 53 809 808 807 54 807 806 805 55 805 705 605 56 505 605 705 57 705 706 707 58 610 609 608 59 608 708 808 60 810 710 610 61 510 610 710 62 710 709 708 63 707 708 709 64 1009 909 809 65 709 809 909 66 910 909 908 67 808 908 1008 68 1007 1008 1009 69 1110 1010 910 70 1012 1011 1010 71 910 1010 1110 72 1211 1111 1011 73 1212 1112 1012 74 1012 1011 1010 75 1009 1010 1011 76 1210 1110 1010 77 1010 1011 1012 78 1013 1012 1011 79 1213 1113 1013 80 1215 1214 1213 81 1313 1213 1113 82 1311 1312 1313 83 1314 1313 1312 84 1114 1113 1112 85 1511 1411 1311 86 1513 1413 1313 87 1515 1514 1513 88 1513 1512 1511 89 1014 1013 1012 90 1012 1112 1212 91 1015 1115 1215 92 1410 1310 1210 93 1415 1414 1413 94 1215 1315 1415 95 1412 1413 1414 96 1415 1414 1413 97 1413 1313 1213 98 1213 1212 1211 99 1311 1211 1111 100 1011 1111 1211 101 1210 1211 1212 102 1510 1511 1512 103 1212 1312 1412 104 1512 1412 1312 1 105 205 305 2 103 104 105 3 5 105 205 4 3 4 5 5 305 205 105 6 304 204 104 7 5 105 205 8 202 203 204 9 205 204 203 10 302 303 304 11 404 304 204 12 104 204 304 13 402 403 404 14 404 304 204 15 204 203 202 16 102 202 302 17 100 101 102 18 2 102 202 19 301 201 101 20 1 101 201 21 300 200 100 22 0 100 200 23 202 302 402 24 200 201 202 25 502 402 302 26 202 302 402 27 500 501 502 28 502 402 302 29 400 401 402 30 505 405 305 31 503 504 505 32 302 402 502 33 506 505 504 34 705 605 505 35 505 504 503 36 502 503 504 37 706 606 506 38 507 506 505 39 905 805 705 40 608 607 606 41 906 806 706 42 504 505 506 43 509 508 507 44 507 506 505 45 807 707 607 46 607 606 605 47 605 505 405 48 305 405 505 49 1007 907 807 50 808 807 806 51 1005 1006 1007 52 1008 908 808 53 809 808 807 54 807 806 805 55 805 705 605 56 505 605 705 57 705 706 707 58 610 609 608 59 608 708 808 60 810 710 610 61 510 610 710 62 710 709 708 63 707 708 709 64 1009 909 809 65 709 809 909 66 910 909 908 67 808 908 1008 68 1007 1008 1009 69 1110 1010 910 70 1012 1011 1010 71 910 1010 1110 72 1211 1111 1011 73 1212 1112 1012 74 1012 1011 1010 75 1009 1010 1011 76 1210 1110 1010 77 1010 1011 1012 78 1013 1012 1011 79 1015 1014 1013 80 1214 1114 1014 81 1014 1013 1012 82 1011 1012 1013 83 1414 1314 1214 84 1214 1213 1212 85 1013 1113 1213 86 1212 1213 1214 87 1312 1313 1314 88 1310 1311 1312 89 1315 1314 1313 90 1312 1313 1314 91 1214 1314 1414 92 1115 1215 1315 93 1510 1410 1310 94 1511 1411 1311 95 1310 1311 1312 96 1513 1413 1313 97 1312 1313 1314 98 1315 1314 1313 99 1512 1412 1312 100 1312 1313 1314 101 1515 1415 1315 102 1315 1314 1313 103 1514 1414 1314 104 1313 1314 1315 1 105 205 305 2 103 104 105 3 5 105 205 4 3 4 5 5 305 205 105 6 304 204 104 7 5 105 205 8 202 203 204 9 205 204 203 10 302 303 304 11 404 304 204 12 104 204 304 13 402 403 404 14 404 304 204 15 204 203 202 16 102 202 302 17 100 101 102 18 2 102 202 19 301 201 101 20 1 101 201 21 300 200 100 22 0 100 200 23 202 302 402 24 200 201 202 25 502 402 302 26 202 302 402 27 500 501 502 28 502 402 302 29 400 401 402 30 505 405 305 31 503 504 505 32 302 402 502 33 506 505 504 34 705 605 505 35 505 504 503 36 502 503 504 37 706 606 506 38 507 506 505 39 905 805 705 40 608 607 606 41 906 806 706 42 504 505 506 43 509 508 507 44 507 506 505 45 807 707 607 46 607 606 605 47 605 505 405 48 305 405 505 49 1007 907 807 50 808 807 806 51 1005 1006 1007 52 1008 908 808 53 809 808 807 54 807 806 805 55 805 705 605 56 505 605 705 57 705 706 707 58 610 609 608 59 608 708 808 60 810 710 610 61 510 610 710 62 710 709 708 63 707 708 709 64 1009 909 809 65 709 809 909 66 910 909 908 67 808 908 1008 68 1007 1008 1009 69 1110 1010 910 70 1012 1011 1010 71 910 1010 1110 72 1211 1111 1011 73 1212 1112 1012 74 1012 1011 1010 75 1009 1010 1011 76 1210 1110 1010 77 1010 1011 1012 78 1013 1012 1011 79 1015 1014 1013 80 1214 1114 1014 81 1014 1013 1012 82 1011 1012 1013 83 1414 1314 1214 84 1214 1213 1212 85 1013 1113 1213 86 1212 1213 1214 87 1215 1214 1213 88 1410 1310 1210 89 1412 1411 1410 90 1415 1315 1215 91 1115 1215 1315 92 1312 1313 1314 93 1513 1413 1313 94 1515 1514 1513 95 1510 1410 1310 96 1210 1310 1410 97 1512 1511 1510 98 1510 1410 1310 99 1310 1311 1312 100 1213 1313 1413 101 1315 1314 1313 102 1312 1313 1314 103 1513 1413 1313 104 1314 1313 1312 peg-solitaire-2.2/games/10111111111111111111111111111111111111111_154.sol0000644000175000017500000000546613101144173022454 0ustar demarchidemarchi1 105 104 103 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 4 104 204 10 307 306 305 11 408 407 406 12 507 506 505 13 504 505 506 14 506 406 306 15 306 305 304 16 304 204 104 17 206 205 204 18 703 603 503 19 403 503 603 20 705 605 505 21 405 505 605 22 704 604 504 23 606 605 604 24 504 604 704 25 301 302 303 26 400 401 402 27 501 502 503 28 104 204 304 29 304 303 302 30 302 402 502 31 502 503 504 32 804 704 604 33 504 604 704 34 602 603 604 35 704 604 504 36 504 404 304 37 202 203 204 38 304 204 104 39 103 104 105 1 105 104 103 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 4 104 204 10 307 306 305 11 408 407 406 12 507 506 505 13 504 505 506 14 506 406 306 15 306 305 304 16 304 204 104 17 206 205 204 18 703 603 503 19 403 503 603 20 705 605 505 21 405 505 605 22 704 604 504 23 606 605 604 24 504 604 704 25 804 704 604 26 501 502 503 27 301 302 303 28 104 204 304 29 304 303 302 30 103 203 303 31 302 303 304 32 304 404 504 33 504 604 704 34 400 401 402 35 602 603 604 36 704 604 504 37 504 503 502 38 502 402 302 39 202 302 402 1 105 104 103 2 304 204 104 3 206 205 204 4 405 305 205 5 605 505 405 6 603 604 605 7 403 503 603 8 203 303 403 9 205 204 203 10 4 104 204 11 103 203 303 12 307 306 305 13 506 406 306 14 408 407 406 15 306 406 506 16 606 605 604 17 507 506 505 18 405 505 605 19 705 605 505 20 603 604 605 21 804 704 604 22 501 502 503 23 605 604 603 24 602 603 604 25 403 503 603 26 703 603 503 27 401 402 403 28 403 503 603 29 603 604 605 30 605 505 405 31 405 305 205 32 205 204 203 33 203 303 403 34 301 302 303 35 504 404 304 36 304 303 302 37 202 302 402 38 403 402 401 39 400 401 402 1 105 104 103 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 4 104 204 10 307 306 305 11 408 407 406 12 507 506 505 13 504 505 506 14 506 406 306 15 306 305 304 16 304 204 104 17 206 205 204 18 703 603 503 19 403 503 603 20 705 605 505 21 405 505 605 22 704 604 504 23 606 605 604 24 504 604 704 25 301 302 303 26 400 401 402 27 501 502 503 28 104 204 304 29 304 303 302 30 302 402 502 31 502 503 504 32 804 704 604 33 504 604 704 34 602 603 604 35 704 604 504 36 504 404 304 37 103 203 303 38 304 303 302 39 202 302 402 1 105 104 103 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 4 104 204 10 307 306 305 11 408 407 406 12 507 506 505 13 504 505 506 14 506 406 306 15 306 305 304 16 304 204 104 17 206 205 204 18 703 603 503 19 403 503 603 20 705 605 505 21 405 505 605 22 704 604 504 23 606 605 604 24 504 604 704 25 301 302 303 26 400 401 402 27 501 502 503 28 104 204 304 29 304 303 302 30 302 402 502 31 502 503 504 32 103 203 303 33 804 704 604 34 504 604 704 35 602 603 604 36 704 604 504 37 504 404 304 38 304 303 302 39 202 302 402 peg-solitaire-2.2/games/111111111111111101111111111111111_296.sol0000644000175000017500000000705513101141504021642 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 402 403 404 4 205 305 405 5 405 404 403 6 203 204 205 7 206 205 204 8 201 202 203 9 203 204 205 10 4 104 204 11 204 304 404 12 404 403 402 13 402 302 202 14 400 401 402 15 604 504 404 16 502 402 302 17 302 303 304 18 304 404 504 19 602 603 604 20 604 504 404 21 406 306 206 22 206 205 204 23 3 103 203 24 203 202 201 25 201 301 401 26 200 300 400 27 400 401 402 28 2 102 202 1 103 203 303 2 205 204 203 3 202 203 204 4 405 305 205 5 205 204 203 6 403 404 405 7 406 405 404 8 401 402 403 9 403 404 405 10 604 504 404 11 404 304 204 12 204 203 202 13 202 302 402 14 200 201 202 15 4 104 204 16 102 202 302 17 302 303 304 18 2 3 4 19 304 204 104 20 4 104 204 21 206 306 406 22 406 405 404 23 603 503 403 24 403 402 401 25 400 300 200 26 401 301 201 27 602 502 402 28 200 201 202 1 103 203 303 2 205 204 203 3 202 203 204 4 405 305 205 5 205 204 203 6 403 404 405 7 406 405 404 8 401 402 403 9 403 404 405 10 604 504 404 11 404 304 204 12 204 203 202 13 202 302 402 14 200 201 202 15 300 301 302 16 4 104 204 17 2 3 4 18 302 303 304 19 603 503 403 20 304 204 104 21 4 104 204 22 206 306 406 23 102 202 302 24 402 302 202 25 602 502 402 26 403 402 401 27 400 401 402 28 406 405 404 1 503 403 303 2 405 404 403 3 402 403 404 4 205 305 405 5 405 404 403 6 203 204 205 7 206 205 204 8 201 202 203 9 203 204 205 10 4 104 204 11 204 304 404 12 404 403 402 13 402 302 202 14 400 401 402 15 604 504 404 16 502 402 302 17 302 303 304 18 304 404 504 19 602 603 604 20 604 504 404 21 406 306 206 22 206 205 204 23 3 103 203 24 203 202 201 25 2 102 202 26 300 301 302 27 202 302 402 28 200 201 202 1 103 203 303 2 205 204 203 3 202 203 204 4 405 305 205 5 205 204 203 6 403 404 405 7 406 405 404 8 401 402 403 9 403 404 405 10 604 504 404 11 404 304 204 12 204 203 202 13 202 302 402 14 200 201 202 15 300 301 302 16 4 104 204 17 2 3 4 18 302 303 304 19 603 503 403 20 304 204 104 21 4 104 204 22 206 306 406 23 102 202 302 24 402 302 202 25 602 502 402 26 403 402 401 27 406 405 404 28 400 401 402 1 503 403 303 2 405 404 403 3 402 403 404 4 205 305 405 5 405 404 403 6 203 204 205 7 206 205 204 8 201 202 203 9 203 204 205 10 4 104 204 11 204 304 404 12 404 403 402 13 402 302 202 14 400 401 402 15 604 504 404 16 502 402 302 17 302 303 304 18 304 404 504 19 602 603 604 20 604 504 404 21 406 306 206 22 206 205 204 23 3 103 203 24 203 202 201 25 2 102 202 26 200 300 400 27 201 301 401 28 400 401 402 1 503 403 303 2 405 404 403 3 402 403 404 4 205 305 405 5 405 404 403 6 203 204 205 7 206 205 204 8 201 202 203 9 203 204 205 10 4 104 204 11 204 304 404 12 404 403 402 13 402 302 202 14 400 401 402 15 604 504 404 16 502 402 302 17 302 303 304 18 304 404 504 19 602 603 604 20 604 504 404 21 406 306 206 22 206 205 204 23 300 301 302 24 3 103 203 25 202 302 402 26 2 102 202 27 203 202 201 28 200 201 202 1 103 203 303 2 205 204 203 3 202 203 204 4 405 305 205 5 205 204 203 6 403 404 405 7 603 503 403 8 2 102 202 9 4 104 204 10 406 405 404 11 206 306 406 12 302 202 102 13 300 301 302 14 402 302 202 15 303 203 103 16 3 103 203 17 304 204 104 18 602 502 402 19 202 203 204 20 200 201 202 21 102 202 302 22 104 204 304 23 402 302 202 24 400 401 402 25 403 404 405 26 604 504 404 27 404 304 204 28 406 405 404 1 103 203 303 2 201 202 203 3 2 102 202 4 4 3 2 5 401 301 201 6 403 402 401 7 603 503 403 8 202 302 402 9 200 201 202 10 400 300 200 11 203 202 201 12 205 204 203 13 405 305 205 14 200 201 202 15 202 203 204 16 205 204 203 17 303 203 103 18 104 103 102 19 2 102 202 20 403 404 405 21 401 402 403 22 406 405 404 23 206 306 406 24 403 404 405 25 406 405 404 26 404 304 204 27 602 502 402 28 604 504 404 peg-solitaire-2.2/games/1111101111111111111111111111111111111_150.sol0000644000175000017500000002052613103370240022134 0ustar demarchidemarchi1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 604 504 404 30 206 205 204 31 104 204 304 32 403 404 405 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 306 305 304 24 304 204 104 25 206 205 204 26 104 204 304 27 405 404 403 28 604 504 404 29 403 402 401 30 602 502 402 31 401 402 403 32 403 404 405 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 604 504 404 30 206 205 204 31 403 404 405 32 505 405 305 33 104 204 304 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 604 504 404 30 403 404 405 31 206 205 204 32 505 405 305 33 104 204 304 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 2 3 4 11 302 303 304 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 603 503 403 20 403 402 401 21 200 300 400 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 206 205 204 30 104 204 304 31 604 504 404 32 403 404 405 33 406 405 404 34 304 404 504 35 505 504 503 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 306 305 304 27 304 204 104 28 604 504 404 29 206 205 204 30 401 402 403 31 403 404 405 32 505 405 305 33 104 204 304 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 604 504 404 30 403 404 405 31 505 405 305 32 206 205 204 33 104 204 304 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 604 504 404 30 403 404 405 31 206 205 204 32 104 204 304 33 406 405 404 34 304 404 504 35 505 504 503 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 2 3 4 11 302 303 304 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 603 503 403 20 403 402 401 21 200 300 400 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 206 205 204 30 104 204 304 31 604 504 404 32 403 404 405 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 2 3 4 11 302 303 304 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 603 503 403 20 403 402 401 21 200 300 400 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 401 402 403 27 306 305 304 28 304 204 104 29 206 205 204 30 604 504 404 31 403 404 405 32 104 204 304 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 306 305 304 23 304 204 104 24 206 205 204 25 400 401 402 26 405 404 403 27 403 402 401 28 602 502 402 29 604 504 404 30 401 402 403 31 403 404 405 32 104 204 304 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 306 305 304 23 304 204 104 24 400 401 402 25 405 404 403 26 403 402 401 27 602 502 402 28 604 504 404 29 401 402 403 30 403 404 405 31 206 205 204 32 104 204 304 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 604 504 404 27 306 305 304 28 304 204 104 29 206 205 204 30 401 402 403 31 403 404 405 32 104 204 304 33 505 405 305 34 304 305 306 35 406 306 206 1 105 104 103 2 304 204 104 3 4 104 204 4 306 305 304 5 304 204 104 6 2 3 4 7 4 104 204 8 504 404 304 9 304 204 104 10 206 205 204 11 104 204 304 12 406 405 404 13 304 404 504 14 302 303 304 15 503 403 303 16 304 303 302 17 501 502 503 18 603 503 403 19 505 504 503 20 403 503 603 21 302 402 502 22 602 502 402 23 604 603 602 24 300 301 302 25 302 402 502 26 602 502 402 27 102 202 302 28 200 201 202 29 302 402 502 30 400 401 402 31 502 402 302 32 302 202 102 33 203 103 3 34 101 102 103 35 3 103 203 1 105 104 103 2 304 204 104 3 4 104 204 4 306 305 304 5 304 204 104 6 2 3 4 7 4 104 204 8 504 404 304 9 304 204 104 10 206 205 204 11 104 204 304 12 406 405 404 13 304 404 504 14 302 303 304 15 503 403 303 16 304 303 302 17 501 502 503 18 603 503 403 19 505 504 503 20 403 503 603 21 302 402 502 22 602 502 402 23 604 603 602 24 300 301 302 25 302 402 502 26 203 103 3 27 602 502 402 28 102 202 302 29 302 402 502 30 200 201 202 31 400 401 402 32 502 402 302 33 302 202 102 34 101 102 103 35 3 103 203 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 306 305 304 24 304 204 104 25 206 205 204 26 405 404 403 27 403 402 401 28 602 502 402 29 604 504 404 30 401 402 403 31 403 404 405 32 104 204 304 33 505 405 305 34 304 305 306 35 406 306 206 1 303 203 103 2 201 202 203 3 103 203 303 4 101 102 103 5 3 103 203 6 105 104 103 7 203 103 3 8 304 204 104 9 4 104 204 10 302 303 304 11 2 3 4 12 304 204 104 13 4 104 204 14 300 301 302 15 501 401 301 16 302 301 300 17 403 402 401 18 400 401 402 19 200 300 400 20 603 503 403 21 403 402 401 22 400 401 402 23 405 404 403 24 403 402 401 25 602 502 402 26 604 504 404 27 306 305 304 28 401 402 403 29 304 204 104 30 206 205 204 31 403 404 405 32 104 204 304 33 505 405 305 34 304 305 306 35 406 306 206 peg-solitaire-2.2/games/111111111111111101111111111111111_295.sol0000644000175000017500000000323013101141503021627 0ustar demarchidemarchi1 301 302 303 2 102 202 302 3 402 302 202 4 602 502 402 5 104 103 102 6 102 202 302 7 302 402 502 8 304 204 104 9 504 404 304 10 200 201 202 11 206 205 204 12 204 304 404 13 604 603 602 14 602 502 402 15 306 305 304 16 304 404 504 17 504 503 502 18 502 402 302 19 302 202 102 20 4 104 204 21 204 203 202 22 400 401 402 23 402 403 404 24 405 404 403 25 403 303 203 26 203 202 201 27 2 102 202 28 202 201 200 29 200 300 400 1 301 302 303 2 102 202 302 3 402 302 202 4 602 502 402 5 104 103 102 6 102 202 302 7 302 402 502 8 304 204 104 9 504 404 304 10 200 201 202 11 206 205 204 12 204 304 404 13 604 603 602 14 602 502 402 15 306 305 304 16 304 404 504 17 504 503 502 18 502 402 302 19 302 202 102 20 4 104 204 21 2 102 202 22 400 401 402 23 402 403 404 24 405 404 403 25 203 202 201 26 403 303 203 27 204 203 202 28 202 201 200 29 200 300 400 1 301 302 303 2 102 202 302 3 402 302 202 4 602 502 402 5 104 103 102 6 102 202 302 7 302 402 502 8 304 204 104 9 504 404 304 10 200 201 202 11 206 205 204 12 204 304 404 13 604 603 602 14 602 502 402 15 306 305 304 16 304 404 504 17 4 104 204 18 203 202 201 19 504 503 502 20 502 402 302 21 400 401 402 22 402 403 404 23 405 404 403 24 403 303 203 25 204 203 202 26 302 202 102 27 2 102 202 28 202 201 200 29 200 300 400 1 301 302 303 2 102 202 302 3 402 302 202 4 602 502 402 5 104 103 102 6 102 202 302 7 302 402 502 8 304 204 104 9 504 404 304 10 200 201 202 11 206 205 204 12 204 304 404 13 604 603 602 14 602 502 402 15 306 305 304 16 304 404 504 17 4 104 204 18 203 202 201 19 402 403 404 20 400 401 402 21 405 404 403 22 403 303 203 23 204 203 202 24 504 503 502 25 502 402 302 26 302 202 102 27 2 102 202 28 202 201 200 29 200 300 400 peg-solitaire-2.2/games/111111111111111101111111111111111_300.sol0000644000175000017500000000326013101141510021613 0ustar demarchidemarchi1 301 302 303 2 502 402 302 3 404 403 402 4 303 302 301 5 305 304 303 6 300 301 302 7 302 402 502 8 406 405 404 9 206 306 406 10 204 205 206 11 202 203 204 12 3 103 203 13 203 204 205 14 603 503 403 15 403 404 405 1 301 302 303 2 502 402 302 3 404 403 402 4 303 302 301 5 305 304 303 6 300 301 302 7 302 402 502 8 406 405 404 9 206 306 406 10 204 205 206 11 603 503 403 12 202 203 204 13 3 103 203 14 203 204 205 15 403 404 405 1 301 302 303 2 502 402 302 3 404 403 402 4 303 302 301 5 305 304 303 6 300 301 302 7 302 402 502 8 406 405 404 9 206 306 406 10 204 205 206 11 603 503 403 12 202 203 204 13 3 103 203 14 403 404 405 15 203 204 205 1 301 302 303 2 502 402 302 3 404 403 402 4 303 302 301 5 305 304 303 6 300 301 302 7 302 402 502 8 406 405 404 9 206 306 406 10 204 205 206 11 603 503 403 12 202 203 204 13 403 404 405 14 3 103 203 15 203 204 205 1 301 302 303 2 502 402 302 3 404 403 402 4 603 503 403 5 204 304 404 6 302 402 502 7 400 401 402 8 306 305 304 9 200 300 400 10 202 201 200 11 403 402 401 12 404 304 204 13 204 203 202 14 3 103 203 15 203 202 201 1 301 302 303 2 502 402 302 3 404 403 402 4 603 503 403 5 204 304 404 6 302 402 502 7 400 401 402 8 306 305 304 9 200 300 400 10 403 402 401 11 202 201 200 12 404 304 204 13 204 203 202 14 3 103 203 15 203 202 201 1 301 302 303 2 502 402 302 3 404 403 402 4 603 503 403 5 204 304 404 6 302 402 502 7 400 401 402 8 306 305 304 9 200 300 400 10 202 201 200 11 404 304 204 12 204 203 202 13 3 103 203 14 203 202 201 15 403 402 401 1 301 302 303 2 502 402 302 3 404 403 402 4 603 503 403 5 204 304 404 6 302 402 502 7 400 401 402 8 306 305 304 9 200 300 400 10 404 304 204 11 202 201 200 12 204 203 202 13 3 103 203 14 203 202 201 15 403 402 401 peg-solitaire-2.2/games/111111111111111101111111111111111_301.sol0000644000175000017500000000357613101141510021626 0ustar demarchidemarchi1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 202 302 402 11 400 300 200 12 502 402 302 13 406 405 404 14 404 403 402 15 402 401 400 16 3 103 203 17 206 306 406 18 204 205 206 19 603 503 403 1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 202 302 402 11 400 300 200 12 502 402 302 13 406 405 404 14 404 403 402 15 402 401 400 16 3 103 203 17 206 306 406 18 603 503 403 19 204 205 206 1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 202 302 402 11 400 300 200 12 502 402 302 13 406 405 404 14 404 403 402 15 402 401 400 16 3 103 203 17 603 503 403 18 206 306 406 19 204 205 206 1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 202 302 402 11 400 300 200 12 502 402 302 13 3 103 203 14 406 405 404 15 206 306 406 16 204 205 206 17 404 403 402 18 603 503 403 19 402 401 400 1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 3 103 203 11 406 405 404 12 206 306 406 13 204 205 206 14 400 300 200 15 202 302 402 16 502 402 302 17 404 403 402 18 603 503 403 19 402 401 400 1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 3 103 203 11 406 405 404 12 206 306 406 13 202 302 402 14 204 205 206 15 400 300 200 16 402 401 400 17 404 403 402 18 502 402 302 19 603 503 403 1 301 302 303 2 102 202 302 3 402 302 202 4 104 103 102 5 102 202 302 6 303 203 103 7 305 304 303 8 504 404 304 9 200 201 202 10 202 302 402 11 400 300 200 12 502 402 302 13 3 103 203 14 406 405 404 15 206 306 406 16 204 205 206 17 404 403 402 18 402 401 400 19 603 503 403 peg-solitaire-2.2/games/111111111111111111111101111111111111111111111_36.sol0000644000175000017500000000607213105111661022671 0ustar demarchidemarchi1 204 304 404 2 302 303 304 3 503 403 303 4 203 303 403 5 3 103 203 6 501 502 503 7 503 403 303 8 303 203 103 9 300 301 302 10 302 402 502 11 505 504 503 12 503 502 501 13 703 603 503 14 605 604 603 15 805 705 605 16 507 506 505 17 505 605 705 18 803 804 805 19 805 705 605 20 306 406 506 21 308 307 306 22 305 306 307 23 508 408 308 24 308 307 306 25 500 501 502 26 502 503 504 27 5 4 3 28 3 103 203 29 105 104 103 30 103 203 303 31 303 304 305 32 305 306 307 33 307 407 507 34 507 506 505 35 505 504 503 36 503 603 703 37 703 704 705 38 705 605 505 39 505 405 305 40 205 305 405 41 405 404 403 42 400 401 402 43 402 403 404 1 204 304 404 2 302 303 304 3 503 403 303 4 203 303 403 5 3 103 203 6 501 502 503 7 503 403 303 8 303 203 103 9 300 301 302 10 302 402 502 11 505 504 503 12 503 502 501 13 703 603 503 14 605 604 603 15 805 705 605 16 507 506 505 17 505 605 705 18 803 804 805 19 805 705 605 20 306 406 506 21 308 307 306 22 305 306 307 23 508 408 308 24 308 307 306 25 500 501 502 26 502 503 504 27 5 4 3 28 3 103 203 29 105 104 103 30 103 203 303 31 303 304 305 32 305 306 307 33 307 407 507 34 507 506 505 35 505 504 503 36 503 603 703 37 703 704 705 38 705 605 505 39 505 405 305 40 205 305 405 41 405 404 403 42 400 401 402 43 403 402 401 1 204 304 404 2 302 303 304 3 503 403 303 4 203 303 403 5 3 103 203 6 501 502 503 7 503 403 303 8 303 203 103 9 300 301 302 10 302 402 502 11 505 504 503 12 503 502 501 13 703 603 503 14 605 604 603 15 805 705 605 16 507 506 505 17 505 605 705 18 803 804 805 19 805 705 605 20 306 406 506 21 308 307 306 22 305 306 307 23 508 408 308 24 308 307 306 25 500 501 502 26 502 503 504 27 5 4 3 28 3 103 203 29 105 104 103 30 103 203 303 31 303 304 305 32 305 306 307 33 400 401 402 34 307 407 507 35 507 506 505 36 505 605 705 37 705 704 703 38 703 603 503 39 503 504 505 40 505 405 305 41 205 305 405 42 405 404 403 43 402 403 404 1 204 304 404 2 302 303 304 3 503 403 303 4 203 303 403 5 3 103 203 6 501 502 503 7 503 403 303 8 303 203 103 9 300 301 302 10 302 402 502 11 505 504 503 12 503 502 501 13 703 603 503 14 605 604 603 15 805 705 605 16 507 506 505 17 505 605 705 18 803 804 805 19 805 705 605 20 306 406 506 21 308 307 306 22 305 306 307 23 508 408 308 24 308 307 306 25 500 501 502 26 502 503 504 27 5 4 3 28 3 103 203 29 105 104 103 30 103 203 303 31 400 401 402 32 303 304 305 33 305 306 307 34 307 407 507 35 507 506 505 36 505 605 705 37 705 704 703 38 703 603 503 39 503 504 505 40 505 405 305 41 205 305 405 42 405 404 403 43 402 403 404 1 204 304 404 2 302 303 304 3 503 403 303 4 203 303 403 5 3 103 203 6 501 502 503 7 503 403 303 8 303 203 103 9 300 301 302 10 302 402 502 11 505 504 503 12 503 502 501 13 703 603 503 14 605 604 603 15 805 705 605 16 507 506 505 17 505 605 705 18 803 804 805 19 805 705 605 20 306 406 506 21 308 307 306 22 305 306 307 23 508 408 308 24 308 307 306 25 500 501 502 26 502 503 504 27 5 4 3 28 3 103 203 29 105 104 103 30 103 203 303 31 303 304 305 32 305 306 307 33 307 407 507 34 507 506 505 35 505 605 705 36 705 704 703 37 703 603 503 38 503 504 505 39 505 405 305 40 205 305 405 41 405 404 403 42 400 401 402 43 402 403 404 peg-solitaire-2.2/games/000000001110000101000011100000000_307.sol0000644000175000017500000000455713077704322021626 0ustar demarchidemarchi1 404 405 406 2 202 102 2 3 203 202 201 4 402 401 400 5 400 300 200 6 304 305 306 7 204 205 206 8 205 204 203 9 203 103 3 10 204 104 4 11 403 303 203 12 203 204 205 13 405 404 403 14 404 504 604 15 604 603 602 16 504 404 304 17 404 504 604 18 403 404 405 19 401 402 403 20 402 401 400 21 302 402 502 22 303 302 301 23 403 303 203 24 303 403 503 1 404 405 406 2 204 205 206 3 202 102 2 4 203 202 201 5 205 204 203 6 402 401 400 7 400 300 200 8 304 305 306 9 203 103 3 10 204 104 4 11 403 303 203 12 203 204 205 13 405 404 403 14 404 504 604 15 604 603 602 16 504 404 304 17 404 504 604 18 403 404 405 19 401 402 403 20 402 401 400 21 302 402 502 22 303 302 301 23 403 303 203 24 303 403 503 1 402 401 400 2 404 405 406 3 202 102 2 4 203 202 201 5 400 300 200 6 304 305 306 7 204 205 206 8 205 204 203 9 203 103 3 10 204 104 4 11 403 303 203 12 203 204 205 13 405 404 403 14 404 504 604 15 604 603 602 16 504 404 304 17 404 504 604 18 403 404 405 19 401 402 403 20 402 401 400 21 302 402 502 22 303 302 301 23 403 303 203 24 303 403 503 1 402 401 400 2 404 405 406 3 202 102 2 4 203 202 201 5 400 300 200 6 304 305 306 7 204 205 206 8 205 204 203 9 203 103 3 10 204 104 4 11 403 303 203 12 203 204 205 13 405 404 403 14 404 504 604 15 604 603 602 16 504 404 304 17 404 504 604 18 403 404 405 19 303 403 503 20 403 303 203 21 401 402 403 22 402 401 400 23 302 402 502 24 300 301 302 1 402 401 400 2 404 405 406 3 202 102 2 4 203 202 201 5 400 300 200 6 304 305 306 7 204 205 206 8 205 204 203 9 203 103 3 10 204 104 4 11 403 303 203 12 203 204 205 13 303 403 503 14 403 303 203 15 405 404 403 16 404 504 604 17 604 603 602 18 504 404 304 19 404 504 604 20 403 404 405 21 401 402 403 22 402 401 400 23 302 402 502 24 300 301 302 1 404 405 406 2 204 205 206 3 202 102 2 4 203 202 201 5 205 204 203 6 402 401 400 7 400 300 200 8 304 305 306 9 203 103 3 10 204 104 4 11 403 303 203 12 203 204 205 13 405 404 403 14 404 504 604 15 604 603 602 16 504 404 304 17 404 504 604 18 403 404 405 19 303 403 503 20 403 303 203 21 401 402 403 22 402 401 400 23 302 402 502 24 300 301 302 1 404 405 406 2 202 102 2 3 203 202 201 4 402 401 400 5 400 300 200 6 304 305 306 7 204 205 206 8 205 204 203 9 203 103 3 10 403 503 603 11 103 203 303 12 405 404 403 13 404 504 604 14 403 404 405 15 401 402 403 16 204 104 4 17 402 502 602 18 203 204 205 19 303 203 103 20 302 303 304 21 502 402 302 22 402 401 400 23 302 402 502 24 300 301 302 peg-solitaire-2.2/games/1000000000000000000000000000000000000_96.sol0000644000175000017500000000572013101672042022024 0ustar demarchidemarchi1 2 3 4 2 3 103 203 3 203 202 201 4 103 102 101 5 202 302 402 6 102 103 104 7 104 204 304 8 402 401 400 9 401 402 403 10 403 404 405 11 404 504 604 12 405 404 403 13 201 202 203 14 202 102 2 15 402 502 602 16 204 205 206 17 404 405 406 18 103 104 105 19 403 402 401 20 203 303 403 21 205 204 203 22 405 305 205 23 305 405 505 24 304 305 306 25 504 404 304 26 401 301 201 27 301 401 501 28 203 103 3 29 201 202 203 30 401 301 201 31 502 503 504 32 400 300 200 33 402 401 400 34 602 502 402 35 604 603 602 1 2 3 4 2 3 103 203 3 203 202 201 4 103 102 101 5 202 302 402 6 102 103 104 7 104 204 304 8 402 401 400 9 401 402 403 10 403 404 405 11 404 504 604 12 405 404 403 13 201 202 203 14 202 102 2 15 402 502 602 16 204 205 206 17 404 405 406 18 103 104 105 19 403 402 401 20 203 303 403 21 205 204 203 22 405 305 205 23 305 405 505 24 304 305 306 25 504 404 304 26 401 301 201 27 301 401 501 28 203 103 3 29 201 202 203 30 401 301 201 31 400 300 200 32 402 401 400 33 403 503 603 34 404 403 402 35 304 404 504 1 2 3 4 2 3 103 203 3 203 202 201 4 103 102 101 5 202 302 402 6 102 103 104 7 104 204 304 8 402 401 400 9 401 402 403 10 403 404 405 11 404 504 604 12 405 404 403 13 201 202 203 14 202 102 2 15 402 502 602 16 204 205 206 17 404 405 406 18 103 104 105 19 403 402 401 20 203 303 403 21 205 204 203 22 405 305 205 23 305 405 505 24 304 305 306 25 302 301 300 26 203 103 3 27 204 203 202 28 202 201 200 29 402 302 202 30 403 503 603 31 405 404 403 32 404 304 204 33 403 404 405 34 401 402 403 35 301 401 501 1 2 3 4 2 3 103 203 3 203 202 201 4 103 102 101 5 202 302 402 6 102 103 104 7 104 204 304 8 402 401 400 9 401 402 403 10 403 404 405 11 404 504 604 12 405 404 403 13 201 202 203 14 202 102 2 15 402 502 602 16 204 205 206 17 404 405 406 18 103 104 105 19 403 402 401 20 203 303 403 21 205 204 203 22 405 305 205 23 305 405 505 24 304 305 306 25 302 301 300 26 203 103 3 27 204 203 202 28 202 201 200 29 403 503 603 30 402 302 202 31 405 404 403 32 404 304 204 33 403 404 405 34 401 402 403 35 301 401 501 1 2 3 4 2 3 103 203 3 203 202 201 4 103 102 101 5 202 302 402 6 102 103 104 7 104 204 304 8 402 401 400 9 401 402 403 10 403 404 405 11 404 504 604 12 405 404 403 13 201 202 203 14 202 102 2 15 402 502 602 16 204 205 206 17 404 405 406 18 103 104 105 19 403 402 401 20 203 303 403 21 205 204 203 22 405 305 205 23 305 405 505 24 304 305 306 25 504 404 304 26 401 301 201 27 301 401 501 28 203 103 3 29 201 202 203 30 401 301 201 31 400 300 200 32 402 401 400 33 403 503 603 34 404 403 402 35 604 504 404 1 2 3 4 2 3 103 203 3 203 202 201 4 103 102 101 5 202 302 402 6 102 103 104 7 104 204 304 8 402 401 400 9 401 402 403 10 403 404 405 11 404 504 604 12 405 404 403 13 201 202 203 14 202 102 2 15 402 502 602 16 204 205 206 17 404 405 406 18 103 104 105 19 403 402 401 20 203 303 403 21 205 204 203 22 405 305 205 23 305 405 505 24 304 305 306 25 302 301 300 26 203 103 3 27 204 203 202 28 202 201 200 29 403 503 603 30 405 404 403 31 404 304 204 32 402 302 202 33 403 404 405 34 401 402 403 35 301 401 501 peg-solitaire-2.2/games/1111111111111111110111111111111111111_268.sol0000644000175000017500000000446012753375337022173 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 302 202 102 17 206 205 204 18 203 204 205 19 400 401 402 20 300 301 302 21 200 201 202 22 101 102 103 23 104 103 102 1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 302 202 102 17 206 205 204 18 203 204 205 19 400 401 402 20 300 301 302 21 101 102 103 22 200 201 202 23 104 103 102 1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 302 202 102 17 206 205 204 18 203 204 205 19 400 401 402 20 300 301 302 21 101 102 103 22 104 103 102 23 200 201 202 1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 400 401 402 17 302 202 102 18 300 301 302 19 200 201 202 20 206 205 204 21 101 102 103 22 203 204 205 23 104 103 102 1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 302 202 102 17 206 205 204 18 203 204 205 19 300 301 302 20 200 201 202 21 101 102 103 22 104 103 102 23 400 401 402 1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 302 202 102 17 206 205 204 18 203 204 205 19 300 301 302 20 200 201 202 21 101 102 103 22 400 401 402 23 104 103 102 1 503 403 303 2 405 404 403 3 604 504 404 4 403 404 405 5 406 405 404 6 304 404 504 7 505 504 503 8 603 503 403 9 306 305 304 10 402 403 404 11 304 404 504 12 501 502 503 13 504 503 502 14 104 204 304 15 102 103 104 16 302 202 102 17 206 205 204 18 203 204 205 19 400 401 402 20 200 201 202 21 101 102 103 22 104 103 102 23 300 301 302 peg-solitaire-2.2/games/111111110001111010111100011111111_212.sol0000644000175000017500000000377213100414376021632 0ustar demarchidemarchi1 603 503 403 2 403 303 203 3 604 504 404 4 306 305 304 5 304 404 504 6 406 405 404 7 504 404 304 8 300 301 302 9 400 401 402 10 402 302 202 11 602 502 402 12 102 202 302 13 4 104 204 14 2 3 4 15 304 204 104 16 200 201 202 17 206 205 204 18 203 204 205 19 4 104 204 20 205 204 203 21 203 202 201 22 402 302 202 23 201 202 203 24 103 203 303 1 603 503 403 2 403 303 203 3 604 504 404 4 306 305 304 5 304 404 504 6 406 405 404 7 504 404 304 8 300 301 302 9 400 401 402 10 402 302 202 11 602 502 402 12 102 202 302 13 4 104 204 14 2 3 4 15 304 204 104 16 200 201 202 17 206 205 204 18 203 202 201 19 402 302 202 20 201 202 203 21 203 204 205 22 4 104 204 23 205 204 203 24 103 203 303 1 603 503 403 2 403 303 203 3 604 504 404 4 306 305 304 5 304 404 504 6 406 405 404 7 504 404 304 8 300 301 302 9 602 502 402 10 302 402 502 11 400 401 402 12 502 402 302 13 206 205 204 14 203 204 205 15 200 201 202 16 4 104 204 17 2 3 4 18 304 204 104 19 4 104 204 20 205 204 203 21 103 203 303 22 303 302 301 23 102 202 302 24 301 302 303 1 603 503 403 2 403 303 203 3 604 504 404 4 306 305 304 5 304 404 504 6 406 405 404 7 504 404 304 8 300 301 302 9 400 401 402 10 402 302 202 11 602 502 402 12 102 202 302 13 4 104 204 14 2 3 4 15 304 204 104 16 206 205 204 17 203 204 205 18 4 104 204 19 200 201 202 20 205 204 203 21 203 202 201 22 402 302 202 23 201 202 203 24 103 203 303 1 603 503 403 2 403 303 203 3 604 504 404 4 306 305 304 5 304 404 504 6 406 405 404 7 504 404 304 8 300 301 302 9 400 401 402 10 402 302 202 11 602 502 402 12 102 202 302 13 4 104 204 14 2 3 4 15 200 201 202 16 304 204 104 17 203 202 201 18 206 205 204 19 402 302 202 20 201 202 203 21 203 204 205 22 4 104 204 23 205 204 203 24 203 103 3 1 603 503 403 2 403 303 203 3 604 504 404 4 306 305 304 5 304 404 504 6 406 405 404 7 504 404 304 8 300 301 302 9 400 401 402 10 402 302 202 11 602 502 402 12 102 202 302 13 4 104 204 14 2 3 4 15 304 204 104 16 200 201 202 17 203 202 201 18 206 205 204 19 402 302 202 20 201 202 203 21 203 204 205 22 4 104 204 23 205 204 203 24 203 103 3 peg-solitaire-2.2/games/1111111111111111110111111111111111111_284.sol0000644000175000017500000000163412753401776022166 0ustar demarchidemarchi1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 103 102 101 11 300 301 302 12 501 401 301 13 302 301 300 14 503 502 501 15 505 504 503 16 305 405 505 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 103 102 101 11 300 301 302 12 501 401 301 13 503 502 501 14 505 504 503 15 305 405 505 16 302 301 300 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 103 102 101 11 300 301 302 12 501 401 301 13 503 502 501 14 505 504 503 15 302 301 300 16 305 405 505 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 103 102 101 11 300 301 302 12 501 401 301 13 503 502 501 14 302 301 300 15 505 504 503 16 305 405 505 peg-solitaire-2.2/games/1111111111111111110111111111111111111_254.sol0000644000175000017500000000255212753372617022164 0ustar demarchidemarchi1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 103 102 101 11 300 301 302 12 501 401 301 13 302 301 300 14 503 502 501 15 505 504 503 16 305 405 505 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 300 301 302 11 501 401 301 12 302 301 300 13 503 502 501 14 505 504 503 15 305 405 505 16 103 102 101 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 306 305 304 11 505 405 305 12 304 305 306 13 503 504 505 14 501 502 503 15 301 401 501 16 103 102 101 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 306 305 304 11 505 405 305 12 503 504 505 13 501 502 503 14 301 401 501 15 304 305 306 16 103 102 101 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 300 301 302 11 501 401 301 12 503 502 501 13 302 301 300 14 505 504 503 15 305 405 505 16 103 102 101 1 305 304 303 2 504 404 304 3 402 403 404 4 304 404 504 5 105 205 305 6 103 104 105 7 303 203 103 8 301 302 303 9 101 201 301 10 306 305 304 11 103 102 101 12 505 405 305 13 304 305 306 14 503 504 505 15 501 502 503 16 301 401 501 peg-solitaire-2.2/games/1111111111111111110111111111111111111_263.sol0000644000175000017500000000174612753374111022157 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 604 504 404 4 602 603 604 5 402 502 602 6 404 403 402 7 401 402 403 8 202 302 402 9 402 403 404 10 300 301 302 11 303 302 301 12 103 203 303 13 101 102 103 14 301 201 101 15 3 103 203 16 105 104 103 17 304 204 104 18 103 104 105 19 306 305 304 20 206 205 204 21 203 204 205 22 404 304 204 23 204 205 206 1 503 403 303 2 405 404 403 3 604 504 404 4 602 603 604 5 402 502 602 6 404 403 402 7 401 402 403 8 202 302 402 9 402 403 404 10 300 301 302 11 303 302 301 12 103 203 303 13 101 102 103 14 301 201 101 15 3 103 203 16 303 203 103 17 205 204 203 18 4 104 204 19 304 204 104 20 306 305 304 21 103 203 303 22 404 304 204 23 204 104 4 1 503 403 303 2 405 404 403 3 604 504 404 4 602 603 604 5 402 502 602 6 404 403 402 7 401 402 403 8 202 302 402 9 402 403 404 10 300 301 302 11 303 302 301 12 103 203 303 13 101 102 103 14 301 201 101 15 3 103 203 16 304 404 504 17 306 305 304 18 204 304 404 19 504 404 304 20 303 304 305 21 105 104 103 22 103 203 303 23 305 205 105 peg-solitaire-2.2/games/1111111111111111110111111111111111111_274.sol0000644000175000017500000000317412753376153022166 0ustar demarchidemarchi1 503 403 303 2 505 504 503 3 304 404 504 4 406 405 404 5 504 404 304 6 603 503 403 7 501 502 503 8 403 503 603 9 302 402 502 10 304 303 302 11 104 204 304 12 206 205 204 13 304 204 104 14 306 305 304 15 103 203 303 16 101 102 103 17 302 202 102 18 400 401 402 19 300 301 302 20 200 201 202 21 3 103 203 22 105 104 103 23 203 103 3 1 503 403 303 2 505 504 503 3 304 404 504 4 406 405 404 5 504 404 304 6 603 503 403 7 501 502 503 8 403 503 603 9 302 402 502 10 304 303 302 11 104 204 304 12 206 205 204 13 304 204 104 14 306 305 304 15 103 203 303 16 101 102 103 17 302 202 102 18 400 401 402 19 3 103 203 20 300 301 302 21 200 201 202 22 105 104 103 23 203 103 3 1 503 403 303 2 505 504 503 3 304 404 504 4 406 405 404 5 504 404 304 6 603 503 403 7 501 502 503 8 403 503 603 9 302 402 502 10 304 303 302 11 104 204 304 12 206 205 204 13 304 204 104 14 306 305 304 15 103 203 303 16 101 102 103 17 302 202 102 18 400 401 402 19 300 301 302 20 3 103 203 21 200 201 202 22 105 104 103 23 203 103 3 1 503 403 303 2 505 504 503 3 304 404 504 4 406 405 404 5 504 404 304 6 603 503 403 7 501 502 503 8 403 503 603 9 302 402 502 10 304 303 302 11 104 204 304 12 206 205 204 13 304 204 104 14 306 305 304 15 103 203 303 16 101 102 103 17 302 202 102 18 3 103 203 19 300 301 302 20 200 201 202 21 400 401 402 22 105 104 103 23 203 103 3 1 503 403 303 2 505 504 503 3 304 404 504 4 406 405 404 5 504 404 304 6 603 503 403 7 501 502 503 8 403 503 603 9 302 402 502 10 304 303 302 11 104 204 304 12 206 205 204 13 301 302 303 14 101 201 301 15 300 301 302 16 304 204 104 17 306 305 304 18 203 202 201 19 3 103 203 20 200 201 202 21 400 401 402 22 105 104 103 23 203 103 3 peg-solitaire-2.2/games/1111111111111111110111111111111111111_255.sol0000644000175000017500000000220312753372716022156 0ustar demarchidemarchi1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 303 304 305 6 103 203 303 7 302 303 304 8 304 305 306 9 505 504 503 10 405 404 403 11 502 402 302 12 501 401 301 13 201 202 203 14 101 102 103 15 104 204 304 16 105 205 305 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 303 304 305 6 103 203 303 7 302 303 304 8 304 305 306 9 505 504 503 10 405 404 403 11 502 402 302 12 501 401 301 13 101 102 103 14 105 205 305 15 201 202 203 16 104 204 304 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 303 304 305 6 103 203 303 7 302 303 304 8 304 305 306 9 505 504 503 10 405 404 403 11 502 402 302 12 501 401 301 13 201 202 203 14 101 102 103 15 105 205 305 16 104 204 304 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 303 304 305 6 103 203 303 7 302 303 304 8 304 305 306 9 505 504 503 10 405 404 403 11 502 402 302 12 501 401 301 13 101 102 103 14 105 205 305 15 104 204 304 16 201 202 203 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 303 304 305 6 103 203 303 7 302 303 304 8 304 305 306 9 505 504 503 10 405 404 403 11 502 402 302 12 501 401 301 13 101 102 103 14 104 204 304 15 105 205 305 16 201 202 203 peg-solitaire-2.2/games/101111110101101111101101011111101_169.sol0000644000175000017500000001010213077157270021640 0ustar demarchidemarchi1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 303 403 503 16 304 404 504 17 504 503 502 18 400 401 402 19 502 402 302 20 302 202 102 21 206 205 204 22 102 103 104 23 104 204 304 24 304 305 306 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 303 403 503 16 304 404 504 17 504 503 502 18 400 401 402 19 502 402 302 20 302 202 102 21 206 205 204 22 102 103 104 23 104 204 304 24 305 304 303 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 304 303 302 16 302 202 102 17 206 205 204 18 102 103 104 19 104 204 304 20 400 401 402 21 304 404 504 22 402 403 404 23 504 404 304 24 304 305 306 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 303 403 503 16 304 404 504 17 400 401 402 18 504 503 502 19 502 402 302 20 302 202 102 21 206 205 204 22 102 103 104 23 104 204 304 24 304 305 306 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 304 303 302 16 302 202 102 17 206 205 204 18 102 103 104 19 400 401 402 20 104 204 304 21 304 404 504 22 402 403 404 23 504 404 304 24 304 305 306 1 200 201 202 2 203 202 201 3 400 401 402 4 402 302 202 5 602 502 402 6 4 104 204 7 204 304 404 8 504 503 502 9 502 402 302 10 302 303 304 11 304 404 504 12 604 504 404 13 404 403 402 14 406 405 404 15 206 205 204 16 201 301 401 17 401 402 403 18 403 404 405 19 405 305 205 20 205 204 203 21 203 202 201 22 2 102 202 23 201 202 203 24 103 203 303 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 304 303 302 16 400 401 402 17 302 402 502 18 404 403 402 19 502 402 302 20 302 202 102 21 206 205 204 22 102 103 104 23 104 204 304 24 304 305 306 1 200 201 202 2 203 202 201 3 400 401 402 4 402 302 202 5 602 502 402 6 4 104 204 7 204 304 404 8 504 503 502 9 502 402 302 10 302 303 304 11 304 404 504 12 604 504 404 13 404 403 402 14 406 405 404 15 201 202 203 16 2 102 202 17 203 202 201 18 201 301 401 19 401 402 403 20 403 404 405 21 206 205 204 22 405 305 205 23 205 204 203 24 203 103 3 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 302 202 102 15 304 404 504 16 206 205 204 17 102 103 104 18 104 204 304 19 305 304 303 20 303 403 503 21 504 503 502 22 400 401 402 23 502 402 302 24 301 302 303 1 2 102 202 2 4 104 204 3 302 202 102 4 304 303 302 5 302 301 300 6 200 201 202 7 103 203 303 8 406 405 404 9 403 404 405 10 205 204 203 11 203 202 201 12 602 502 402 13 604 504 404 14 400 300 200 15 200 201 202 16 405 305 205 17 401 402 403 18 102 202 302 19 403 404 405 20 206 205 204 21 302 303 304 22 204 304 404 23 405 404 403 24 503 403 303 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 206 205 204 12 204 304 404 13 403 404 405 14 502 402 302 15 400 401 402 16 604 504 404 17 405 404 403 18 200 201 202 19 403 402 401 20 401 301 201 21 201 202 203 22 103 203 303 23 302 303 304 24 305 304 303 1 2 102 202 2 4 104 204 3 406 405 404 4 304 204 104 5 602 502 402 6 504 503 502 7 302 303 304 8 202 203 204 9 304 404 504 10 104 204 304 11 604 504 404 12 200 201 202 13 502 402 302 14 301 302 303 15 206 205 204 16 400 401 402 17 304 204 104 18 104 103 102 19 102 202 302 20 303 403 503 21 302 402 502 22 502 503 504 23 504 404 304 24 305 304 303 peg-solitaire-2.2/games/11111111111111111111111111011111111111111111111111111_171.sol0000644000175000017500000003170613104125664023572 0ustar demarchidemarchi1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 5 105 205 41 206 205 204 42 300 301 302 43 303 203 103 44 3 103 203 45 204 203 202 46 401 402 403 47 202 302 402 48 502 402 302 49 404 403 402 50 402 302 202 51 102 202 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 202 302 402 35 203 204 205 36 3 103 203 37 206 205 204 38 204 203 202 39 300 301 302 40 303 302 301 41 401 402 403 42 404 403 402 43 502 402 302 44 201 202 203 45 301 302 303 46 303 203 103 47 4 104 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 202 302 402 35 203 204 205 36 3 103 203 37 206 205 204 38 204 203 202 39 300 301 302 40 401 402 403 41 201 202 203 42 404 403 402 43 303 302 301 44 502 402 302 45 301 302 303 46 303 203 103 47 4 104 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 202 302 402 35 203 204 205 36 3 103 203 37 206 205 204 38 204 203 202 39 502 402 302 40 202 302 402 41 300 301 302 42 401 402 403 43 404 403 402 44 402 302 202 45 201 202 203 46 303 203 103 47 4 104 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 202 302 402 35 203 204 205 36 3 103 203 37 206 205 204 38 204 203 202 39 300 301 302 40 303 302 301 41 401 402 403 42 404 403 402 43 502 402 302 44 301 302 303 45 201 202 203 46 303 203 103 47 4 104 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 5 105 205 41 206 205 204 42 300 301 302 43 303 203 103 44 3 103 203 45 401 402 403 46 404 403 402 47 402 302 202 48 102 202 302 49 204 203 202 50 202 302 402 51 502 402 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 202 302 402 35 203 204 205 36 3 103 203 37 206 205 204 38 300 301 302 39 204 203 202 40 201 202 203 41 303 302 301 42 401 402 403 43 404 403 402 44 502 402 302 45 301 302 303 46 303 203 103 47 4 104 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 5 105 205 41 206 205 204 42 502 402 302 43 303 203 103 44 3 103 203 45 204 203 202 46 202 302 402 47 300 301 302 48 401 402 403 49 404 403 402 50 402 302 202 51 102 202 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 202 302 402 35 203 204 205 36 3 103 203 37 206 205 204 38 204 203 202 39 201 202 203 40 300 301 302 41 303 302 301 42 401 402 403 43 404 403 402 44 502 402 302 45 301 302 303 46 303 203 103 47 4 104 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 5 105 205 41 206 205 204 42 300 301 302 43 303 203 103 44 3 103 203 45 401 402 403 46 204 203 202 47 202 302 402 48 502 402 302 49 404 403 402 50 402 302 202 51 102 202 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 5 105 205 41 206 205 204 42 300 301 302 43 303 203 103 44 401 402 403 45 404 403 402 46 402 302 202 47 3 103 203 48 102 202 302 49 204 203 202 50 202 302 402 51 502 402 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 203 204 205 35 201 202 203 36 4 104 204 37 204 203 202 38 202 302 402 39 3 103 203 40 206 205 204 41 300 301 302 42 303 302 301 43 401 402 403 44 404 403 402 45 502 402 302 46 301 302 303 47 303 203 103 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 203 204 205 35 201 202 203 36 4 104 204 37 204 203 202 38 202 302 402 39 3 103 203 40 300 301 302 41 303 302 301 42 401 402 403 43 404 403 402 44 502 402 302 45 301 302 303 46 303 203 103 47 206 205 204 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 5 105 205 41 206 205 204 42 303 203 103 43 3 103 203 44 204 203 202 45 300 301 302 46 401 402 403 47 202 302 402 48 502 402 302 49 404 403 402 50 402 302 202 51 102 202 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 5 105 205 38 201 202 203 39 206 205 204 40 300 301 302 41 303 302 301 42 401 402 403 43 404 403 402 44 502 402 302 45 301 302 303 46 303 203 103 47 3 4 5 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 402 403 404 34 203 204 205 35 201 202 203 36 4 104 204 37 204 203 202 38 202 302 402 39 3 103 203 40 300 301 302 41 303 302 301 42 401 402 403 43 404 403 402 44 502 402 302 45 301 302 303 46 303 203 103 47 102 103 104 48 206 205 204 49 204 104 4 50 4 5 6 51 7 6 5 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 201 202 203 38 4 5 6 39 7 6 5 40 401 402 403 41 5 105 205 42 206 205 204 43 300 301 302 44 303 302 301 45 404 403 402 46 502 402 302 47 301 302 303 48 303 203 103 49 3 103 203 50 204 203 202 51 102 202 302 1 505 405 305 2 407 406 405 3 606 506 406 4 607 507 407 5 307 407 507 6 508 507 506 7 406 506 606 8 503 504 505 9 304 404 504 10 504 505 506 11 606 506 406 12 305 405 505 13 605 505 405 14 603 604 605 15 105 205 305 16 305 405 505 17 605 505 405 18 405 406 407 19 107 207 307 20 307 407 507 21 409 408 407 22 209 208 207 23 507 407 307 24 206 207 208 25 208 308 408 26 310 309 308 27 408 308 208 28 108 208 308 29 6 106 206 30 206 306 406 31 308 307 306 32 406 306 206 33 103 104 105 34 402 403 404 35 202 302 402 36 204 203 202 37 5 105 205 38 201 202 203 39 206 205 204 40 300 301 302 41 401 402 403 42 3 4 5 43 303 302 301 44 404 403 402 45 502 402 302 46 301 302 303 47 303 203 103 48 102 103 104 49 204 104 4 50 4 5 6 51 7 6 5 peg-solitaire-2.2/games/1111111111111111110111111111111111111_264.sol0000644000175000017500000000724712753374202022163 0ustar demarchidemarchi1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 302 402 502 16 300 301 302 17 206 205 204 18 204 304 404 19 306 305 304 20 404 304 204 21 406 405 404 22 504 404 304 23 502 503 504 24 505 504 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 302 402 502 16 300 301 302 17 206 205 204 18 503 502 501 19 505 504 503 20 406 405 404 21 304 404 504 22 306 305 304 23 504 503 502 24 501 502 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 206 205 204 16 302 402 502 17 300 301 302 18 503 502 501 19 505 504 503 20 406 405 404 21 304 404 504 22 306 305 304 23 504 503 502 24 501 502 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 206 205 204 16 302 402 502 17 300 301 302 18 406 306 206 19 304 305 306 20 206 306 406 21 406 405 404 22 504 404 304 23 502 503 504 24 505 504 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 302 402 502 16 300 301 302 17 206 205 204 18 406 306 206 19 304 305 306 20 206 306 406 21 406 405 404 22 504 404 304 23 502 503 504 24 505 504 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 302 402 502 16 300 301 302 17 206 205 204 18 406 405 404 19 503 502 501 20 505 504 503 21 304 404 504 22 306 305 304 23 504 503 502 24 501 502 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 206 205 204 16 406 306 206 17 304 305 306 18 206 306 406 19 406 405 404 20 504 404 304 21 302 402 502 22 300 301 302 23 502 503 504 24 505 504 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 206 205 204 16 406 306 206 17 302 402 502 18 405 305 205 19 300 301 302 20 204 304 404 21 206 205 204 22 504 404 304 23 502 503 504 24 505 504 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 302 402 502 16 300 301 302 17 206 205 204 18 503 502 501 19 505 504 503 20 406 405 404 21 304 404 504 22 504 503 502 23 501 502 503 24 306 305 304 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 206 205 204 16 302 402 502 17 300 301 302 18 406 405 404 19 503 502 501 20 505 504 503 21 304 404 504 22 504 503 502 23 306 305 304 24 501 502 503 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 504 404 304 9 502 503 504 10 302 402 502 11 102 202 302 12 200 201 202 13 501 502 503 14 400 401 402 15 302 402 502 16 406 405 404 17 300 301 302 18 206 205 204 19 503 502 501 20 505 504 503 21 304 404 504 22 504 503 502 23 306 305 304 24 501 502 503 ././@LongLink0000644000000000000000000000016100000000000011601 Lustar rootrootpeg-solitaire-2.2/games/111111111111111111111111111111111111111101111111111111111111111111111111111111111_78.solpeg-solitaire-2.2/games/11111111111111111111111111111111111111110111111111111111111111111111111111110000644000175000017500000002172413104357102024546 0ustar demarchidemarchi1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 0 1 2 61 2 102 202 62 100 101 102 63 102 202 302 64 200 201 202 65 202 302 402 66 300 301 302 67 302 402 502 68 404 304 204 69 405 305 205 70 205 204 203 71 203 303 403 72 403 503 603 73 505 504 503 74 400 401 402 75 402 502 602 76 603 503 403 77 500 501 502 78 602 502 402 79 402 403 404 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 0 1 2 61 2 102 202 62 100 101 102 63 102 202 302 64 200 201 202 65 202 302 402 66 300 301 302 67 302 402 502 68 404 304 204 69 405 305 205 70 205 204 203 71 203 303 403 72 403 503 603 73 505 504 503 74 400 401 402 75 402 502 602 76 603 503 403 77 500 501 502 78 602 502 402 79 403 402 401 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 400 401 402 61 0 1 2 62 2 102 202 63 404 304 204 64 405 305 205 65 300 301 302 66 302 202 102 67 200 100 0 68 201 101 1 69 0 1 2 70 2 102 202 71 205 204 203 72 203 303 403 73 403 503 603 74 500 501 502 75 502 402 302 76 202 302 402 77 505 504 503 78 603 503 403 79 402 403 404 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 400 401 402 61 0 1 2 62 2 102 202 63 404 304 204 64 405 305 205 65 300 301 302 66 302 202 102 67 200 100 0 68 201 101 1 69 0 1 2 70 2 102 202 71 205 204 203 72 203 303 403 73 403 503 603 74 505 504 503 75 603 503 403 76 500 501 502 77 502 402 302 78 202 302 402 79 402 403 404 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 400 401 402 61 0 1 2 62 2 102 202 63 404 304 204 64 405 305 205 65 300 301 302 66 302 202 102 67 200 100 0 68 201 101 1 69 0 1 2 70 2 102 202 71 205 204 203 72 203 303 403 73 500 501 502 74 403 503 603 75 502 402 302 76 202 302 402 77 505 504 503 78 603 503 403 79 402 403 404 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 400 401 402 61 0 1 2 62 2 102 202 63 404 304 204 64 405 305 205 65 300 301 302 66 302 202 102 67 200 100 0 68 201 101 1 69 205 204 203 70 0 1 2 71 2 102 202 72 203 303 403 73 403 503 603 74 500 501 502 75 502 402 302 76 202 302 402 77 505 504 503 78 603 503 403 79 402 403 404 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 400 401 402 61 0 1 2 62 2 102 202 63 404 304 204 64 405 305 205 65 100 101 102 66 102 202 302 67 200 201 202 68 205 204 203 69 202 203 204 70 302 303 304 71 204 304 404 72 300 301 302 73 302 402 502 74 404 504 604 75 502 503 504 76 500 501 502 77 505 504 503 78 502 503 504 79 504 604 704 1 402 403 404 2 202 302 402 3 204 203 202 4 206 205 204 5 406 306 206 6 606 506 406 7 604 605 606 8 602 603 604 9 600 601 602 10 607 606 605 11 605 604 603 12 603 602 601 13 800 700 600 14 600 601 602 15 801 701 601 16 601 602 603 17 802 702 602 18 602 603 604 19 803 703 603 20 603 604 605 21 804 704 604 22 604 605 606 23 805 705 605 24 605 606 607 25 806 706 606 26 106 206 306 27 306 406 506 28 506 606 706 29 808 807 806 30 806 706 606 31 708 707 706 32 706 606 506 33 608 607 606 34 606 506 406 35 508 507 506 36 506 406 306 37 408 407 406 38 406 306 206 39 308 307 306 40 306 206 106 41 208 207 206 42 201 202 203 43 203 204 205 44 205 206 207 45 8 108 208 46 208 207 206 47 7 107 207 48 207 206 205 49 6 106 206 50 206 205 204 51 5 105 205 52 205 204 203 53 4 104 204 54 204 203 202 55 3 103 203 56 203 202 201 57 2 102 202 58 502 402 302 59 302 202 102 60 400 401 402 61 0 1 2 62 2 102 202 63 404 304 204 64 405 305 205 65 300 301 302 66 302 202 102 67 200 100 0 68 201 101 1 69 0 1 2 70 2 102 202 71 205 204 203 72 203 303 403 73 403 503 603 74 500 501 502 75 505 504 503 76 603 503 403 77 502 402 302 78 202 302 402 79 403 402 401 peg-solitaire-2.2/games/111111111111111101111111111111111_294.sol0000644000175000017500000000404013101141501021624 0ustar demarchidemarchi1 103 203 303 2 201 202 203 3 204 203 202 4 206 205 204 5 401 301 201 6 201 202 203 7 203 204 205 8 403 402 401 9 400 401 402 10 405 404 403 11 403 402 401 12 406 306 206 13 206 205 204 14 204 304 404 15 602 502 402 16 402 302 202 17 4 104 204 18 102 202 302 19 302 303 304 20 304 204 104 21 2 3 4 22 4 104 204 23 603 503 403 24 403 404 405 25 405 305 205 26 205 204 203 27 604 504 404 28 200 300 400 29 400 401 402 1 103 203 303 2 201 202 203 3 204 203 202 4 206 205 204 5 401 301 201 6 201 202 203 7 203 204 205 8 403 402 401 9 400 401 402 10 405 404 403 11 403 402 401 12 406 306 206 13 206 205 204 14 204 304 404 15 602 502 402 16 402 302 202 17 4 104 204 18 102 202 302 19 302 303 304 20 304 204 104 21 2 3 4 22 4 104 204 23 603 503 403 24 403 404 405 25 405 305 205 26 205 204 203 27 200 300 400 28 400 401 402 29 604 504 404 1 103 203 303 2 201 202 203 3 204 203 202 4 206 205 204 5 401 301 201 6 201 202 203 7 203 204 205 8 403 402 401 9 400 401 402 10 405 404 403 11 403 402 401 12 406 306 206 13 206 205 204 14 204 304 404 15 602 502 402 16 402 302 202 17 4 104 204 18 102 202 302 19 302 303 304 20 304 204 104 21 603 503 403 22 2 3 4 23 4 104 204 24 200 300 400 25 400 401 402 26 403 404 405 27 604 504 404 28 405 305 205 29 205 204 203 1 103 203 303 2 201 202 203 3 204 203 202 4 206 205 204 5 401 301 201 6 201 202 203 7 203 204 205 8 403 402 401 9 400 401 402 10 405 404 403 11 403 402 401 12 406 306 206 13 206 205 204 14 204 304 404 15 602 502 402 16 402 302 202 17 4 104 204 18 102 202 302 19 302 303 304 20 304 204 104 21 603 503 403 22 2 3 4 23 200 300 400 24 4 104 204 25 403 404 405 26 400 401 402 27 405 305 205 28 205 204 203 29 604 504 404 1 103 203 303 2 201 202 203 3 204 203 202 4 206 205 204 5 401 301 201 6 201 202 203 7 203 204 205 8 403 402 401 9 400 401 402 10 405 404 403 11 403 402 401 12 406 306 206 13 206 205 204 14 204 304 404 15 602 502 402 16 402 302 202 17 4 104 204 18 102 202 302 19 302 303 304 20 304 204 104 21 2 3 4 22 4 104 204 23 200 300 400 24 400 401 402 25 603 503 403 26 403 404 405 27 405 305 205 28 205 204 203 29 604 504 404 peg-solitaire-2.2/games/111111001110000101000011100111111_25.sol0000644000175000017500000001375213077426376021566 0ustar demarchidemarchi1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 202 302 402 13 604 504 404 14 405 404 403 15 503 403 303 16 304 303 302 17 402 302 202 18 201 202 203 19 103 203 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 103 203 303 14 604 504 404 15 405 404 403 16 303 304 305 17 503 403 303 18 302 303 304 19 304 305 306 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 604 504 404 14 405 404 403 15 503 403 303 16 303 302 301 17 103 203 303 18 304 303 302 19 301 302 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 503 403 303 14 2 102 202 15 201 202 203 16 303 302 301 17 103 203 303 18 304 303 302 19 302 301 300 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 503 403 303 14 303 302 301 15 2 102 202 16 201 202 203 17 103 203 303 18 304 303 302 19 301 302 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 503 403 303 14 303 302 301 15 2 102 202 16 201 202 203 17 103 203 303 18 304 303 302 19 302 301 300 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 604 504 404 11 404 304 204 12 502 402 302 13 2 102 202 14 201 202 203 15 103 203 303 16 302 303 304 17 204 304 404 18 405 404 403 19 503 403 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 2 102 202 11 502 402 302 12 201 202 203 13 103 203 303 14 604 504 404 15 303 302 301 16 405 404 403 17 503 403 303 18 304 303 302 19 301 302 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 604 504 404 14 405 404 403 15 503 403 303 16 303 302 301 17 103 203 303 18 304 303 302 19 302 301 300 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 604 504 404 11 405 404 403 12 2 102 202 13 201 202 203 14 503 403 303 15 502 402 302 16 303 304 305 17 103 203 303 18 302 303 304 19 305 304 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 2 102 202 13 201 202 203 14 103 203 303 15 502 402 302 16 303 304 305 17 503 403 303 18 302 303 304 19 304 305 306 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 103 203 303 14 604 504 404 15 404 304 204 16 302 303 304 17 204 304 404 18 405 404 403 19 503 403 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 503 403 303 14 2 102 202 15 201 202 203 16 303 302 301 17 103 203 303 18 304 303 302 19 301 302 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 103 203 303 14 303 302 301 15 604 504 404 16 405 404 403 17 503 403 303 18 304 303 302 19 302 301 300 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 604 504 404 14 405 404 403 15 103 203 303 16 303 304 305 17 503 403 303 18 302 303 304 19 305 304 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 2 102 202 14 503 403 303 15 201 202 203 16 303 302 301 17 103 203 303 18 304 303 302 19 302 301 300 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 2 102 202 14 503 403 303 15 201 202 203 16 303 304 305 17 103 203 303 18 302 303 304 19 305 304 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 2 102 202 14 503 403 303 15 201 202 203 16 303 302 301 17 103 203 303 18 304 303 302 19 301 302 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 604 504 404 10 405 404 403 11 302 202 102 12 502 402 302 13 503 403 303 14 2 102 202 15 303 304 305 16 201 202 203 17 103 203 303 18 302 303 304 19 304 305 306 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 604 504 404 9 405 404 403 10 302 202 102 11 4 3 2 12 503 403 303 13 502 402 302 14 303 304 305 15 2 102 202 16 201 202 203 17 103 203 303 18 302 303 304 19 305 304 303 1 403 404 405 2 203 202 201 3 604 504 404 4 304 404 504 5 2 102 202 6 104 204 304 7 602 603 604 8 4 3 2 9 302 202 102 10 502 402 302 11 2 102 202 12 201 202 203 13 103 203 303 14 303 304 305 15 604 504 404 16 405 404 403 17 503 403 303 18 302 303 304 19 304 305 306 1 203 202 201 2 2 102 202 3 201 202 203 4 403 402 401 5 204 203 202 6 602 502 402 7 3 103 203 8 202 203 204 9 604 603 602 10 302 402 502 11 602 502 402 12 401 402 403 13 403 404 405 14 204 304 404 15 504 404 304 16 4 104 204 17 204 304 404 18 405 404 403 19 403 503 603 1 403 404 405 2 203 204 205 3 4 104 204 4 604 504 404 5 102 103 104 6 304 404 504 7 205 204 203 8 602 603 604 9 302 202 102 10 502 402 302 11 604 504 404 12 405 404 403 13 503 403 303 14 303 302 301 15 2 3 4 16 4 104 204 17 204 203 202 18 102 202 302 19 302 301 300 peg-solitaire-2.2/games/1111111111111111110111111111111111111_259.sol0000644000175000017500000000274612753373507022175 0ustar demarchidemarchi1 301 302 303 2 502 402 302 3 504 503 502 4 202 302 402 5 502 402 302 6 204 203 202 7 4 104 204 8 205 204 203 9 405 305 205 10 403 404 405 11 102 103 104 12 202 203 204 13 204 104 4 14 400 401 402 15 200 300 400 16 402 302 202 17 202 201 200 18 406 405 404 19 206 306 406 20 404 304 204 21 204 205 206 1 301 302 303 2 502 402 302 3 504 503 502 4 202 302 402 5 502 402 302 6 204 203 202 7 4 104 204 8 205 204 203 9 405 305 205 10 403 404 405 11 102 103 104 12 202 203 204 13 204 104 4 14 400 401 402 15 200 300 400 16 402 302 202 17 202 201 200 18 406 405 404 19 404 304 204 20 206 306 406 21 204 205 206 1 301 302 303 2 502 402 302 3 504 503 502 4 202 302 402 5 502 402 302 6 204 203 202 7 4 104 204 8 205 204 203 9 405 305 205 10 403 404 405 11 102 103 104 12 202 203 204 13 204 104 4 14 400 401 402 15 206 205 204 16 200 300 400 17 204 304 404 18 402 302 202 19 202 201 200 20 406 306 206 21 404 405 406 1 301 302 303 2 502 402 302 3 504 503 502 4 202 302 402 5 502 402 302 6 204 203 202 7 4 104 204 8 205 204 203 9 405 305 205 10 403 404 405 11 102 103 104 12 202 203 204 13 204 104 4 14 400 401 402 15 206 205 204 16 200 300 400 17 402 302 202 18 202 201 200 19 204 304 404 20 406 306 206 21 404 405 406 1 301 302 303 2 502 402 302 3 504 503 502 4 202 302 402 5 502 402 302 6 204 203 202 7 4 104 204 8 205 204 203 9 405 305 205 10 403 404 405 11 102 103 104 12 202 203 204 13 204 104 4 14 400 401 402 15 200 300 400 16 402 302 202 17 206 205 204 18 202 201 200 19 204 304 404 20 406 306 206 21 404 405 406 peg-solitaire-2.2/games/1111111111111111110111111111111111111_265.sol0000644000175000017500000000074012753374267022166 0ustar demarchidemarchi1 103 203 303 2 201 202 203 3 2 102 202 4 203 202 201 5 200 201 202 6 302 202 102 7 101 102 103 8 304 303 302 9 205 204 203 10 4 104 204 11 203 204 205 12 206 205 204 13 306 305 304 14 304 204 104 15 3 103 203 16 105 104 103 17 504 404 304 18 502 503 504 19 302 402 502 20 300 301 302 21 505 504 503 22 503 403 303 23 406 405 404 24 304 404 504 25 501 502 503 26 400 401 402 27 302 402 502 28 203 303 403 29 602 502 402 30 403 402 401 31 603 503 403 32 604 504 404 33 403 404 405 peg-solitaire-2.2/games/data.sol0000644000175000017500000015773713107066413017004 0ustar demarchidemarchi#Estructura de les dades #Primera linia # -Codi del joc # -Tipus de moviment 1.directe 2.invers 3. Diagonal # -Número de fitxes aïllades i .... #Segona linia # -Número de files i columnes de les fitxes en el joc # -En el cas de les modalitats triangulars # només es posen el número de files i 0 a columnes #Tercera linia # Codi per a cada "posició" de fitxa en el joc #4t linia # Codi per la traducció del nom ##Els jocs identics però amb un marcat amb el final ##cal que estiguin consecutius en el fitxer de dades #### Solitari clàssic 1 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 13 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari: simetria - 1 2 1 10 10 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 2 #### Solitari: problema casa 3 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari: problema casa * 305 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari: creu petita 4 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 4 ### Solitari: creu gran 5 1 10 30 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 5 ### Solitari: creu gran * 310 1 10 30 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 0 1 0 0 0 0 1 1 11 1 1 0 0 0 0 1 0 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 5 ### Solitari invers 6 2 10 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari superior 7 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 7 ### Solitari superior * 313 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 1 10 1 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 7 ### Solitari inferior 8 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 8 ### Solitari fletxa-1 9 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 ### Solitari piràmide 15 10 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 10 ### Solitari classic diamant 11 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 11 #### Solitari problema 1 12 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 ### Solitari: rombe 14 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 12 ### Solitari 3x5 15 1 10 10 3 5 -1 -1 1 -1 -1 1 1 1 1 1 -1 -1 0 -1 -1 13 ### Solitari triangular 16 3 1 0 4 7 -1 -1 -1 0 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 14 ### Solitari triangular * 325 3 1 0 4 7 -1 -1 -1 10 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 14 #### Solitari europeu-1 17 1 1 0 7 7 -1 -1 0 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu * 267 1 1 0 7 7 -1 -1 0 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 11 -1 -1 15 #### Solitari asimètric 8x8 18 1 1 0 8 8 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 16 #### Solitari clàssic moviment en diagonal 19 3 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic-problema 3 20 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari clàssic-problema 4 21 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari asimètric 8x8-superior 22 1 1 0 8 8 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 18 #### Solitari asimètric 8x8-superior * 308 1 1 0 8 8 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 0 1 1 1 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 18 #### Solitari asimètric 8x8 -problema 1 23 1 1 0 8 8 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 19 #### Solitari asimètric 8x8-problema 2 24 1 1 0 8 8 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 19 #### Solitari clàssic-central 25 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 20 #### Solitari europeu diagonal -2 26 3 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 0 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari quadrat 5x5 1000 27 1 1 0 5 5 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 22 #### Solitari quadrat 5x5-1 28 1 1 0 5 5 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 22 #### Solitari clàssic-quadrat central 29 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 23 #### Solitari clàssic-rectangle central 30 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 24 #### Solitari europeu-3 31 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari clàssic-arbre 32 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 25 #### Solitari clàssic-problema 5 33 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari quadrat 5x5 -central 34 1 1 0 5 5 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 26 #### Solitari quadrat 5x5 -H 35 1 1 0 5 5 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 27 #### Solitari Wiegleb 36 1 1 0 9 9 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 28 #### Solitari diamant diagonal 9x9 -1 37 3 3 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 0 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 29 #### Solitari diamant diagonal 9x9 * 319 3 3 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 10 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 29 #### Solitari europeu-creu 38 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 0 0 1 0 0 -1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 -1 0 0 1 0 0 -1 -1 -1 0 0 0 -1 -1 30 #### Solitari europeu-creu * 318 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 0 0 1 0 0 -1 0 0 0 1 0 0 0 0 1 1 11 1 1 0 0 0 0 1 0 0 0 -1 0 0 1 0 0 -1 -1 -1 0 0 0 -1 -1 30 #### Solitari Wiegleb-classic 39 1 1 0 9 9 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 31 #### Solitari clàssic - 6 40 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic - 6 * 311 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 11 0 -1 -1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-S 41 1 3 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 1 -1 -1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 -1 -1 1 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 7 42 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari europeu-diagonal 43 3 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari quadrat 6x6 44 1 1 0 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 33 #### Diamant 5x5 45 3 1 0 5 5 -1 -1 1 -1 -1 -1 1 1 1 -1 1 1 0 1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 34 #### Diamant 5x5 * 314 3 1 0 5 5 -1 -1 1 -1 -1 -1 1 1 1 -1 1 1 10 1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 34 ### Diamant 7x7 46 3 1 0 7 7 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 0 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 35 ### Diamant 7x7 * 315 3 1 0 7 7 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 10 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 35 #### Solitari angles antic 47 3 0 0 9 9 -1 0 1 1 1 1 1 0 -1 -1 -1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 36 #### Solitari angles antic * 281 3 3 0 9 9 -1 0 1 1 1 1 1 0 -1 -1 -1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 36 ### Solitari incomplet 6x6 48 1 1 0 6 6 -1 1 -1 -1 1 -1 1 1 1 1 1 0 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 1 1 1 1 -1 1 -1 -1 1 -1 37 #### Solitari incomplet 7x7 49 1 1 0 7 7 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 1 -1 1 -1 1 -1 1 1 1 0 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 38 #### Solitari incomplet 7x7 316 1 1 0 7 7 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 1 -1 1 -1 1 -1 1 1 1 10 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 38 #### Solitari Wiegleb-reduit 50 1 1 0 9 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 39 #### Solitari 8x9 mushroom board 51 1 1 0 8 9 -1 -1 -1 1 0 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 40 ####Solitari 5x6 52 1 1 0 5 6 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 0 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 41 #### Solitari Wiegleb fletxa 53 1 1 0 9 9 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 1 0 1 -1 -1 -1 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 42 #### Solitari clàssic-problema 8 54 1 10 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-E 55 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 43 #### Solitari clàssic- fletxa 2 56 1 5 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 ### Solitari piràmide 9 57 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 10 ### Solitari problema 9 58 1 1 0 7 7 -1 -1 0 0 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 1 -1 -1 1 ### Solitari problema 10 59 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari clàssic-R 60 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 -1 -1 1 0 1 -1 -1 -1 -1 0 0 0 -1 -1 44 #### Solitari clàssic-T 61 1 10 20 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 45 #### Solitari diamant diagonal 9x9 -2 62 3 1 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 0 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 29 ####Solitari 5x6-1 63 1 1 0 5 6 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 0 1 1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 46 #### Solitari quadrat 6x6-1 64 1 1 0 6 6 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 47 #### Solitari quadrat petit 5x5-2 65 1 1 0 5 5 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 22 #### Solitari quadrat petit 5x5-quadrats 66 1 1 0 5 5 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 1 48 ### Solitari triangular 4x7-1 67 3 1 0 4 7 -1 -1 -1 1 -1 -1 -1 -1 -1 1 0 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 49 ### Solitari triangular 4x7-2 68 3 1 0 4 7 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 0 1 1 -1 1 1 1 1 1 1 1 49 ### Solitari triangular 4x7-3 69 3 1 0 4 7 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 49 ### Solitari triangular 4x7-4 70 3 1 0 4 7 -1 -1 -1 0 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 49 ### Solitari triangular 4x7- pont 71 3 1 0 4 7 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 0 0 0 0 0 1 49 ### Solitari triangular 4x7- quadrat 72 3 1 0 4 7 -1 -1 -1 0 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 1 1 1 0 -1 0 0 1 1 1 0 0 50 ### Solitari triangular 4x7- piràmide 73 3 1 0 4 7 -1 -1 -1 0 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 1 1 1 0 51 #### Solitari Wiegleb-1 74 1 1 1 9 9 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 0 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 28 #### Solitari quadrat 5x5 piràmide 75 1 1 10 5 5 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 52 #### Solitari 7x5 76 1 1 0 7 5 -1 1 1 1 -1 -1 1 1 1 -1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1 -1 53 #### Solitari 7x5 * 317 1 1 0 7 5 -1 1 1 1 -1 -1 1 1 1 -1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1 -1 53 #### Solitari asimètric 6x6 77 1 1 0 6 6 -1 1 1 1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 54 #### Solitari quadrat 9x9 78 1 1 0 9 9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 55 #### Solitari angles antic - diamant 79 1 1 0 9 9 -1 0 0 0 0 0 0 0 -1 -1 -1 0 0 1 0 0 -1 -1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 -1 -1 0 0 1 0 0 -1 -1 -1 -1 0 0 0 0 0 -1 -1 56 #### Solitari triangular 5 80 3 1 4 6 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 57 #### Solitari triangular 4 81 3 10 10 5 0 1 0 1 1 1 1 1 1 1 1 58 #### Solitari triangular 5-1 82 3 1 4 6 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 57 #### Solitari triangular 5-2 83 3 1 4 6 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 57 #### Solitari triangular 5-3 84 3 1 4 6 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 57 #### Solitari triangular 6 85 3 1 0 7 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 59 #### Solitari clàssic-11 86 1 1 0 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari Wiegleb-creu petita 87 1 1 0 9 9 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 60 #### Solitari Wiegleb-reduit 1 88 1 1 0 9 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 39 #### Solitari Wiegleb-Simetria 89 1 10 3 9 9 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 61 #### Solitari Wiegleb diagonal 90 3 1 0 9 9 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 28 #### Solitari Wiegleb-reduit 2 91 1 1 0 9 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 39 #### Solitari Wiegleb-reduit 3 92 1 1 0 9 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 39 #### Solitari Wiegleb-reduit 4 93 1 1 0 9 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 39 #### Solitari asimètric 6x6 invers 94 2 10 0 6 6 -1 0 0 0 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 0 -1 -1 63 #### Solitari asimètric 8x8 invers 95 2 20 0 8 8 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 64 #### Solitari europeu invers 96 2 20 0 7 7 -1 -1 1 0 0 -1 -1 -1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari Wiegleb invers 97 2 40 0 9 9 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 28 #### Solitari Wiegleb-reduit invers 98 2 40 0 9 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 67 ### Solitari 3x5 bis 99 1 10 10 3 5 -1 1 -1 1 -1 -1 1 -1 1 -1 0 1 1 1 0 68 ### Solitari 4x4 100 1 10 10 4 4 -1 1 -1 -1 1 1 1 0 -1 1 -1 -1 -1 1 -1 -1 69 ### Solitari 6x5 101 1 10 5 6 5 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 0 -1 -1 70 ### Solitari 4x5 102 1 10 0 4 5 -1 0 1 0 -1 -1 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 71 ### Solitari 3x5 bis-1 103 1 10 10 3 5 -1 1 -1 1 -1 -1 1 -1 1 -1 1 1 0 1 1 68 ### Solitari 4x5-1 104 1 10 0 4 5 -1 1 1 1 -1 -1 1 1 1 -1 1 1 1 1 1 -1 -1 0 -1 -1 71 ### Solitari 4x5-2 105 1 10 0 4 5 -1 1 1 1 -1 -1 1 1 1 -1 0 1 1 1 0 -1 -1 1 -1 -1 71 #### Solitari triangular 6-1 106 3 1 0 7 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 59 #### Solitari triangular 7 107 3 1 0 8 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 72 #### Solitari triangular 8 108 3 1 0 9 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 73 #### Solitari triangular 9 109 3 1 0 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 74 #### Solitari europeu diagonal-quadrat 110 3 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 0 -1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 75 #### Solitari clàssic diagonal-molinet 111 3 1 0 7 7 -1 -1 0 0 1 -1 -1 -1 -1 0 1 0 -1 -1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 -1 -1 0 1 0 -1 -1 -1 -1 1 0 0 -1 -1 76 #### Solitari quadrat 5x5-3 112 3 1 0 5 5 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 22 #### Solitari triangular 10 113 3 20 0 11 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 77 #### Solitari quadrat 8x8 114 1 20 0 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 78 #### Solitari diamant diagonal 9x9-3 115 3 1 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 0 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 29 #### Solitari clàssic -12 116 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari europeu-4 117 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 1 1 1 1 1 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari clàssic -13 118 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 1 #### Solitari clàssic -14 119 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari clàssic -15 120 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 0 1 1 -1 -1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 -1 -1 1 1 0 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic -16 121 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari clàssic -17 122 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic -18 123 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic -19 124 1 3 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari 7x5 invers 127 2 10 0 7 5 -1 0 0 0 -1 -1 0 0 0 -1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 -1 -1 0 0 0 -1 79 #### Solitari clàssic diagonal-quadrat 128 3 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 80 #### Solitari quadrat 5x5-4 1000 129 1 1 0 5 5 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 22 #### Solitari clàssic - O 130 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 81 #### Solitari clàssic - 20 131 1 1 0 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari clàssic - 21 132 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 -1 -1 1 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic - 22 133 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 ### Solitari arbre - 2 134 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 25 ### Solitari - 23 135 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 -1 -1 1 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 24 136 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 25 137 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 1 #### Solitari clàssic-problema 26 138 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 27 139 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 28 140 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 1 -1 -1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 -1 -1 1 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 29 141 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 30 142 1 1 0 7 7 -1 -1 1 1 0 -1 -1 -1 -1 1 0 0 -1 -1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 1 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic-problema 31 143 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Dos quadrats 10x10 - 1 144 1 0 0 10 10 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 0 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 82 #### Dos quadrats 11x11 - 1 145 1 0 0 11 11 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 0 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 83 #### Tres quadrats 16x16 - 1 146 1 0 0 16 16 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 84 #### Dos quadrats 9x9 - 1 147 1 0 0 9 9 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 0 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 85 #### Tres quadrats 13x13 - 1 148 1 0 0 13 13 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 0 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 86 #### Quatre quadrats 13x13 - 1 149 1 0 0 13 13 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 0 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 87 #### Solitari europeu-2 150 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 0 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari clàssic-ampliat- 1 151 1 1 0 7 12 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 88 #### Solitari clàssic-ampliat- 2 152 1 1 0 7 12 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 88 #### Solitari diamant diagonal 9x9- 4 153 3 1 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 0 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 29 #### Solitari diamant (directe) 9x9- 1 154 1 1 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 0 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9- 2 155 1 1 0 9 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 0 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -3 156 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 0 1 1 1 0 -1 -1 -1 0 1 1 1 1 1 0 -1 0 1 1 1 1 1 1 1 0 -1 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari Rombe 36- 1 157 3 20 0 12 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 90 #### Solitari Rombe 36- 2 158 3 20 0 12 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 90 #### Solitari Rombe 36- 3 159 3 20 0 12 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 90 #### Solitari Rombe 36- 4 160 3 20 0 12 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 90 #### Solitari diamant (directe) 9x9 -4 161 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 0 0 1 0 0 -1 -1 -1 0 1 1 1 1 1 0 -1 0 0 0 0 1 0 0 0 0 -1 0 0 0 1 0 0 0 -1 -1 -1 0 1 1 1 0 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -5 162 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 0 1 1 1 0 -1 -1 -1 0 1 1 1 1 1 0 -1 0 0 0 0 1 0 0 0 0 -1 0 0 0 1 0 0 0 -1 -1 -1 0 1 1 1 0 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -6 163 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 1 0 1 0 1 -1 -1 -1 0 0 1 1 1 0 0 -1 0 1 1 1 1 1 1 1 0 -1 0 0 1 1 1 0 0 -1 -1 -1 1 0 1 0 1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -7 164 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 0 1 1 1 0 -1 -1 -1 0 1 0 1 0 1 0 -1 0 1 1 1 1 1 1 1 0 -1 0 1 0 1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -8 165 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 0 1 1 1 0 -1 -1 -1 0 1 1 1 1 1 0 -1 0 1 1 1 0 1 1 1 0 -1 0 1 1 1 1 1 0 -1 -1 -1 0 1 1 1 0 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -9 166 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 0 1 1 1 1 1 0 -1 0 1 1 1 1 1 1 1 0 -1 0 1 1 1 1 1 0 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 0 1 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 #### Solitari diamant (directe) 9x9 -10 167 1 1 0 9 9 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 0 1 1 1 0 -1 -1 -1 1 1 1 1 1 1 1 -1 0 1 1 1 0 1 1 1 0 -1 1 1 1 1 1 1 1 -1 -1 -1 0 1 1 1 0 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 89 ### Solitari Hexagonal inclinat (diagonal) 7x9 168 3 1 0 7 9 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 0 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 91 #### Solitari clàssic-4 forquilles 169 1 1 0 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 92 #### Solitari clàssic-4 forquilles * 309 1 1 0 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 0 1 1 11 1 1 0 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 92 ### Solitari Pentagonal - diagonal 7x9 170 3 1 0 7 9 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 0 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 93 ### Solitari hexagonal 7x11 171 1 5 0 7 11 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 0 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 94 #### Solitari clàssic- 31 172 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic- dos quadrats 173 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 1 -1 -1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 -1 -1 1 1 0 -1 -1 -1 -1 0 0 0 -1 -1 95 #### Solitari clàssic- banyes 1 174 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 96 ### Solitari clàssic piràmide 9- bis 175 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari clàssic - X 176 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 0 1 -1 -1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 -1 -1 1 0 1 -1 -1 -1 -1 0 0 0 -1 -1 97 ### Solitari clàssic - Torxa 177 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 98 ### Solitari clàssic - Palau 178 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 99 ### Solitari clàssic - Cabana 1 179 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 66 ### Solitari clàssic - 33 180 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari classic diamant bis 181 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari classic simetria 182 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1 1 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 2 ### Solitari classic - 34 183 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari classic - 35 184 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic- banyes 2 185 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 96 ### Solitari classic - 36 186 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 -1 -1 0 1 0 -1 -1 -1 -1 0 0 0 -1 -1 1 ### Solitari classic - 37 187 1 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- fletxa 3 188 1 1 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 #### Solitari clàssic- creu gran 1 189 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 5 #### Solitari clàssic- fletxa 4 190 1 5 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 #### Solitari clàssic- Arbre 191 1 5 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 1 1 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 25 #### Solitari clàssic- fletxa 5 192 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 0 1 -1 -1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 9 #### Solitari clàssic- 38 193 1 5 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic- cúpula 1 194 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 65 #### Solitari clàssic- 39 195 1 5 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari: simetria - 3 196 1 10 10 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 2 #### Solitari: simetria - 4 197 1 10 10 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 2 #### Solitari clàssic- cúpula 2 198 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 0 1 -1 -1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 65 #### Solitari clàssic- quadrat 199 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 62 #### Solitari clàssic- fletxa 6 200 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 9 #### Solitari clàssic- 40 201 1 5 1 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 1 #### Solitari clàssic- 40 * 312 1 5 1 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 0 1 0 1 0 0 1 1 11 1 1 0 0 1 0 1 0 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 1 #### Solitari clàssic- simetria 4 202 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 0 -1 -1 2 #### Solitari clàssic- simetria 5 203 1 5 1 7 7 -1 -1 0 1 1 -1 -1 -1 -1 1 0 1 -1 -1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 -1 -1 1 0 1 -1 -1 -1 -1 1 1 0 -1 -1 2 #### Solitari clàssic- fletxa 7 204 1 1 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 1 0 -1 -1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 #### Solitari clàssic- fletxa 8 205 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 0 1 -1 -1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 #### Solitari clàssic- Cabana 2 206 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 66 #### Solitari clàssic- Pentagon 207 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 3 #### Solitari clàssic- 41 208 1 1 1 7 7 -1 -1 0 0 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 0 0 -1 -1 1 #### Solitari clàssic- Simetria 6 209 1 1 1 7 7 -1 -1 1 1 0 -1 -1 -1 -1 1 1 0 -1 -1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 -1 -1 0 1 1 -1 -1 -1 -1 0 1 1 -1 -1 2 #### Solitari clàssic- Simetria 7 210 1 5 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 2 #### Solitari clàssic- 42 211 1 5 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- Simetria 8 212 1 5 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 2 #### Solitari clàssic- cúpula 3 213 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 65 #### Solitari clàssic- cúpula 4 214 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 65 #### Solitari clàssic- 43 215 1 5 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari clàssic- 44 216 1 5 1 7 7 -1 -1 0 0 0 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 45 217 1 5 1 7 7 -1 -1 1 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 1 -1 -1 1 #### Solitari clàssic- 46 218 1 5 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 46 219 1 5 1 7 7 -1 -1 1 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 0 1 1 -1 -1 1 #### Solitari clàssic- Simetria 9 220 1 5 1 7 7 -1 -1 1 0 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 2 #### Solitari clàssic- fletxa 8 221 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 9 #### Solitari clàssic- cúpula 5 222 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 65 #### Solitari clàssic- 48 223 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 49 224 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 50 225 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 51 226 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 0 1 -1 -1 1 #### Solitari clàssic- 52 227 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 0 1 1 -1 -1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 -1 -1 1 1 0 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 53 228 1 1 1 7 7 -1 -1 0 1 0 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 54 229 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 55 230 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic- 56 231 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### *** Solitari clàssic- 56 * 232 1 1 1 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 0 1 11 1 0 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### *** Solitari clàssic- * 125 1 1 1 7 7 -1 -1 11 11 11 -1 -1 -1 -1 11 11 11 -1 -1 1 1 11 11 11 1 1 1 1 11 0 11 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari europeu-creu * 126 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 0 0 1 0 0 -1 0 0 1 1 1 0 0 0 0 0 11 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 30 #### Solitari europeu * 233 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 1 11 1 0 0 0 1 1 1 1 1 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu * 234 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 0 1 1 1 0 -1 0 0 1 1 1 0 0 0 0 1 10 1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu creu 235 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 0 1 0 0 -1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 0 1 1 1 0 -1 -1 -1 1 1 1 -1 -1 30 #### Solitari europeu creu * 236 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 0 1 0 0 -1 0 1 1 11 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 -1 0 1 1 1 0 -1 -1 -1 1 1 1 -1 -1 30 #### Solitari europeu creu * 237 1 1 0 7 7 -1 -1 0 11 0 -1 -1 -1 0 0 11 0 0 -1 0 11 11 11 11 11 0 0 0 0 11 0 0 0 0 0 0 11 0 0 0 -1 0 1 1 1 0 -1 -1 -1 1 1 1 -1 -1 30 #### Solitari europeu 238 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu * 239 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 11 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu 240 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 1 0 1 0 1 -1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 -1 1 0 1 0 1 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu * 241 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 1 0 1 0 1 -1 0 0 1 1 1 0 0 1 1 1 11 1 1 1 0 0 1 1 1 0 0 -1 1 0 1 0 1 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu 242 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 -1 0 1 1 1 0 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu * 243 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 0 1 0 1 0 1 1 1 11 1 1 1 0 1 0 1 0 1 0 -1 0 1 1 1 0 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu 244 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 0 1 1 1 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu * 245 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 1 1 1 0 1 1 1 11 1 1 1 0 1 1 1 1 1 0 -1 0 1 1 1 0 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu 246 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 -1 0 1 1 1 0 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu * 247 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 0 1 1 1 0 -1 0 1 1 1 1 1 0 1 1 1 10 1 1 1 0 1 1 1 1 1 0 -1 0 1 1 1 0 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu 248 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 -1 1 1 1 1 1 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu * 249 1 1 0 7 7 -1 -1 0 1 0 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 1 1 1 11 1 1 1 0 1 1 1 1 1 0 -1 1 1 1 1 1 -1 -1 -1 0 1 0 -1 -1 15 #### Solitari europeu 250 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 0 1 1 1 0 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 0 1 1 1 0 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu * 251 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 11 1 11 -1 11 1 11 11 11 1 11 11 1 1 10 1 1 11 11 1 1 11 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 252 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 1 1 1 11 11 11 11 10 11 11 11 11 1 1 1 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 253 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 11 1 1 11 11 1 11 10 11 1 11 11 1 1 11 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 254 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 11 1 11 1 11 11 1 1 10 1 1 11 11 1 1 1 1 1 11 -1 11 1 11 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 255 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 1 1 11 1 1 -1 11 1 1 11 1 1 11 11 11 11 0 11 11 11 11 1 1 11 1 1 11 -1 1 1 11 1 1 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 256 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 11 1 11 1 11 11 1 1 0 1 1 11 11 1 11 1 11 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 257 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 11 1 1 11 11 1 1 0 1 1 11 11 1 11 1 11 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 258 1 5 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 1 1 1 11 11 1 11 0 11 1 11 11 1 1 1 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 259 1 5 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 1 1 1 11 1 1 1 10 1 1 1 11 1 1 1 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 260 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 11 11 11 11 11 11 11 11 1 1 0 1 1 11 11 1 1 1 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 261 1 4 0 7 7 -1 -1 11 1 11 -1 -1 -1 11 1 1 1 11 -1 11 1 11 1 11 1 11 1 1 1 0 1 1 1 11 1 11 1 11 1 11 -1 11 1 1 1 11 -1 -1 -1 11 1 11 -1 -1 15 #### Solitari europeu * 262 1 15 0 7 7 -1 -1 11 1 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 11 1 1 11 1 1 1 0 1 1 1 11 1 11 1 11 1 11 -1 11 1 1 1 11 -1 -1 -1 11 1 11 -1 -1 15 #### Solitari europeu * 263 1 5 0 7 7 -1 -1 11 1 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 1 1 1 11 1 1 1 10 1 1 1 11 1 1 1 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 1 11 -1 -1 15 #### Solitari europeu * 264 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 11 1 1 1 11 -1 1 1 11 1 11 1 1 1 1 11 10 11 1 1 1 1 1 11 1 1 1 -1 1 1 11 1 1 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 265 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 11 1 1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 11 1 1 1 11 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu * 266 1 5 0 7 7 -1 -1 1 11 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 11 1 -1 -1 15 #### Solitari europeu * 268 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 1 11 1 1 11 -1 1 1 11 1 1 11 1 1 1 11 10 11 1 1 1 1 11 1 1 1 1 -1 1 11 1 1 1 -1 -1 -1 11 1 1 -1 -1 15 #### Solitari europeu * 269 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 1 1 11 1 1 -1 1 1 11 1 11 1 1 1 11 11 10 11 11 1 11 1 1 1 1 1 11 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu * 270 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 11 1 1 11 1 -1 1 11 1 1 11 1 1 1 11 1 1 11 0 1 1 11 1 1 11 1 1 -1 11 1 1 11 1 -1 -1 -1 11 11 1 -1 -1 15 #### Solitari europeu * 271 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 11 1 1 1 1 -1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 0 1 1 1 1 -1 11 11 11 11 11 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu * 272 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 11 1 1 1 11 -1 1 11 11 1 11 11 1 1 11 1 11 1 11 1 1 11 0 1 0 11 1 -1 11 1 1 1 11 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu * 273 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 1 11 1 1 11 -1 1 1 11 1 1 1 11 1 1 11 0 1 1 11 1 1 11 1 1 1 11 -1 1 11 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 274 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 1 11 1 1 1 -1 1 1 11 1 1 1 1 1 1 11 10 11 1 1 1 1 11 1 1 1 1 -1 1 11 1 1 1 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 275 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 1 1 11 1 1 -1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 0 1 1 11 1 1 0 -1 1 1 11 1 1 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu * 276 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 11 1 1 1 11 -1 1 11 11 1 1 11 1 1 11 1 11 1 11 1 1 11 0 1 11 11 1 -1 11 1 1 0 11 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu 277 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 -1 1 1 1 1 1 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu * 278 1 1 0 7 7 -1 -1 0 0 0 -1 -1 -1 1 1 1 1 1 -1 0 1 1 1 1 1 0 0 1 1 11 1 1 0 0 1 1 1 1 1 0 -1 1 1 1 1 1 -1 -1 -1 0 0 0 -1 -1 15 #### Solitari europeu * 279 1 1 0 7 7 -1 -1 11 1 11 -1 -1 -1 1 1 11 1 1 -1 11 1 1 11 1 1 11 1 11 11 0 11 11 1 11 1 1 11 1 1 11 -1 1 1 11 1 1 -1 -1 -1 11 1 11 -1 -1 15 #### Solitari europeu * 280 1 3 0 7 7 -1 -1 11 11 11 -1 -1 -1 1 1 1 1 1 -1 11 1 1 1 1 1 11 11 1 1 0 1 1 11 11 1 1 1 1 1 11 -1 1 1 1 1 1 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu-1 * 282 1 4 0 7 7 -1 -1 1 1 1 -1 -1 -1 11 1 1 1 11 -1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 -1 11 1 1 1 11 -1 -1 -1 1 1 1 -1 -1 15 #### Solitari europeu-1 * 283 1 4 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 1 11 1 1 11 11 1 11 10 11 1 11 11 1 1 11 1 1 11 -1 11 1 1 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari europeu-1 * 284 1 4 0 7 7 -1 -1 11 11 11 -1 -1 -1 11 1 1 1 11 -1 11 1 11 1 11 1 11 11 1 1 10 1 1 11 11 1 1 1 1 1 11 -1 11 1 11 1 11 -1 -1 -1 11 11 11 -1 -1 15 #### Solitari clàssic * 285 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 -1 11 1 11 -1 -1 11 11 11 1 11 11 11 11 1 1 0 1 1 11 11 11 11 1 11 11 11 -1 -1 11 1 11 -1 -1 -1 -1 11 11 11 -1 -1 1 #### Solitari clàssic * 286 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 11 11 11 1 1 1 1 11 0 11 1 1 1 1 11 11 11 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 287 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 11 0 1 -1 -1 1 1 11 0 1 1 1 1 1 11 11 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 288 1 5 0 7 7 -1 -1 1 1 11 -1 -1 -1 -1 1 11 1 -1 -1 11 1 11 1 11 1 1 1 11 1 0 1 11 1 1 1 11 1 11 1 11 -1 -1 1 11 1 -1 -1 -1 -1 11 1 1 -1 -1 1 #### Solitari clàssic * 289 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 11 1 -1 -1 1 1 11 11 11 1 1 1 1 1 10 1 1 1 1 1 1 11 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 290 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 11 1 11 1 1 1 11 11 10 11 11 1 1 1 11 11 11 1 1 -1 -1 1 11 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 291 1 5 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 11 0 11 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 292 1 10 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 11 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 11 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 293 1 10 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 11 1 0 1 11 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 294 1 10 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 11 1 1 1 1 1 1 0 1 1 1 1 1 11 1 11 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 295 1 2 0 7 7 -1 -1 1 11 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 11 1 1 1 1 1 11 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 296 1 2 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 11 1 11 1 1 1 1 1 0 1 1 1 1 1 11 1 11 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 297 1 2 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 11 1 1 -1 -1 1 1 1 1 1 11 1 1 1 1 0 1 1 1 1 11 1 1 1 1 1 -1 -1 1 1 11 -1 -1 -1 -1 1 1 1 -1 -1 1 #### Solitari clàssic * 298 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 -1 11 1 11 -1 -1 11 11 1 1 1 11 11 11 1 1 10 1 1 11 11 11 1 1 1 11 11 -1 -1 11 1 11 -1 -1 -1 -1 11 11 11 -1 -1 1 #### Solitari clàssic * 299 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 -1 1 1 1 -1 -1 11 1 1 11 1 1 11 11 1 11 10 11 1 11 11 1 1 11 1 1 11 -1 -1 1 1 1 -1 -1 -1 -1 11 11 11 -1 -1 1 #### Solitari clàssic * 300 1 1 0 7 7 -1 -1 11 1 11 -1 -1 -1 -1 11 1 11 -1 -1 11 11 1 1 1 11 11 1 1 1 10 1 1 1 11 11 1 1 1 11 11 -1 -1 11 1 11 -1 -1 -1 -1 11 1 11 -1 -1 1 #### Solitari clàssic * 301 1 1 0 7 7 -1 -1 11 1 11 -1 -1 -1 -1 1 1 1 -1 -1 11 1 1 11 1 1 11 1 1 11 10 11 1 1 11 1 1 11 1 1 11 -1 -1 1 1 1 -1 -1 -1 -1 11 1 11 -1 -1 1 #### Solitari clàssic * 302 1 1 0 7 7 -1 -1 11 11 11 -1 -1 -1 -1 1 1 1 -1 -1 11 1 1 1 1 1 11 11 1 1 10 1 1 11 11 1 1 1 1 1 11 -1 -1 1 1 1 -1 -1 -1 -1 11 11 11 -1 -1 1 #### Solitari clàssic * 303 1 5 0 7 7 -1 -1 11 1 11 -1 -1 -1 -1 1 1 1 -1 -1 11 1 1 1 1 1 11 1 1 1 10 1 1 1 11 1 1 1 1 1 11 -1 -1 1 1 1 -1 -1 -1 -1 11 1 11 -1 -1 1 #### Solitari clàssic * 304 1 1 0 7 7 -1 -1 1 11 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 11 1 11 1 1 11 1 1 0 1 1 11 1 1 11 1 11 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 11 1 -1 -1 1 #### Solitari clàssic * 306 1 5 0 7 7 -1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 11 1 11 1 1 -1 1 1 0 1 1 -1 1 1 11 1 11 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 #### Solitari clàssic * 307 2 5 0 7 7 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 0 -1 -1 1 #### Solitari 6x6 diagonal 320 3 5 0 6 6 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 32 #### Solitari 6x6 diagonal 321 3 5 0 6 6 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 32 #### Solitari 6x6 diagonal 322 3 5 0 6 6 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 0 1 1 1 1 0 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 32 #### Solitari OK 323 3 5 0 7 9 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 21 #### Solitari OK * 324 3 5 0 7 9 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 10 -1 -1 -1 -1 -1 21 #### Solitari 6x7 326 1 5 0 6 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 17 #### Solitari 6x7 * 327 1 5 0 6 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1 11 1 1 1 1 1 1 0 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 17 #### Solitari estrella 7x7 328 3 5 0 7 7 1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 -1 1 1 1 0 1 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 6 ###Darrer codi solitari: 328 #### Solitaria a l'atzar (tendrà un tractament especial) 1000 1 100 0 0 0 0 101 #### Solitari personalitzat- clàssic (les dades de les fitxes tenen un tractament especial) 1001 1 5 0 12 12 6 100 #### Solitari personalitzat-diagonal (les dades de les fitxes tenen un tractament especial) 1002 3 5 0 12 12 6 100 #### Solitari personalitzat-invers (les dades de les fitxes tenen un tractament especial) 1003 2 5 0 12 12 6 100 #### Solitari clàssic-Modificat 329 1 1 0 7 7 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 ###### Solitari Quadrat 5x5 diagonal 330 3 5 0 5 5 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 22 ###### Solo 331 1 5 0 7 9 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 102 ###### 332 1 5 0 7 9 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 102 ###### 333 1 5 0 7 9 -1 0 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 102 ###### Solitari "rectangular" 8x3 meu 334 1 5 0 8 3 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 103 ###### Solitari "rectangular" 8x3 meu 335 1 5 0 8 3 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 103 ###### Solitari 8x6 meu 336 1 5 0 8 6 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 104 ###### Anglès antic 337 3 5 0 9 9 -1 0 0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 36 ###### 338 1 5 0 7 7 -1 -1 1 1 0 -1 -1 -1 -1 0 0 1 -1 -1 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 -1 -1 0 0 1 -1 -1 -1 -1 0 1 1 -1 -1 1 ###### 339 3 5 0 7 7 -1 -1 -1 0 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 1 1 1 1 1 -1 1 1 1 10 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 35peg-solitaire-2.2/games/111111111111111101111111111111111_298.sol0000644000175000017500000000141413101141505021636 0ustar demarchidemarchi1 305 304 303 2 302 303 304 3 103 203 303 4 303 304 305 5 201 202 203 6 401 301 201 7 503 403 303 8 405 404 403 9 403 402 401 10 205 305 405 11 203 204 205 1 305 304 303 2 302 303 304 3 103 203 303 4 303 304 305 5 201 202 203 6 401 301 201 7 503 403 303 8 405 404 403 9 205 305 405 10 203 204 205 11 403 402 401 1 305 304 303 2 302 303 304 3 103 203 303 4 303 304 305 5 201 202 203 6 401 301 201 7 503 403 303 8 405 404 403 9 205 305 405 10 403 402 401 11 203 204 205 1 305 304 303 2 302 303 304 3 103 203 303 4 303 304 305 5 503 403 303 6 205 204 203 7 401 402 403 8 201 301 401 9 203 202 201 10 405 305 205 11 403 404 405 1 305 304 303 2 302 303 304 3 103 203 303 4 303 304 305 5 503 403 303 6 201 202 203 7 405 404 403 8 205 305 405 9 203 204 205 10 401 301 201 11 403 402 401 peg-solitaire-2.2/games/101111111111111111111111111111111111111_88.sol0000644000175000017500000000307613105116361022235 0ustar demarchidemarchi1 203 103 3 2 403 303 203 3 305 304 303 4 303 203 103 5 401 402 403 6 301 302 303 7 602 502 402 8 802 702 602 9 102 202 302 10 302 402 502 11 502 602 702 12 500 501 502 13 504 404 304 14 204 304 404 15 4 104 204 16 704 604 504 17 504 404 304 18 304 204 104 19 506 505 504 20 503 504 505 21 703 603 503 22 503 502 501 23 300 400 500 24 500 501 502 25 804 803 802 26 802 702 602 27 602 502 402 28 402 403 404 29 306 406 506 30 506 505 504 31 504 404 304 32 2 3 4 33 4 104 204 34 204 304 404 35 405 404 403 36 403 303 203 37 203 103 3 1 203 103 3 2 403 303 203 3 305 304 303 4 303 203 103 5 401 402 403 6 301 302 303 7 602 502 402 8 802 702 602 9 102 202 302 10 302 402 502 11 502 602 702 12 500 501 502 13 504 404 304 14 204 304 404 15 4 104 204 16 704 604 504 17 504 404 304 18 304 204 104 19 506 505 504 20 503 504 505 21 703 603 503 22 503 502 501 23 300 400 500 24 500 501 502 25 804 803 802 26 802 702 602 27 602 502 402 28 402 403 404 29 306 406 506 30 506 505 504 31 504 404 304 32 2 3 4 33 4 104 204 34 204 304 404 35 405 404 403 36 403 303 203 37 103 203 303 1 203 103 3 2 403 303 203 3 305 304 303 4 303 203 103 5 401 402 403 6 301 302 303 7 602 502 402 8 802 702 602 9 102 202 302 10 302 402 502 11 502 602 702 12 500 501 502 13 504 404 304 14 204 304 404 15 4 104 204 16 704 604 504 17 504 404 304 18 304 204 104 19 506 505 504 20 503 504 505 21 703 603 503 22 503 502 501 23 300 400 500 24 500 501 502 25 804 803 802 26 802 702 602 27 602 502 402 28 402 403 404 29 2 3 4 30 306 406 506 31 506 505 504 32 4 104 204 33 504 404 304 34 204 304 404 35 405 404 403 36 403 303 203 37 203 103 3 ././@LongLink0000644000000000000000000000020100000000000011574 Lustar rootrootpeg-solitaire-2.2/games/111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111_149.solpeg-solitaire-2.2/games/11111111111101111111111111111111111111111111111111111111111111111111111111110000644000175000017500000006732013104363735024561 0ustar demarchidemarchi1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1004 1005 1006 83 1106 1006 906 84 1008 1007 1006 85 1207 1107 1007 86 1208 1108 1008 87 906 1006 1106 88 1008 1007 1006 89 1106 1006 906 90 1104 1105 1106 91 1206 1106 1006 92 906 1006 1106 93 1204 1205 1206 94 1206 1106 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1004 1005 1006 83 1106 1006 906 84 1008 1007 1006 85 1207 1107 1007 86 1208 1108 1008 87 906 1006 1106 88 1008 1007 1006 89 1205 1105 1005 90 1204 1104 1004 91 1005 1006 1007 92 1206 1106 1006 93 1007 1006 1005 94 1004 1005 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 1106 1006 906 77 809 808 807 78 1104 1105 1106 79 1206 1106 1006 80 1204 1205 1206 81 1207 1206 1205 82 1107 1007 907 83 807 907 1007 84 1108 1008 908 85 1004 904 804 86 804 805 806 87 1006 1007 1008 88 806 906 1006 89 905 1005 1105 90 1205 1105 1005 91 908 1008 1108 92 1208 1108 1008 93 1005 1006 1007 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1004 1005 1006 83 1106 1006 906 84 1008 1007 1006 85 1207 1107 1007 86 1208 1108 1008 87 906 1006 1106 88 1008 1007 1006 89 1205 1105 1005 90 1005 1006 1007 91 1204 1104 1004 92 1206 1106 1006 93 1007 1006 1005 94 1004 1005 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 807 806 805 74 809 808 807 75 1106 1006 906 76 1104 1105 1106 77 1206 1106 1006 78 1204 1205 1206 79 1207 1206 1205 80 1004 904 804 81 804 805 806 82 806 807 808 83 1007 1107 1207 84 1208 1207 1206 85 1205 1206 1207 86 905 906 907 87 1005 1006 1007 88 907 1007 1107 89 908 808 708 90 1108 1008 908 91 608 708 808 92 808 908 1008 93 1207 1107 1007 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 1106 1006 906 77 809 808 807 78 1104 1105 1106 79 1107 1007 907 80 807 907 1007 81 1206 1106 1006 82 1204 1205 1206 83 1207 1206 1205 84 1004 904 804 85 804 805 806 86 1108 1008 908 87 905 1005 1105 88 1205 1105 1005 89 1006 1007 1008 90 806 906 1006 91 908 1008 1108 92 1208 1108 1008 93 1005 1006 1007 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1004 1005 1006 83 1106 1006 906 84 1008 1007 1006 85 1207 1107 1007 86 1208 1108 1008 87 906 1006 1106 88 1008 1007 1006 89 1205 1105 1005 90 1204 1104 1004 91 1106 1006 906 92 1004 1005 1006 93 906 1006 1106 94 1206 1106 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 806 807 808 75 809 808 807 76 1106 1006 906 77 1104 1105 1106 78 1206 1106 1006 79 1204 1205 1206 80 1207 1206 1205 81 1107 1007 907 82 807 907 1007 83 1108 1008 908 84 608 708 808 85 904 1004 1104 86 905 1005 1105 87 1104 1105 1106 88 808 908 1008 89 1006 1106 1206 90 1205 1206 1207 91 1208 1207 1206 92 1008 1007 1006 93 906 1006 1106 94 1206 1106 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 806 807 808 75 809 808 807 76 1106 1006 906 77 1104 1105 1106 78 1206 1106 1006 79 1204 1205 1206 80 608 708 808 81 904 1004 1104 82 807 808 809 83 905 906 907 84 1108 1008 908 85 1207 1206 1205 86 1006 1007 1008 87 1008 908 808 88 809 808 807 89 807 907 1007 90 1007 1107 1207 91 1208 1207 1206 92 1206 1205 1204 93 1204 1104 1004 94 1004 1005 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 1106 1006 906 77 809 808 807 78 1104 1105 1106 79 1206 1106 1006 80 1204 1205 1206 81 1207 1206 1205 82 1107 1007 907 83 807 907 1007 84 1108 1008 908 85 1006 1007 1008 86 905 1005 1105 87 908 1008 1108 88 1004 904 804 89 804 805 806 90 806 906 1006 91 1205 1105 1005 92 1005 1006 1007 93 1208 1108 1008 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1004 1005 1006 83 1007 1006 1005 84 1108 1008 908 85 1106 1107 1108 86 1104 1105 1106 87 1206 1106 1006 88 1005 1006 1007 89 1204 1205 1206 90 1208 1108 1008 91 908 1008 1108 92 1206 1207 1208 93 1208 1108 1008 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1004 1005 1006 83 1107 1007 907 84 1105 1106 1107 85 1108 1008 908 86 908 907 906 87 1204 1104 1004 88 906 1006 1106 89 1206 1106 1006 90 1208 1207 1206 91 1205 1206 1207 92 1207 1107 1007 93 1007 1006 1005 94 1004 1005 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 807 806 805 74 809 808 807 75 1106 1006 906 76 1104 1105 1106 77 1206 1106 1006 78 1204 1205 1206 79 1207 1206 1205 80 1004 904 804 81 804 805 806 82 806 807 808 83 1007 1107 1207 84 1208 1207 1206 85 1205 1206 1207 86 905 906 907 87 1005 1006 1007 88 907 1007 1107 89 1207 1107 1007 90 908 808 708 91 608 708 808 92 1108 1008 908 93 808 908 1008 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 806 807 808 75 809 808 807 76 1106 1006 906 77 1104 1105 1106 78 1206 1106 1006 79 1204 1205 1206 80 1207 1206 1205 81 608 708 808 82 807 808 809 83 904 1004 1104 84 905 906 907 85 1108 1008 908 86 1006 1007 1008 87 1008 908 808 88 809 808 807 89 807 907 1007 90 1007 1107 1207 91 1208 1207 1206 92 1206 1205 1204 93 1204 1104 1004 94 1004 1005 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 904 905 906 78 1006 906 806 79 1008 1007 1006 80 1005 1006 1007 81 1104 1004 904 82 806 805 804 83 804 904 1004 84 1107 1007 907 85 1205 1105 1005 86 1004 1005 1006 87 807 907 1007 88 1208 1108 1008 89 1106 1006 906 90 1008 1007 1006 91 906 1006 1106 92 1207 1206 1205 93 1204 1205 1206 94 1206 1106 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 1106 1006 906 77 809 808 807 78 1104 1105 1106 79 1107 1007 907 80 807 907 1007 81 1206 1106 1006 82 1204 1205 1206 83 1207 1206 1205 84 1004 904 804 85 804 805 806 86 1108 1008 908 87 905 1005 1105 88 1006 1007 1008 89 806 906 1006 90 908 1008 1108 91 1205 1105 1005 92 1005 1006 1007 93 1208 1108 1008 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 806 807 808 75 809 808 807 76 608 708 808 77 807 808 809 78 904 905 906 79 1006 906 806 80 1004 1005 1006 81 1007 1006 1005 82 1105 1005 905 83 1108 1008 908 84 1206 1106 1006 85 1204 1104 1004 86 1208 1207 1206 87 1205 1206 1207 88 1207 1107 1007 89 1006 1007 1008 90 1008 908 808 91 809 808 807 92 807 806 805 93 805 905 1005 94 1004 1005 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 1106 1006 906 77 809 808 807 78 1104 1105 1106 79 1107 1007 907 80 807 907 1007 81 1206 1106 1006 82 1204 1205 1206 83 1207 1206 1205 84 1004 904 804 85 804 805 806 86 1108 1008 908 87 905 1005 1105 88 1205 1105 1005 89 1006 1007 1008 90 806 906 1006 91 908 1008 1108 92 1005 1006 1007 93 1208 1108 1008 94 1008 1007 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 807 806 805 75 608 708 808 76 809 808 807 77 1004 904 804 78 804 805 806 79 1006 1005 1004 80 807 806 805 81 805 905 1005 82 1105 1005 905 83 1206 1106 1006 84 1108 1107 1106 85 1204 1205 1206 86 1007 1006 1005 87 1104 1004 904 88 1206 1106 1006 89 904 905 906 90 1005 1006 1007 91 1008 1007 1006 92 906 1006 1106 93 1208 1207 1206 94 1206 1106 1006 1 204 205 206 2 405 305 205 3 404 304 204 4 604 504 404 5 403 404 405 6 406 405 404 7 104 204 304 8 106 105 104 9 4 104 204 10 6 5 4 11 304 204 104 12 306 206 106 13 4 104 204 14 204 205 206 15 206 106 6 16 108 107 106 17 6 106 206 18 8 7 6 19 308 307 306 20 306 206 106 21 6 106 206 22 508 408 308 23 410 409 408 24 408 407 406 25 208 308 408 26 206 207 208 27 510 509 508 28 508 408 308 29 208 308 408 30 412 411 410 31 611 511 411 32 411 410 409 33 409 408 407 34 406 407 408 35 708 608 508 36 408 508 608 37 401 402 403 38 404 403 402 39 603 503 403 40 403 402 401 41 501 502 503 42 400 401 402 43 702 602 502 44 402 502 602 45 701 601 501 46 500 501 502 47 503 502 501 48 700 600 500 49 500 501 502 50 502 602 702 51 802 702 602 52 800 801 802 53 803 703 603 54 805 804 803 55 602 603 604 56 604 704 804 57 904 804 704 58 802 803 804 59 704 804 904 60 710 610 510 61 811 711 611 62 612 611 610 63 812 712 612 64 512 612 712 65 510 610 710 66 709 710 711 67 712 711 710 68 908 808 708 69 608 708 808 70 810 710 610 71 610 609 608 72 906 907 908 73 908 808 708 74 806 807 808 75 809 808 807 76 1106 1006 906 77 1104 1105 1106 78 1206 1106 1006 79 1204 1205 1206 80 608 708 808 81 904 1004 1104 82 807 808 809 83 905 906 907 84 1108 1008 908 85 1006 1007 1008 86 1207 1206 1205 87 1008 908 808 88 809 808 807 89 807 907 1007 90 1007 1107 1207 91 1208 1207 1206 92 1206 1205 1204 93 1204 1104 1004 94 1004 1005 1006 peg-solitaire-2.2/games/111111111111111101111111111111111_299.sol0000644000175000017500000000152013101141506021636 0ustar demarchidemarchi1 503 403 303 2 401 402 403 3 202 302 402 4 2 102 202 5 104 103 102 6 502 402 302 7 404 403 402 8 406 405 404 9 202 102 2 10 201 301 401 11 401 402 403 12 206 306 406 13 304 305 306 14 504 404 304 15 204 205 206 1 503 403 303 2 401 402 403 3 202 302 402 4 2 102 202 5 104 103 102 6 502 402 302 7 404 403 402 8 406 405 404 9 202 102 2 10 201 301 401 11 401 402 403 12 205 305 405 13 404 405 406 14 204 304 404 15 504 404 304 1 503 403 303 2 401 402 403 3 202 302 402 4 2 102 202 5 104 103 102 6 502 402 302 7 404 403 402 8 406 405 404 9 202 102 2 10 201 301 401 11 401 402 403 12 206 306 406 13 304 305 306 14 204 205 206 15 504 404 304 1 503 403 303 2 401 402 403 3 202 302 402 4 2 102 202 5 104 103 102 6 502 402 302 7 404 403 402 8 406 405 404 9 202 102 2 10 205 305 405 11 201 301 401 12 404 405 406 13 204 304 404 14 504 404 304 15 401 402 403 peg-solitaire-2.2/games/1111111111111111111111110111111111111_271.sol0000644000175000017500000000141412753375655022164 0ustar demarchidemarchi1 602 502 402 2 302 402 502 3 604 603 602 4 602 502 402 5 102 202 302 6 302 402 502 7 104 103 102 8 304 204 104 9 504 404 304 10 406 405 404 11 304 404 504 12 306 305 304 13 4 104 204 14 304 204 104 15 105 104 103 16 206 205 204 17 204 203 202 18 403 303 203 19 102 202 302 20 200 201 202 21 400 300 200 22 203 202 201 23 200 201 202 24 302 202 102 25 2 102 202 26 3 103 203 27 203 202 201 1 602 502 402 2 302 402 502 3 604 603 602 4 602 502 402 5 102 202 302 6 302 402 502 7 104 103 102 8 304 204 104 9 504 404 304 10 406 405 404 11 304 404 504 12 306 305 304 13 4 104 204 14 304 204 104 15 105 104 103 16 206 205 204 17 204 203 202 18 403 303 203 19 102 202 302 20 200 201 202 21 400 300 200 22 203 202 201 23 200 201 202 24 302 202 102 25 3 103 203 26 2 102 202 27 203 202 201 peg-solitaire-2.2/games/011101110101010111010101011101110_203.sol0000644000175000017500000000260713100412214021607 0ustar demarchidemarchi1 4 3 2 2 602 502 402 3 2 102 202 4 406 306 206 5 200 300 400 6 302 402 502 7 400 401 402 8 206 205 204 9 303 304 305 10 104 204 304 11 305 304 303 12 303 203 103 13 201 202 203 14 103 203 303 15 303 403 503 16 402 502 602 17 602 603 604 18 604 504 404 19 405 404 403 20 503 403 303 1 4 3 2 2 602 502 402 3 2 102 202 4 406 306 206 5 200 300 400 6 302 402 502 7 400 401 402 8 206 205 204 9 303 304 305 10 104 204 304 11 305 304 303 12 303 203 103 13 402 502 602 14 602 603 604 15 604 504 404 16 201 202 203 17 103 203 303 18 303 403 503 19 405 404 403 20 503 403 303 1 4 3 2 2 602 502 402 3 2 102 202 4 406 306 206 5 200 300 400 6 302 402 502 7 400 401 402 8 206 205 204 9 303 304 305 10 104 204 304 11 305 304 303 12 303 403 503 13 402 502 602 14 602 603 604 15 604 504 404 16 405 404 403 17 503 403 303 18 303 203 103 19 201 202 203 20 103 203 303 1 4 3 2 2 602 502 402 3 2 102 202 4 406 306 206 5 200 300 400 6 302 402 502 7 400 401 402 8 206 205 204 9 303 304 305 10 104 204 304 11 305 304 303 12 303 203 103 13 402 502 602 14 602 603 604 15 201 202 203 16 103 203 303 17 303 403 503 18 604 504 404 19 405 404 403 20 503 403 303 1 4 3 2 2 602 502 402 3 2 102 202 4 406 306 206 5 200 300 400 6 302 402 502 7 400 401 402 8 206 205 204 9 303 304 305 10 104 204 304 11 305 304 303 12 303 203 103 13 201 202 203 14 103 203 303 15 303 403 503 16 402 502 602 17 602 603 604 18 604 504 404 19 405 404 403 20 403 503 603 peg-solitaire-2.2/games/1111111111111111110111111111111111111_252.sol0000644000175000017500000000154012753371305022147 0ustar demarchidemarchi1 503 403 303 2 501 502 503 3 301 401 501 4 405 404 403 5 402 403 404 6 205 305 405 7 505 405 305 8 503 504 505 9 101 201 301 10 103 102 101 11 302 202 102 12 204 203 202 13 102 202 302 14 404 304 204 15 104 204 304 1 503 403 303 2 501 502 503 3 301 401 501 4 405 404 403 5 402 403 404 6 205 305 405 7 505 405 305 8 503 504 505 9 101 201 301 10 103 102 101 11 302 202 102 12 204 203 202 13 404 304 204 14 104 204 304 15 102 202 302 1 503 403 303 2 501 502 503 3 301 401 501 4 405 404 403 5 402 403 404 6 205 305 405 7 505 405 305 8 503 504 505 9 101 201 301 10 103 102 101 11 304 404 504 12 104 204 304 13 202 203 204 14 204 304 404 15 504 404 304 1 503 403 303 2 501 502 503 3 301 401 501 4 405 404 403 5 402 403 404 6 205 305 405 7 505 405 305 8 503 504 505 9 304 404 504 10 104 204 304 11 202 203 204 12 204 304 404 13 504 404 304 14 101 201 301 15 103 102 101 peg-solitaire-2.2/games/0111111111111111111111111111111111111_267.sol0000644000175000017500000001167013103365174022157 0ustar demarchidemarchi1 202 102 2 2 200 201 202 3 401 301 201 4 101 201 301 5 400 300 200 6 302 202 102 7 2 102 202 8 203 202 201 9 200 201 202 10 205 204 203 11 405 305 205 12 403 404 405 13 603 503 403 14 4 104 204 15 204 304 404 16 206 205 204 17 203 204 205 18 105 205 305 19 306 305 304 20 404 304 204 21 406 405 404 22 403 404 405 23 505 405 305 24 604 504 404 25 501 502 503 26 3 103 203 27 203 204 205 28 205 305 405 29 405 404 403 30 403 402 401 31 401 301 201 32 201 202 203 33 203 303 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 2 102 202 19 400 401 402 20 604 504 404 21 4 104 204 22 203 204 205 23 501 502 503 24 206 205 204 25 403 404 405 26 204 304 404 27 405 404 403 28 302 202 102 29 200 201 202 30 102 202 302 31 302 402 502 32 502 503 504 33 505 504 503 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 501 502 503 19 200 201 202 20 400 401 402 21 4 104 204 22 604 504 404 23 403 404 405 24 203 202 201 25 2 102 202 26 201 202 203 27 203 204 205 28 206 205 204 29 302 402 502 30 502 503 504 31 505 504 503 32 204 304 404 33 405 404 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 501 502 503 19 200 201 202 20 400 401 402 21 4 104 204 22 604 504 404 23 403 404 405 24 203 202 201 25 2 102 202 26 201 202 203 27 203 204 205 28 206 205 204 29 302 402 502 30 502 503 504 31 204 304 404 32 505 504 503 33 405 404 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 505 504 503 19 400 401 402 20 502 503 504 21 4 104 204 22 604 504 404 23 2 102 202 24 302 202 102 25 200 201 202 26 102 202 302 27 203 204 205 28 206 205 204 29 302 402 502 30 403 404 405 31 204 304 404 32 501 502 503 33 405 404 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 505 504 503 19 400 401 402 20 502 503 504 21 4 104 204 22 604 504 404 23 2 102 202 24 302 202 102 25 200 201 202 26 102 202 302 27 302 402 502 28 203 204 205 29 206 205 204 30 403 404 405 31 204 304 404 32 501 502 503 33 405 404 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 505 504 503 19 400 401 402 20 502 503 504 21 4 104 204 22 604 504 404 23 302 402 502 24 200 201 202 25 203 202 201 26 2 102 202 27 201 202 203 28 203 204 205 29 501 502 503 30 206 205 204 31 403 404 405 32 204 304 404 33 405 404 403 34 403 503 603 35 602 603 604 1 202 102 2 2 200 201 202 3 401 301 201 4 101 201 301 5 400 300 200 6 302 202 102 7 2 102 202 8 203 202 201 9 200 201 202 10 205 204 203 11 405 305 205 12 403 404 405 13 603 503 403 14 4 104 204 15 204 304 404 16 206 205 204 17 203 204 205 18 105 205 305 19 306 305 304 20 404 304 204 21 406 405 404 22 403 404 405 23 505 405 305 24 604 504 404 25 3 103 203 26 203 204 205 27 205 305 405 28 405 404 403 29 403 303 203 30 203 202 201 31 201 301 401 32 501 502 503 33 401 402 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 2 102 202 19 400 401 402 20 604 504 404 21 4 104 204 22 203 204 205 23 501 502 503 24 206 205 204 25 403 404 405 26 204 304 404 27 302 202 102 28 200 201 202 29 102 202 302 30 302 402 502 31 502 503 504 32 505 504 503 33 405 404 403 34 403 503 603 35 602 603 604 1 4 3 2 2 204 104 4 3 206 205 204 4 406 306 206 5 102 103 104 6 405 305 205 7 403 404 405 8 603 503 403 9 105 205 305 10 405 305 205 11 302 202 102 12 300 301 302 13 101 201 301 14 401 301 201 15 403 402 401 16 203 303 403 17 205 204 203 18 505 504 503 19 400 401 402 20 502 503 504 21 4 104 204 22 604 504 404 23 2 102 202 24 302 202 102 25 203 204 205 26 200 201 202 27 206 205 204 28 102 202 302 29 302 402 502 30 501 502 503 31 403 404 405 32 204 304 404 33 405 404 403 34 403 503 603 35 602 603 604 peg-solitaire-2.2/games/1111111111111111110111111111111111111_253.sol0000644000175000017500000000207012753371402022145 0ustar demarchidemarchi1 301 302 303 2 102 202 302 3 204 203 202 4 201 202 203 5 402 302 202 6 404 403 402 7 401 402 403 8 104 103 102 9 102 202 302 10 406 405 404 11 205 305 405 12 404 405 406 13 604 504 404 14 502 503 504 15 404 504 604 1 301 302 303 2 102 202 302 3 204 203 202 4 201 202 203 5 402 302 202 6 404 403 402 7 401 402 403 8 104 103 102 9 102 202 302 10 406 405 404 11 205 305 405 12 404 405 406 13 602 502 402 14 504 503 502 15 402 502 602 1 301 302 303 2 102 202 302 3 204 203 202 4 201 202 203 5 402 302 202 6 404 403 402 7 401 402 403 8 104 103 102 9 102 202 302 10 406 405 404 11 205 305 405 12 602 502 402 13 504 503 502 14 402 502 602 15 404 405 406 1 301 302 303 2 102 202 302 3 204 203 202 4 201 202 203 5 402 302 202 6 404 403 402 7 401 402 403 8 104 103 102 9 102 202 302 10 406 405 404 11 205 305 405 12 602 502 402 13 504 503 502 14 404 405 406 15 402 502 602 1 301 302 303 2 102 202 302 3 204 203 202 4 201 202 203 5 402 302 202 6 404 403 402 7 401 402 403 8 104 103 102 9 102 202 302 10 406 405 404 11 602 502 402 12 205 305 405 13 404 405 406 14 504 503 502 15 402 502 602 peg-solitaire-2.2/games/000000000000000000000010000000000000000000000_97.sol0000644000175000017500000000607213105114425022626 0ustar demarchidemarchi1 404 403 402 2 403 404 405 3 405 305 205 4 305 405 505 5 505 504 503 6 503 603 703 7 703 704 705 8 705 605 505 9 505 506 507 10 507 407 307 11 307 306 305 12 305 304 303 13 402 401 400 14 303 203 103 15 103 104 105 16 203 103 3 17 3 4 5 18 504 503 502 19 502 501 500 20 306 307 308 21 308 408 508 22 307 306 305 23 306 307 308 24 506 406 306 25 605 705 805 26 805 804 803 27 705 605 505 28 505 506 507 29 605 705 805 30 603 604 605 31 503 603 703 32 501 502 503 33 503 504 505 34 502 402 302 35 302 301 300 36 103 203 303 37 303 403 503 38 503 502 501 39 203 103 3 40 403 303 203 41 303 403 503 42 304 303 302 43 404 304 204 1 404 403 402 2 403 404 405 3 405 305 205 4 305 405 505 5 505 504 503 6 503 603 703 7 703 704 705 8 705 605 505 9 505 506 507 10 507 407 307 11 307 306 305 12 305 304 303 13 402 401 400 14 303 203 103 15 103 104 105 16 203 103 3 17 3 4 5 18 504 503 502 19 502 501 500 20 306 307 308 21 308 408 508 22 307 306 305 23 306 307 308 24 506 406 306 25 605 705 805 26 805 804 803 27 705 605 505 28 505 506 507 29 605 705 805 30 603 604 605 31 503 603 703 32 501 502 503 33 503 504 505 34 502 402 302 35 302 301 300 36 103 203 303 37 203 103 3 38 303 403 503 39 403 303 203 40 503 502 501 41 303 403 503 42 304 303 302 43 404 304 204 1 404 403 402 2 403 404 405 3 405 305 205 4 305 405 505 5 505 504 503 6 503 603 703 7 703 704 705 8 705 605 505 9 505 506 507 10 507 407 307 11 307 306 305 12 305 304 303 13 402 401 400 14 303 203 103 15 103 104 105 16 203 103 3 17 3 4 5 18 504 503 502 19 502 501 500 20 306 307 308 21 308 408 508 22 307 306 305 23 306 307 308 24 506 406 306 25 605 705 805 26 805 804 803 27 705 605 505 28 505 506 507 29 605 705 805 30 603 604 605 31 503 603 703 32 501 502 503 33 503 504 505 34 502 402 302 35 302 301 300 36 103 203 303 37 203 103 3 38 303 403 503 39 503 502 501 40 403 303 203 41 303 403 503 42 304 303 302 43 404 304 204 1 404 403 402 2 403 404 405 3 405 305 205 4 305 405 505 5 505 504 503 6 503 603 703 7 703 704 705 8 705 605 505 9 505 506 507 10 507 407 307 11 307 306 305 12 305 304 303 13 402 401 400 14 303 203 103 15 103 104 105 16 203 103 3 17 3 4 5 18 504 503 502 19 502 501 500 20 306 307 308 21 308 408 508 22 307 306 305 23 306 307 308 24 506 406 306 25 605 705 805 26 805 804 803 27 705 605 505 28 505 506 507 29 605 705 805 30 603 604 605 31 503 603 703 32 501 502 503 33 503 504 505 34 502 402 302 35 302 301 300 36 103 203 303 37 303 403 503 38 503 502 501 39 203 103 3 40 403 303 203 41 303 403 503 42 304 303 302 43 104 204 304 1 404 403 402 2 403 404 405 3 405 305 205 4 305 405 505 5 505 504 503 6 503 603 703 7 703 704 705 8 705 605 505 9 505 506 507 10 507 407 307 11 307 306 305 12 305 304 303 13 402 401 400 14 303 203 103 15 103 104 105 16 203 103 3 17 3 4 5 18 504 503 502 19 502 501 500 20 306 307 308 21 308 408 508 22 307 306 305 23 306 307 308 24 506 406 306 25 605 705 805 26 805 804 803 27 705 605 505 28 505 506 507 29 605 705 805 30 603 604 605 31 503 603 703 32 501 502 503 33 503 504 505 34 502 402 302 35 302 301 300 36 103 203 303 37 203 103 3 38 303 403 503 39 403 303 203 40 503 502 501 41 303 403 503 42 304 303 302 43 104 204 304 peg-solitaire-2.2/games/1111111111101111111111111111111111111_31.sol0000644000175000017500000001474613101667537022101 0ustar demarchidemarchi1 3 103 203 2 105 104 103 3 304 204 104 4 306 305 304 5 4 104 204 6 102 103 104 7 302 202 102 8 300 301 302 9 2 102 202 10 302 202 102 11 502 402 302 12 504 503 502 13 303 403 503 14 602 502 402 15 302 402 502 16 304 404 504 17 603 503 403 18 604 504 404 19 200 201 202 20 203 202 201 21 205 204 203 22 501 401 301 23 201 301 401 24 505 405 305 25 101 102 103 26 103 203 303 27 400 401 402 28 502 402 302 29 302 303 304 30 403 404 405 31 406 405 404 32 404 304 204 33 104 204 304 34 304 305 306 35 206 306 406 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 304 303 302 13 306 305 304 14 505 504 503 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 206 205 204 25 503 403 303 26 102 202 302 27 302 402 502 28 400 401 402 29 502 402 302 30 302 303 304 31 304 404 504 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 304 303 302 13 306 305 304 14 505 504 503 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 206 205 204 25 102 202 302 26 302 402 502 27 502 503 504 28 504 404 304 29 400 401 402 30 402 403 404 31 304 404 504 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 206 205 204 25 503 403 303 26 102 202 302 27 302 402 502 28 400 401 402 29 502 402 302 30 302 303 304 31 304 404 504 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 503 403 303 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 105 205 305 32 406 405 404 33 504 404 304 34 304 305 306 35 206 306 406 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 304 303 302 13 306 305 304 14 505 504 503 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 503 403 303 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 206 205 204 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 503 403 303 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 206 205 204 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 304 303 302 13 306 305 304 14 505 504 503 15 2 102 202 16 302 202 102 17 304 404 504 18 604 504 404 19 602 502 402 20 205 204 203 21 4 104 204 22 200 201 202 23 503 403 303 24 203 204 205 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 206 205 204 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 304 303 302 13 306 305 304 14 505 504 503 15 2 102 202 16 302 202 102 17 304 404 504 18 602 502 402 19 604 504 404 20 200 201 202 21 205 204 203 22 4 104 204 23 203 204 205 24 503 403 303 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 105 205 305 32 406 405 404 33 504 404 304 34 304 305 306 35 206 306 406 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 304 404 504 17 302 202 102 18 604 504 404 19 602 502 402 20 205 204 203 21 4 104 204 22 200 201 202 23 503 403 303 24 203 204 205 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 206 205 204 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 304 404 504 17 302 202 102 18 604 504 404 19 602 502 402 20 205 204 203 21 200 201 202 22 4 104 204 23 203 204 205 24 503 403 303 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 206 205 204 32 406 405 404 33 504 404 304 34 304 204 104 35 105 104 103 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 304 404 504 17 302 202 102 18 604 504 404 19 602 502 402 20 205 204 203 21 4 104 204 22 200 201 202 23 503 403 303 24 203 204 205 25 102 202 302 26 302 402 502 27 400 401 402 28 502 402 302 29 302 303 304 30 304 404 504 31 406 405 404 32 504 404 304 33 105 205 305 34 304 305 306 35 206 306 406 1 3 103 203 2 101 102 103 3 104 103 102 4 303 203 103 5 102 103 104 6 301 302 303 7 501 401 301 8 300 301 302 9 403 402 401 10 603 503 403 11 302 202 102 12 505 504 503 13 304 303 302 14 306 305 304 15 2 102 202 16 304 404 504 17 302 202 102 18 604 504 404 19 602 502 402 20 205 204 203 21 200 201 202 22 4 104 204 23 203 204 205 24 102 202 302 25 302 402 502 26 206 205 204 27 400 401 402 28 502 503 504 29 504 404 304 30 406 405 404 31 304 404 504 32 402 403 404 33 504 404 304 34 304 204 104 35 105 104 103 peg-solitaire-2.2/games/111111111111111010111111111111111_230.sol0000644000175000017500000000415313101135056021626 0ustar demarchidemarchi1 306 305 304 2 304 303 302 3 104 204 304 4 206 205 204 5 304 204 104 6 4 104 204 7 203 204 205 8 2 3 4 9 102 103 104 10 4 104 204 11 205 204 203 12 302 202 102 13 200 201 202 14 102 202 302 15 401 301 201 16 400 300 200 17 200 201 202 18 302 202 102 19 504 404 304 20 403 402 401 21 602 502 402 22 604 603 602 23 406 405 404 24 404 304 204 25 204 203 202 26 102 202 302 27 302 402 502 28 602 502 402 29 401 402 403 30 503 403 303 1 306 305 304 2 304 303 302 3 104 204 304 4 206 205 204 5 304 204 104 6 4 104 204 7 203 204 205 8 2 3 4 9 102 103 104 10 4 104 204 11 205 204 203 12 302 202 102 13 200 201 202 14 102 202 302 15 401 301 201 16 400 300 200 17 200 201 202 18 504 404 304 19 202 203 204 20 403 402 401 21 602 502 402 22 302 402 502 23 604 603 602 24 602 502 402 25 401 402 403 26 406 405 404 27 403 404 405 28 204 304 404 29 405 404 403 30 503 403 303 1 306 305 304 2 304 303 302 3 104 204 304 4 206 205 204 5 304 204 104 6 4 104 204 7 203 204 205 8 2 3 4 9 102 103 104 10 4 104 204 11 205 204 203 12 302 202 102 13 200 201 202 14 102 202 302 15 401 301 201 16 400 300 200 17 504 404 304 18 200 201 202 19 302 202 102 20 403 402 401 21 602 502 402 22 604 603 602 23 406 405 404 24 404 304 204 25 204 203 202 26 102 202 302 27 302 402 502 28 602 502 402 29 401 402 403 30 503 403 303 1 306 305 304 2 304 303 302 3 104 204 304 4 206 205 204 5 304 204 104 6 4 104 204 7 203 204 205 8 2 3 4 9 102 103 104 10 4 104 204 11 205 204 203 12 302 202 102 13 200 201 202 14 102 202 302 15 401 301 201 16 400 300 200 17 200 201 202 18 302 202 102 19 504 404 304 20 403 402 401 21 602 502 402 22 406 405 404 23 604 603 602 24 404 304 204 25 204 203 202 26 102 202 302 27 302 402 502 28 602 502 402 29 401 402 403 30 503 403 303 1 306 305 304 2 304 303 302 3 104 204 304 4 206 205 204 5 304 204 104 6 4 104 204 7 203 204 205 8 2 3 4 9 102 103 104 10 4 104 204 11 205 204 203 12 302 202 102 13 200 201 202 14 102 202 302 15 401 301 201 16 400 300 200 17 200 201 202 18 302 202 102 19 504 404 304 20 403 402 401 21 602 502 402 22 406 405 404 23 404 304 204 24 204 203 202 25 102 202 302 26 302 402 502 27 604 603 602 28 602 502 402 29 401 402 403 30 503 403 303 peg-solitaire-2.2/games/11111101111111111111111111111111111111111_155.sol0000644000175000017500000000546613101144173022455 0ustar demarchidemarchi1 4 104 204 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 103 203 303 10 403 303 203 11 202 203 204 12 104 204 304 13 307 306 305 14 304 305 306 15 105 205 305 16 206 306 406 17 506 406 306 18 408 407 406 19 306 406 506 20 606 506 406 21 705 605 505 22 504 505 506 23 507 506 505 24 301 302 303 25 400 401 402 26 501 502 503 27 405 404 403 28 704 604 504 29 602 603 604 30 403 503 603 31 703 603 503 32 504 505 506 33 506 406 306 34 306 305 304 35 304 303 302 36 302 402 502 37 502 503 504 38 504 604 704 39 804 704 604 1 4 104 204 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 103 203 303 10 403 303 203 11 202 203 204 12 104 204 304 13 307 306 305 14 304 305 306 15 105 205 305 16 206 306 406 17 506 406 306 18 408 407 406 19 306 406 506 20 606 506 406 21 705 605 505 22 504 505 506 23 507 506 505 24 301 302 303 25 400 401 402 26 501 502 503 27 405 404 403 28 704 604 504 29 504 503 502 30 502 402 302 31 703 603 503 32 403 503 603 33 302 303 304 34 304 305 306 35 306 406 506 36 506 505 504 37 602 603 604 38 504 604 704 39 804 704 604 1 4 104 204 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 103 203 303 10 403 303 203 11 202 203 204 12 104 204 304 13 307 306 305 14 304 305 306 15 105 205 305 16 206 306 406 17 506 406 306 18 408 407 406 19 306 406 506 20 606 506 406 21 705 605 505 22 504 505 506 23 507 506 505 24 301 302 303 25 400 401 402 26 501 502 503 27 405 404 403 28 704 604 504 29 504 503 502 30 502 402 302 31 703 603 503 32 302 303 304 33 304 305 306 34 403 503 603 35 306 406 506 36 506 505 504 37 602 603 604 38 504 604 704 39 804 704 604 1 4 104 204 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 103 203 303 10 403 303 203 11 202 203 204 12 104 204 304 13 307 306 305 14 304 305 306 15 105 205 305 16 206 306 406 17 506 406 306 18 408 407 406 19 306 406 506 20 606 506 406 21 705 605 505 22 504 505 506 23 507 506 505 24 301 302 303 25 400 401 402 26 501 502 503 27 405 404 403 28 704 604 504 29 504 503 502 30 502 402 302 31 703 603 503 32 302 303 304 33 403 503 603 34 304 305 306 35 306 406 506 36 506 505 504 37 602 603 604 38 504 604 704 39 804 704 604 1 4 104 204 2 304 204 104 3 302 303 304 4 502 402 302 5 504 503 502 6 506 505 504 7 306 406 506 8 304 305 306 9 103 203 303 10 403 303 203 11 202 203 204 12 104 204 304 13 307 306 305 14 304 305 306 15 105 205 305 16 206 306 406 17 506 406 306 18 408 407 406 19 306 406 506 20 606 506 406 21 705 605 505 22 504 505 506 23 507 506 505 24 301 302 303 25 400 401 402 26 501 502 503 27 405 404 403 28 704 604 504 29 602 603 604 30 403 503 603 31 504 505 506 32 506 406 306 33 306 305 304 34 304 303 302 35 703 603 503 36 302 402 502 37 502 503 504 38 504 604 704 39 804 704 604 peg-solitaire-2.2/games/111101111011111111111111111111111_287.sol0000644000175000017500000001163213102373764021655 0ustar demarchidemarchi1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 403 402 401 20 401 301 201 21 201 202 203 22 504 404 304 23 4 104 204 24 304 204 104 25 2 3 4 26 4 104 204 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 403 402 401 20 401 301 201 21 4 104 204 22 2 3 4 23 504 404 304 24 304 204 104 25 4 104 204 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 403 402 401 20 4 104 204 21 2 3 4 22 504 404 304 23 304 204 104 24 4 104 204 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 4 104 204 20 2 3 4 21 504 404 304 22 304 204 104 23 4 104 204 24 403 402 401 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 403 402 401 20 4 104 204 21 2 3 4 22 504 404 304 23 304 204 104 24 401 301 201 25 4 104 204 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 4 104 204 20 2 3 4 21 504 404 304 22 304 204 104 23 403 402 401 24 401 301 201 25 201 202 203 26 4 104 204 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 4 104 204 20 2 3 4 21 504 404 304 22 304 204 104 23 403 402 401 24 401 301 201 25 4 104 204 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 504 404 304 20 4 104 204 21 2 3 4 22 304 204 104 23 4 104 204 24 403 402 401 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 403 402 401 20 504 404 304 21 4 104 204 22 2 3 4 23 304 204 104 24 4 104 204 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 4 104 204 20 2 3 4 21 504 404 304 22 304 204 104 23 403 402 401 24 4 104 204 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 4 104 204 19 2 3 4 20 603 503 403 21 504 404 304 22 304 204 104 23 4 104 204 24 403 402 401 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 4 104 204 19 2 3 4 20 504 404 304 21 304 204 104 22 4 104 204 23 603 503 403 24 403 402 401 25 401 301 201 26 201 202 203 27 204 203 202 1 205 204 203 2 202 203 204 3 405 305 205 4 205 204 203 5 200 201 202 6 203 202 201 7 403 404 405 8 604 504 404 9 304 404 504 10 406 405 404 11 206 306 406 12 401 402 403 13 403 404 405 14 406 405 404 15 400 300 200 16 200 201 202 17 602 502 402 18 603 503 403 19 403 402 401 20 504 404 304 21 4 104 204 22 2 3 4 23 304 204 104 24 401 301 201 25 201 202 203 26 4 104 204 27 204 203 202 peg-solitaire-2.2/games/111111111111111101111111111111111_297.sol0000644000175000017500000000542313101141504021640 0ustar demarchidemarchi1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 203 204 205 19 2 102 202 20 3 103 203 21 203 202 201 22 200 201 202 23 406 306 206 24 206 205 204 25 403 303 203 26 203 204 205 27 300 301 302 28 302 202 102 1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 203 204 205 19 2 102 202 20 3 103 203 21 203 202 201 22 200 201 202 23 406 306 206 24 206 205 204 25 300 301 302 26 302 202 102 27 403 303 203 28 203 204 205 1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 203 204 205 19 2 102 202 20 3 103 203 21 203 202 201 22 200 201 202 23 406 306 206 24 206 205 204 25 300 301 302 26 403 303 203 27 203 204 205 28 302 202 102 1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 203 204 205 19 2 102 202 20 3 103 203 21 203 202 201 22 200 201 202 23 300 301 302 24 403 303 203 25 406 306 206 26 302 202 102 27 206 205 204 28 203 204 205 1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 203 204 205 19 2 102 202 20 3 103 203 21 300 301 302 22 203 202 201 23 200 201 202 24 403 303 203 25 406 306 206 26 302 202 102 27 206 205 204 28 203 204 205 1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 203 204 205 19 2 102 202 20 3 103 203 21 203 202 201 22 200 201 202 23 406 306 206 24 206 205 204 25 300 301 302 26 403 303 203 27 302 202 102 28 203 204 205 1 503 403 303 2 401 402 403 3 602 502 402 4 302 402 502 5 604 603 602 6 602 502 402 7 403 402 401 8 400 401 402 9 405 404 403 10 403 402 401 11 204 304 404 12 206 205 204 13 203 204 205 14 205 305 405 15 405 404 403 16 4 104 204 17 201 202 203 18 2 102 202 19 300 301 302 20 203 202 201 21 3 103 203 22 200 201 202 23 302 202 102 24 406 306 206 25 203 204 205 26 403 303 203 27 206 205 204 28 203 204 205 peg-solitaire-2.2/games/1111111111111111111101111111111111111_270.sol0000644000175000017500000000327512753375543022166 0ustar demarchidemarchi1 105 205 305 2 203 204 205 3 4 104 204 4 201 202 203 5 2 102 202 6 203 202 201 7 3 103 203 8 304 204 104 9 504 404 304 10 502 503 504 11 302 402 502 12 206 205 204 13 406 405 404 14 505 504 503 15 304 404 504 16 306 305 304 17 604 504 404 18 502 503 504 19 200 201 202 20 203 202 201 21 300 301 302 22 303 302 301 23 400 401 402 24 403 402 401 1 105 205 305 2 203 204 205 3 4 104 204 4 201 202 203 5 2 102 202 6 203 202 201 7 3 103 203 8 304 204 104 9 504 404 304 10 502 503 504 11 302 402 502 12 206 205 204 13 406 405 404 14 505 504 503 15 304 404 504 16 306 305 304 17 604 504 404 18 502 503 504 19 200 201 202 20 300 301 302 21 303 302 301 22 203 202 201 23 400 401 402 24 403 402 401 1 105 205 305 2 203 204 205 3 4 104 204 4 201 202 203 5 2 102 202 6 203 202 201 7 3 103 203 8 304 204 104 9 504 404 304 10 502 503 504 11 302 402 502 12 206 205 204 13 406 405 404 14 505 504 503 15 304 404 504 16 306 305 304 17 604 504 404 18 502 503 504 19 200 201 202 20 203 202 201 21 400 300 200 22 200 201 202 23 403 303 203 24 203 202 201 1 105 205 305 2 203 204 205 3 4 104 204 4 201 202 203 5 2 102 202 6 203 202 201 7 3 103 203 8 304 204 104 9 504 404 304 10 502 503 504 11 302 402 502 12 206 205 204 13 406 405 404 14 505 504 503 15 304 404 504 16 306 305 304 17 604 504 404 18 300 301 302 19 303 302 301 20 200 201 202 21 203 202 201 22 502 503 504 23 400 401 402 24 403 402 401 1 105 205 305 2 203 204 205 3 4 104 204 4 201 202 203 5 2 102 202 6 203 202 201 7 3 103 203 8 304 204 104 9 504 404 304 10 502 503 504 11 302 402 502 12 206 205 204 13 406 405 404 14 505 504 503 15 304 404 504 16 306 305 304 17 604 504 404 18 300 301 302 19 200 201 202 20 303 302 301 21 203 202 201 22 502 503 504 23 400 401 402 24 403 402 401 peg-solitaire-2.2/games/001111110101111101111101011111100_208.sol0000644000175000017500000000506013100666661021634 0ustar demarchidemarchi1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 406 306 206 14 206 205 204 15 400 401 402 16 200 201 202 17 502 402 302 18 303 302 301 19 102 202 302 20 301 302 303 21 303 304 305 22 104 204 304 23 305 304 303 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 406 306 206 14 206 205 204 15 400 401 402 16 200 201 202 17 502 402 302 18 303 304 305 19 104 204 304 20 305 304 303 21 303 302 301 22 102 202 302 23 301 302 303 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 406 306 206 14 206 205 204 15 400 401 402 16 200 201 202 17 502 402 302 18 303 302 301 19 102 202 302 20 301 302 303 21 303 304 305 22 104 204 304 23 304 305 306 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 406 306 206 14 206 205 204 15 200 201 202 16 400 401 402 17 102 202 302 18 303 304 305 19 104 204 304 20 305 304 303 21 303 302 301 22 502 402 302 23 301 302 303 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 406 306 206 14 206 205 204 15 400 401 402 16 502 402 302 17 200 201 202 18 303 304 305 19 104 204 304 20 305 304 303 21 303 302 301 22 102 202 302 23 301 302 303 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 200 201 202 14 102 202 302 15 406 306 206 16 206 205 204 17 303 304 305 18 104 204 304 19 305 304 303 20 400 401 402 21 303 302 301 22 502 402 302 23 301 302 303 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 200 201 202 14 102 202 302 15 406 306 206 16 206 205 204 17 303 304 305 18 104 204 304 19 305 304 303 20 400 401 402 21 303 302 301 22 502 402 302 23 302 301 300 1 206 205 204 2 405 305 205 3 503 403 303 4 204 304 404 5 602 502 402 6 504 404 304 7 203 103 3 8 4 3 2 9 2 102 202 10 302 402 502 11 300 301 302 12 302 202 102 13 303 304 305 14 200 201 202 15 406 306 206 16 206 205 204 17 400 401 402 18 502 402 302 19 104 204 304 20 305 304 303 21 303 302 301 22 102 202 302 23 302 301 300 peg-solitaire-2.2/games/1111111111111111111111011111011111111_275.sol0000644000175000017500000000203512753376315022161 0ustar demarchidemarchi1 206 306 406 2 304 305 306 3 105 205 305 4 306 305 304 5 200 300 400 6 302 301 300 7 101 201 301 8 300 301 302 9 103 104 105 10 304 204 104 11 105 104 103 12 504 404 304 13 502 503 504 14 302 402 502 15 102 202 302 16 400 401 402 17 501 502 503 18 302 402 502 19 604 504 404 20 502 503 504 21 404 504 604 22 406 405 404 23 304 404 504 24 505 504 503 1 206 306 406 2 304 305 306 3 105 205 305 4 306 305 304 5 200 300 400 6 302 301 300 7 101 201 301 8 300 301 302 9 103 104 105 10 304 204 104 11 105 104 103 12 504 404 304 13 502 503 504 14 302 402 502 15 102 202 302 16 303 302 301 17 505 504 503 18 400 401 402 19 502 402 302 20 301 302 303 21 406 405 404 22 304 404 504 23 504 503 502 24 501 502 503 1 206 306 406 2 304 305 306 3 105 205 305 4 306 305 304 5 200 300 400 6 302 301 300 7 101 201 301 8 300 301 302 9 103 104 105 10 304 204 104 11 105 104 103 12 504 404 304 13 502 503 504 14 302 402 502 15 102 202 302 16 303 302 301 17 505 504 503 18 406 405 404 19 304 404 504 20 400 401 402 21 502 402 302 22 301 302 303 23 504 503 502 24 501 502 503 peg-solitaire-2.2/games/110111011111111101111111110111011_219.sol0000644000175000017500000000443013101127547021636 0ustar demarchidemarchi1 503 403 303 2 2 3 4 3 206 306 406 4 405 404 403 5 604 504 404 6 205 305 405 7 303 403 503 8 103 203 303 9 201 202 203 10 203 204 205 11 4 104 204 12 603 503 403 13 402 302 202 14 205 204 203 15 102 202 302 16 304 404 504 17 400 300 200 18 401 301 201 19 200 201 202 20 202 203 204 21 303 302 301 22 406 405 404 23 504 404 304 24 204 304 404 25 404 403 402 26 502 402 302 27 301 302 303 1 103 203 303 2 2 3 4 3 205 204 203 4 405 305 205 5 4 104 204 6 206 306 406 7 604 603 602 8 303 203 103 9 301 302 303 10 502 402 302 11 504 503 502 12 303 302 301 13 201 202 203 14 103 203 303 15 300 301 302 16 303 302 301 17 602 502 402 18 205 204 203 19 403 404 405 20 406 405 404 21 404 304 204 22 204 203 202 23 102 202 302 24 302 402 502 25 400 401 402 26 502 402 302 27 301 302 303 1 103 203 303 2 2 3 4 3 205 204 203 4 405 305 205 5 4 104 204 6 206 306 406 7 604 603 602 8 303 203 103 9 301 302 303 10 502 402 302 11 504 503 502 12 303 302 301 13 201 202 203 14 103 203 303 15 300 301 302 16 303 302 301 17 602 502 402 18 403 404 405 19 205 204 203 20 406 405 404 21 404 304 204 22 204 203 202 23 102 202 302 24 302 402 502 25 400 401 402 26 502 402 302 27 301 302 303 1 103 203 303 2 2 3 4 3 205 204 203 4 405 305 205 5 4 104 204 6 206 306 406 7 604 603 602 8 303 203 103 9 301 302 303 10 502 402 302 11 504 503 502 12 303 302 301 13 201 202 203 14 103 203 303 15 300 301 302 16 303 302 301 17 205 204 203 18 400 401 402 19 403 402 401 20 602 502 402 21 401 402 403 22 403 404 405 23 406 405 404 24 404 304 204 25 204 203 202 26 102 202 302 27 301 302 303 1 103 203 303 2 2 3 4 3 205 204 203 4 405 305 205 5 4 104 204 6 206 306 406 7 604 603 602 8 303 203 103 9 301 302 303 10 502 402 302 11 504 503 502 12 303 302 301 13 201 202 203 14 103 203 303 15 300 301 302 16 303 302 301 17 205 204 203 18 602 502 402 19 403 404 405 20 406 405 404 21 404 304 204 22 204 203 202 23 102 202 302 24 302 402 502 25 400 401 402 26 502 402 302 27 301 302 303 1 103 203 303 2 2 3 4 3 205 204 203 4 405 305 205 5 4 104 204 6 206 306 406 7 604 603 602 8 303 203 103 9 301 302 303 10 502 402 302 11 504 503 502 12 303 302 301 13 201 202 203 14 103 203 303 15 300 301 302 16 303 302 301 17 602 502 402 18 403 404 405 19 406 405 404 20 205 204 203 21 404 304 204 22 204 203 202 23 102 202 302 24 302 402 502 25 400 401 402 26 502 402 302 27 301 302 303 peg-solitaire-2.2/games/111111111111111101111111111111111_292.sol0000644000175000017500000000241513101141475021640 0ustar demarchidemarchi1 305 304 303 2 104 204 304 3 206 205 204 4 203 204 205 5 201 202 203 6 402 302 202 7 202 203 204 8 2 102 202 9 304 303 302 10 302 202 102 11 4 3 2 12 2 102 202 13 602 502 402 14 504 404 304 15 304 204 104 16 104 103 102 17 102 202 302 18 302 402 502 19 400 401 402 20 402 403 404 21 604 603 602 22 602 502 402 23 300 301 302 24 302 402 502 25 502 503 504 26 504 404 304 27 406 405 404 28 404 304 204 29 204 205 206 30 206 306 406 1 305 304 303 2 104 204 304 3 206 205 204 4 203 204 205 5 201 202 203 6 402 302 202 7 202 203 204 8 2 102 202 9 304 303 302 10 302 202 102 11 4 3 2 12 2 102 202 13 602 502 402 14 504 404 304 15 304 204 104 16 104 103 102 17 102 202 302 18 604 603 602 19 302 402 502 20 300 301 302 21 602 502 402 22 302 402 502 23 502 503 504 24 400 401 402 25 402 403 404 26 504 404 304 27 406 306 206 28 206 205 204 29 204 304 404 30 404 405 406 1 305 304 303 2 104 204 304 3 206 205 204 4 203 204 205 5 201 202 203 6 402 302 202 7 202 203 204 8 2 102 202 9 304 303 302 10 302 202 102 11 4 3 2 12 2 102 202 13 602 502 402 14 504 404 304 15 304 204 104 16 104 103 102 17 102 202 302 18 302 402 502 19 400 401 402 20 402 403 404 21 604 603 602 22 602 502 402 23 300 301 302 24 302 402 502 25 502 503 504 26 504 404 304 27 406 306 206 28 206 205 204 29 204 304 404 30 404 405 406 peg-solitaire-2.2/games/111111011111011101111111111111111_225.sol0000644000175000017500000000723213101131357021632 0ustar demarchidemarchi1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 200 201 202 18 303 302 301 19 102 202 302 20 301 302 303 21 502 402 302 22 302 303 304 23 403 404 405 24 604 504 404 25 304 404 504 26 602 603 604 27 604 504 404 28 405 404 403 29 503 403 303 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 302 303 304 18 200 201 202 19 502 402 302 20 403 404 405 21 604 504 404 22 304 404 504 23 602 603 604 24 604 504 404 25 405 404 403 26 503 403 303 27 303 302 301 28 102 202 302 29 301 302 303 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 302 303 304 18 502 402 302 19 403 404 405 20 604 504 404 21 304 404 504 22 602 603 604 23 604 504 404 24 200 201 202 25 405 404 403 26 503 403 303 27 303 302 301 28 102 202 302 29 301 302 303 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 302 303 304 18 502 402 302 19 403 404 405 20 604 504 404 21 304 404 504 22 200 201 202 23 602 603 604 24 604 504 404 25 405 404 403 26 503 403 303 27 303 302 301 28 102 202 302 29 301 302 303 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 200 201 202 18 303 302 301 19 102 202 302 20 301 302 303 21 502 402 302 22 302 303 304 23 403 404 405 24 604 504 404 25 602 603 604 26 304 404 504 27 604 504 404 28 405 404 403 29 503 403 303 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 302 303 304 13 300 301 302 14 202 102 2 15 402 302 202 16 400 401 402 17 502 402 302 18 302 202 102 19 2 102 202 20 403 404 405 21 604 504 404 22 304 404 504 23 602 603 604 24 604 504 404 25 405 404 403 26 503 403 303 27 303 203 103 28 201 202 203 29 203 103 3 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 302 303 304 18 502 402 302 19 403 404 405 20 604 504 404 21 304 404 504 22 602 603 604 23 200 201 202 24 604 504 404 25 405 404 403 26 503 403 303 27 303 302 301 28 102 202 302 29 301 302 303 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 200 201 202 18 303 302 301 19 102 202 302 20 301 302 303 21 502 402 302 22 403 404 405 23 302 303 304 24 604 504 404 25 304 404 504 26 602 603 604 27 604 504 404 28 405 404 403 29 403 503 603 1 103 203 303 2 205 204 203 3 4 104 204 4 2 3 4 5 304 204 104 6 4 104 204 7 203 204 205 8 406 306 206 9 206 205 204 10 405 305 205 11 205 204 203 12 202 201 200 13 401 301 201 14 200 201 202 15 400 300 200 16 203 202 201 17 302 303 304 18 502 402 302 19 403 404 405 20 200 201 202 21 604 504 404 22 602 603 604 23 304 404 504 24 604 504 404 25 405 404 403 26 503 403 303 27 303 302 301 28 102 202 302 29 302 301 300 peg-solitaire-2.2/games/111111011111111111111111110111111_229.sol0000644000175000017500000000657013101133525021642 0ustar demarchidemarchi1 400 300 200 2 206 306 406 3 204 205 206 4 4 104 204 5 2 3 4 6 102 103 104 7 203 204 205 8 201 202 203 9 401 301 201 10 403 402 401 11 603 503 403 12 4 104 204 13 602 502 402 14 303 403 503 15 200 201 202 16 203 202 201 17 205 204 203 18 401 402 403 19 404 304 204 20 203 204 205 21 206 205 204 22 406 405 404 23 404 403 402 24 402 302 202 25 201 202 203 26 203 204 205 27 205 305 405 28 604 504 404 29 405 404 403 30 403 503 603 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 304 204 104 18 4 104 204 19 201 202 203 20 203 204 205 21 206 205 204 22 502 402 302 23 301 302 303 24 303 403 503 25 102 103 104 26 104 204 304 27 304 404 504 28 604 504 404 29 405 404 403 30 503 403 303 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 304 204 104 18 4 104 204 19 201 202 203 20 203 204 205 21 206 205 204 22 502 402 302 23 301 302 303 24 102 103 104 25 303 403 503 26 104 204 304 27 304 404 504 28 604 504 404 29 405 404 403 30 503 403 303 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 304 204 104 18 4 104 204 19 201 202 203 20 203 204 205 21 206 205 204 22 502 402 302 23 301 302 303 24 102 103 104 25 104 204 304 26 303 403 503 27 304 404 504 28 604 504 404 29 405 404 403 30 503 403 303 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 304 204 104 18 4 104 204 19 201 202 203 20 203 204 205 21 206 205 204 22 502 402 302 23 301 302 303 24 102 103 104 25 104 204 304 26 304 404 504 27 604 504 404 28 303 403 503 29 405 404 403 30 503 403 303 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 304 204 104 18 4 104 204 19 201 202 203 20 203 204 205 21 206 205 204 22 502 402 302 23 102 103 104 24 104 204 304 25 301 302 303 26 304 404 504 27 303 403 503 28 604 504 404 29 405 404 403 30 503 403 303 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 304 204 104 18 4 104 204 19 201 202 203 20 203 204 205 21 206 205 204 22 502 402 302 23 301 302 303 24 102 103 104 25 104 204 304 26 304 404 504 27 303 403 503 28 604 504 404 29 405 404 403 30 503 403 303 1 206 306 406 2 304 305 306 3 504 404 304 4 502 503 504 5 604 504 404 6 602 603 604 7 406 306 206 8 302 402 502 9 300 301 302 10 303 302 301 11 103 203 303 12 205 204 203 13 400 401 402 14 4 104 204 15 2 3 4 16 303 203 103 17 201 202 203 18 304 204 104 19 4 104 204 20 203 204 205 21 206 205 204 22 502 402 302 23 301 302 303 24 102 103 104 25 104 204 304 26 303 403 503 27 304 404 504 28 604 504 404 29 405 404 403 30 503 403 303 peg-solitaire-2.2/games/111111011111011101111111111111111_116.sol0000644000175000017500000000403413100423764021633 0ustar demarchidemarchi1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 405 404 403 6 303 302 301 7 103 203 303 8 604 504 404 9 602 603 604 10 304 404 504 11 604 504 404 12 201 202 203 13 2 102 202 14 300 301 302 15 4 3 2 16 302 202 102 17 2 102 202 18 303 203 103 19 502 402 302 20 400 401 402 21 403 402 401 22 202 302 402 23 401 402 403 24 403 404 405 25 406 405 404 26 104 204 304 27 404 304 204 28 205 204 203 29 203 103 3 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 405 404 403 6 303 302 301 7 103 203 303 8 604 504 404 9 602 603 604 10 304 404 504 11 604 504 404 12 201 202 203 13 2 102 202 14 300 301 302 15 4 3 2 16 302 202 102 17 2 102 202 18 303 203 103 19 502 402 302 20 400 401 402 21 403 404 405 22 406 405 404 23 104 204 304 24 404 304 204 25 205 204 203 26 203 202 201 27 402 302 202 28 201 202 203 29 203 103 3 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 405 404 403 6 303 302 301 7 103 203 303 8 604 504 404 9 602 603 604 10 304 404 504 11 604 504 404 12 201 202 203 13 2 102 202 14 300 301 302 15 4 3 2 16 302 202 102 17 2 102 202 18 303 203 103 19 502 402 302 20 400 401 402 21 403 404 405 22 406 405 404 23 104 204 304 24 404 304 204 25 205 204 203 26 203 202 201 27 402 302 202 28 201 202 203 29 103 203 303 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 405 404 403 6 303 302 301 7 103 203 303 8 604 504 404 9 602 603 604 10 304 404 504 11 604 504 404 12 201 202 203 13 2 102 202 14 300 301 302 15 4 3 2 16 302 202 102 17 2 102 202 18 303 203 103 19 502 402 302 20 400 401 402 21 403 402 401 22 202 302 402 23 401 402 403 24 403 404 405 25 406 405 404 26 104 204 304 27 404 304 204 28 205 204 203 29 103 203 303 1 301 302 303 2 304 303 302 3 306 305 304 4 503 403 303 5 405 404 403 6 303 302 301 7 103 203 303 8 604 504 404 9 602 603 604 10 304 404 504 11 604 504 404 12 201 202 203 13 2 102 202 14 300 301 302 15 4 3 2 16 302 202 102 17 2 102 202 18 303 203 103 19 502 402 302 20 403 404 405 21 406 405 404 22 104 204 304 23 400 401 402 24 404 304 204 25 205 204 203 26 203 202 201 27 402 302 202 28 201 202 203 29 103 203 303 peg-solitaire-2.2/games/111111111111111101111111111111111_293.sol0000644000175000017500000000415313101141501021630 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 604 504 404 4 304 404 504 5 402 403 404 6 104 204 304 7 400 401 402 8 206 205 204 9 203 204 205 10 205 305 405 11 405 404 403 12 403 402 401 13 602 603 604 14 604 504 404 15 404 304 204 16 201 202 203 17 203 204 205 18 2 102 202 19 302 202 102 20 4 3 2 21 2 102 202 22 406 306 206 23 206 205 204 24 200 300 400 25 400 401 402 26 502 402 302 27 302 202 102 28 102 103 104 29 104 204 304 30 303 304 305 1 503 403 303 2 405 404 403 3 604 504 404 4 304 404 504 5 402 403 404 6 104 204 304 7 400 401 402 8 206 205 204 9 203 204 205 10 205 305 405 11 405 404 403 12 403 402 401 13 602 603 604 14 604 504 404 15 404 304 204 16 201 202 203 17 203 204 205 18 200 300 400 19 2 102 202 20 4 3 2 21 302 202 102 22 2 102 202 23 400 401 402 24 502 402 302 25 302 202 102 26 102 103 104 27 406 306 206 28 206 205 204 29 104 204 304 30 303 304 305 1 503 403 303 2 405 404 403 3 604 504 404 4 304 404 504 5 402 403 404 6 104 204 304 7 400 401 402 8 206 205 204 9 203 204 205 10 205 305 405 11 405 404 403 12 403 402 401 13 602 603 604 14 604 504 404 15 404 304 204 16 201 202 203 17 203 204 205 18 2 102 202 19 302 202 102 20 200 300 400 21 4 3 2 22 2 102 202 23 400 401 402 24 502 402 302 25 302 202 102 26 102 103 104 27 406 306 206 28 206 205 204 29 104 204 304 30 303 304 305 1 503 403 303 2 405 404 403 3 604 504 404 4 304 404 504 5 402 403 404 6 104 204 304 7 400 401 402 8 206 205 204 9 203 204 205 10 205 305 405 11 405 404 403 12 403 402 401 13 602 603 604 14 604 504 404 15 404 304 204 16 201 202 203 17 203 204 205 18 2 102 202 19 302 202 102 20 4 3 2 21 2 102 202 22 406 306 206 23 200 300 400 24 400 401 402 25 502 402 302 26 302 202 102 27 102 103 104 28 206 205 204 29 104 204 304 30 303 304 305 1 503 403 303 2 405 404 403 3 604 504 404 4 304 404 504 5 402 403 404 6 104 204 304 7 400 401 402 8 206 205 204 9 203 204 205 10 205 305 405 11 405 404 403 12 403 402 401 13 602 603 604 14 604 504 404 15 404 304 204 16 201 202 203 17 2 102 202 18 302 202 102 19 200 300 400 20 4 3 2 21 2 102 202 22 203 204 205 23 400 401 402 24 502 402 302 25 302 202 102 26 102 103 104 27 406 306 206 28 206 205 204 29 104 204 304 30 303 304 305 peg-solitaire-2.2/games/111111111000111000000010000000111000111111111_89.sol0000644000175000017500000000377613105114474022673 0ustar demarchidemarchi1 203 303 403 2 3 103 203 3 5 4 3 4 105 104 103 5 103 203 303 6 605 505 405 7 805 705 605 8 703 704 705 9 803 804 805 10 205 204 203 11 303 203 103 12 3 103 203 13 705 605 505 14 305 304 303 15 404 403 402 16 203 303 403 17 402 403 404 18 404 405 406 19 503 603 703 20 504 604 704 21 703 704 705 22 805 705 605 23 605 505 405 24 405 406 407 1 205 305 405 2 5 105 205 3 505 405 305 4 205 305 405 5 3 4 5 6 103 104 105 7 5 105 205 8 303 304 305 9 305 205 105 10 203 204 205 11 105 205 305 12 305 405 505 13 603 503 403 14 803 703 603 15 805 804 803 16 404 403 402 17 705 704 703 18 703 603 503 19 605 604 603 20 503 603 703 21 505 504 503 22 803 703 603 23 603 503 403 24 402 403 404 1 205 305 405 2 5 105 205 3 505 405 305 4 205 305 405 5 3 4 5 6 103 104 105 7 5 105 205 8 303 304 305 9 305 205 105 10 203 204 205 11 105 205 305 12 305 405 505 13 603 503 403 14 803 703 603 15 805 804 803 16 404 403 402 17 705 704 703 18 703 603 503 19 605 604 603 20 503 603 703 21 803 703 603 22 505 504 503 23 603 503 403 24 402 403 404 1 205 305 405 2 5 105 205 3 505 405 305 4 205 305 405 5 3 4 5 6 103 104 105 7 5 105 205 8 303 304 305 9 305 205 105 10 203 204 205 11 105 205 305 12 305 405 505 13 603 503 403 14 803 703 603 15 805 804 803 16 404 403 402 17 505 504 503 18 503 603 703 19 704 604 504 20 705 605 505 21 803 703 603 22 505 504 503 23 603 503 403 24 402 403 404 1 205 305 405 2 5 105 205 3 505 405 305 4 205 305 405 5 3 4 5 6 103 104 105 7 5 105 205 8 303 304 305 9 305 205 105 10 203 204 205 11 105 205 305 12 305 405 505 13 603 503 403 14 803 703 603 15 404 403 402 16 805 804 803 17 705 704 703 18 703 603 503 19 605 604 603 20 503 603 703 21 505 504 503 22 803 703 603 23 603 503 403 24 402 403 404 1 205 305 405 2 5 105 205 3 505 405 305 4 205 305 405 5 3 4 5 6 103 104 105 7 5 105 205 8 303 304 305 9 305 205 105 10 203 204 205 11 105 205 305 12 305 405 505 13 605 505 405 14 805 705 605 15 404 405 406 16 703 704 705 17 503 603 703 18 605 604 603 19 703 603 503 20 503 504 505 21 803 804 805 22 805 705 605 23 605 505 405 24 405 406 407 peg-solitaire-2.2/games/111111011111001010100111110111111_211.sol0000644000175000017500000000325113100673013021614 0ustar demarchidemarchi1 502 402 302 2 504 503 502 3 602 502 402 4 604 603 602 5 104 204 304 6 102 103 104 7 4 104 204 8 2 3 4 9 302 402 502 10 202 201 200 11 401 301 201 12 303 403 503 13 602 502 402 14 405 404 403 15 304 204 104 16 200 201 202 17 202 203 204 18 205 204 203 19 4 104 204 20 203 204 205 21 205 305 405 22 402 403 404 23 405 404 403 24 503 403 303 1 502 402 302 2 504 503 502 3 602 502 402 4 604 603 602 5 104 204 304 6 102 103 104 7 4 104 204 8 2 3 4 9 302 402 502 10 202 201 200 11 401 301 201 12 303 403 503 13 602 502 402 14 405 404 403 15 304 204 104 16 200 201 202 17 202 203 204 18 205 204 203 19 4 104 204 20 203 204 205 21 402 403 404 22 205 305 405 23 405 404 403 24 503 403 303 1 502 402 302 2 504 503 502 3 602 502 402 4 604 603 602 5 104 204 304 6 102 103 104 7 4 104 204 8 2 3 4 9 302 402 502 10 202 201 200 11 401 301 201 12 303 403 503 13 602 502 402 14 405 404 403 15 200 201 202 16 304 204 104 17 202 203 204 18 205 204 203 19 4 104 204 20 203 204 205 21 402 403 404 22 205 305 405 23 405 404 403 24 503 403 303 1 502 402 302 2 504 503 502 3 602 502 402 4 604 603 602 5 104 204 304 6 102 103 104 7 4 104 204 8 2 3 4 9 302 402 502 10 202 201 200 11 401 301 201 12 303 403 503 13 602 502 402 14 405 404 403 15 304 204 104 16 200 201 202 17 202 203 204 18 205 204 203 19 402 403 404 20 4 104 204 21 203 204 205 22 205 305 405 23 405 404 403 24 503 403 303 1 502 402 302 2 504 503 502 3 602 502 402 4 604 603 602 5 104 204 304 6 102 103 104 7 4 104 204 8 2 3 4 9 302 402 502 10 202 201 200 11 401 301 201 12 303 403 503 13 602 502 402 14 405 404 403 15 304 204 104 16 200 201 202 17 402 403 404 18 202 203 204 19 205 204 203 20 4 104 204 21 203 204 205 22 205 305 405 23 405 404 403 24 503 403 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_257.sol0000644000175000017500000000036612753373274022170 0ustar demarchidemarchi1 305 304 303 2 302 303 304 3 503 403 303 4 303 304 305 5 102 202 302 6 104 103 102 7 101 102 103 8 103 203 303 9 205 204 203 10 301 201 101 11 303 302 301 12 501 502 503 13 301 401 501 14 603 503 403 15 505 504 503 16 403 503 603 17 305 405 505 peg-solitaire-2.2/games/0101111101111101111111011111011111010_249.sol0000644000175000017500000000312413103401353022131 0ustar demarchidemarchi1 202 102 2 2 404 504 604 3 502 503 504 4 303 403 503 5 305 304 303 6 105 205 305 7 104 103 102 8 306 305 304 9 505 405 305 10 303 203 103 11 3 103 203 12 101 102 103 13 301 201 101 14 501 401 301 15 603 503 403 16 604 504 404 17 403 404 405 18 402 302 202 19 300 301 302 20 302 202 102 21 2 102 202 22 304 204 104 23 104 103 102 24 101 102 103 25 405 305 205 26 202 203 204 27 205 204 203 28 103 203 303 1 404 405 406 2 202 102 2 3 104 103 102 4 303 203 103 5 301 302 303 6 101 201 301 7 205 305 405 8 403 303 203 9 603 503 403 10 501 502 503 11 503 403 303 12 2 3 4 13 300 301 302 14 406 306 206 15 204 304 404 16 102 103 104 17 4 104 204 18 203 204 205 19 206 205 204 20 401 402 403 21 505 405 305 22 504 404 304 23 403 303 203 24 305 304 303 25 302 303 304 26 304 204 104 27 105 104 103 28 103 203 303 1 402 502 602 2 204 205 206 3 504 503 502 4 303 403 503 5 301 302 303 6 501 401 301 7 405 305 205 8 203 303 403 9 3 103 203 10 101 102 103 11 103 203 303 12 602 603 604 13 300 301 302 14 502 503 504 15 404 304 204 16 604 504 404 17 206 306 406 18 403 404 405 19 201 202 203 20 406 405 404 21 105 205 305 22 302 303 304 23 305 304 303 24 104 204 304 25 203 303 403 26 304 404 504 27 505 504 503 28 503 403 303 1 204 104 4 2 202 203 204 3 403 303 203 4 301 302 303 5 204 203 202 6 603 503 403 7 404 304 204 8 306 305 304 9 501 401 301 10 505 504 503 11 105 205 305 12 405 305 205 13 303 304 305 14 300 301 302 15 101 201 301 16 301 302 303 17 102 202 302 18 302 303 304 19 3 103 203 20 305 205 105 21 503 403 303 22 502 402 302 23 304 204 104 24 4 104 204 25 302 303 304 26 203 204 205 27 105 205 305 28 305 304 303 peg-solitaire-2.2/games/111011111110111111111011111110111_120.sol0000644000175000017500000000375113100424763021632 0ustar demarchidemarchi1 302 202 102 2 200 201 202 3 203 202 201 4 2 102 202 5 502 402 302 6 302 202 102 7 3 103 203 8 203 204 205 9 4 104 204 10 304 404 504 11 604 504 404 12 306 305 304 13 304 404 504 14 406 405 404 15 404 403 402 16 602 603 604 17 604 504 404 18 400 300 200 19 200 201 202 20 102 202 302 21 302 303 304 22 304 204 104 23 206 205 204 24 104 204 304 25 304 404 504 26 504 503 502 27 502 402 302 28 301 302 303 1 302 202 102 2 200 201 202 3 203 202 201 4 2 102 202 5 502 402 302 6 302 202 102 7 3 103 203 8 203 204 205 9 4 104 204 10 304 404 504 11 604 504 404 12 306 305 304 13 304 404 504 14 406 405 404 15 404 403 402 16 602 603 604 17 604 504 404 18 400 300 200 19 200 201 202 20 102 202 302 21 302 402 502 22 502 503 504 23 504 404 304 24 304 204 104 25 206 205 204 26 104 204 304 27 304 303 302 28 301 302 303 1 302 202 102 2 200 201 202 3 203 202 201 4 2 102 202 5 502 402 302 6 302 202 102 7 3 103 203 8 203 204 205 9 4 104 204 10 304 404 504 11 604 504 404 12 306 305 304 13 602 603 604 14 304 404 504 15 604 504 404 16 400 300 200 17 200 201 202 18 102 202 302 19 302 303 304 20 304 204 104 21 206 205 204 22 503 403 303 23 104 204 304 24 304 404 504 25 406 405 404 26 504 404 304 27 304 303 302 28 301 302 303 1 302 202 102 2 200 201 202 3 203 202 201 4 2 102 202 5 502 402 302 6 302 202 102 7 3 103 203 8 203 204 205 9 4 104 204 10 304 404 504 11 604 504 404 12 306 305 304 13 602 603 604 14 304 404 504 15 604 504 404 16 400 300 200 17 200 201 202 18 102 202 302 19 302 303 304 20 304 204 104 21 206 205 204 22 104 204 304 23 304 404 504 24 504 503 502 25 406 405 404 26 404 403 402 27 502 402 302 28 301 302 303 1 302 202 102 2 200 201 202 3 203 202 201 4 2 102 202 5 502 402 302 6 302 202 102 7 3 103 203 8 203 204 205 9 4 104 204 10 304 404 504 11 604 504 404 12 306 305 304 13 602 603 604 14 304 404 504 15 604 504 404 16 400 300 200 17 200 201 202 18 102 202 302 19 302 303 304 20 304 404 504 21 406 405 404 22 503 403 303 23 504 404 304 24 304 204 104 25 206 205 204 26 104 204 304 27 304 303 302 28 301 302 303 ././@LongLink0000644000000000000000000000015000000000000011577 Lustar rootrootpeg-solitaire-2.2/games/11111111111111111111111111111011111111111111111111111111111111111111111_145.solpeg-solitaire-2.2/games/11111111111111111111111111111011111111111111111111111111111111111111111_145.0000644000175000017500000007217413101415743024640 0ustar demarchidemarchi1 403 404 405 2 204 304 404 3 405 404 403 4 205 305 405 5 505 405 305 6 5 105 205 7 3 4 5 8 305 205 105 9 5 105 205 10 103 104 105 11 205 105 5 12 1 2 3 13 202 102 2 14 2 3 4 15 5 4 3 16 201 101 1 17 0 1 2 18 3 2 1 19 402 302 202 20 203 202 201 21 301 201 101 22 1 101 201 23 501 401 301 24 300 301 302 25 100 200 300 26 400 300 200 27 200 201 202 28 202 302 402 29 503 502 501 30 500 501 502 31 502 402 302 32 302 303 304 33 507 506 505 34 505 504 503 35 503 403 303 36 303 304 305 37 705 605 505 38 607 606 605 39 605 505 405 40 305 405 505 41 806 706 606 42 609 608 607 43 607 606 605 44 505 605 705 45 808 807 806 46 805 806 807 47 1005 905 805 48 805 705 605 49 809 709 609 50 610 609 608 51 807 707 607 52 810 710 610 53 608 607 606 54 605 606 607 55 1006 906 806 56 1008 908 808 57 808 708 608 58 607 608 609 59 610 609 608 60 1007 907 807 61 806 807 808 62 1009 909 809 63 1010 910 810 64 508 608 708 65 510 509 508 66 808 708 608 67 810 809 808 68 508 608 708 69 808 708 608 1 403 404 405 2 204 304 404 3 405 404 403 4 205 305 405 5 505 405 305 6 5 105 205 7 3 4 5 8 305 205 105 9 5 105 205 10 103 104 105 11 205 105 5 12 1 2 3 13 202 102 2 14 2 3 4 15 5 4 3 16 201 101 1 17 0 1 2 18 3 2 1 19 402 302 202 20 203 202 201 21 301 201 101 22 1 101 201 23 501 401 301 24 300 301 302 25 100 200 300 26 400 300 200 27 200 201 202 28 202 302 402 29 503 502 501 30 500 501 502 31 502 402 302 32 302 303 304 33 507 506 505 34 505 504 503 35 503 403 303 36 303 304 305 37 705 605 505 38 607 606 605 39 605 505 405 40 305 405 505 41 806 706 606 42 609 608 607 43 607 606 605 44 505 605 705 45 808 807 806 46 805 806 807 47 1005 905 805 48 805 705 605 49 809 709 609 50 610 609 608 51 807 707 607 52 810 710 610 53 608 607 606 54 605 606 607 55 1008 908 808 56 808 708 608 57 607 608 609 58 610 609 608 59 1006 906 806 60 1007 907 807 61 806 807 808 62 1009 909 809 63 1010 910 810 64 508 608 708 65 510 509 508 66 808 708 608 67 810 809 808 68 508 608 708 69 808 708 608 1 403 404 405 2 204 304 404 3 405 404 403 4 205 305 405 5 505 405 305 6 5 105 205 7 3 4 5 8 305 205 105 9 5 105 205 10 103 104 105 11 205 105 5 12 1 2 3 13 202 102 2 14 2 3 4 15 5 4 3 16 201 101 1 17 0 1 2 18 3 2 1 19 402 302 202 20 203 202 201 21 301 201 101 22 1 101 201 23 501 401 301 24 300 301 302 25 100 200 300 26 400 300 200 27 200 201 202 28 202 302 402 29 503 502 501 30 500 501 502 31 502 402 302 32 302 303 304 33 507 506 505 34 505 504 503 35 503 403 303 36 303 304 305 37 705 605 505 38 607 606 605 39 605 505 405 40 305 405 505 41 806 706 606 42 609 608 607 43 607 606 605 44 505 605 705 45 808 807 806 46 805 806 807 47 1005 905 805 48 805 705 605 49 809 709 609 50 610 609 608 51 807 707 607 52 810 710 610 53 608 607 606 54 605 606 607 55 1008 908 808 56 808 708 608 57 607 608 609 58 610 609 608 59 1006 906 806 60 1007 907 807 61 806 807 808 62 1009 909 809 63 1010 910 810 64 508 608 708 65 510 509 508 66 808 708 608 67 508 608 708 68 810 809 808 69 708 808 908 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 4 3 2 63 203 202 201 64 1 2 3 65 200 201 202 66 100 101 102 67 202 102 2 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 4 3 2 63 1 2 3 64 203 202 201 65 200 201 202 66 100 101 102 67 202 102 2 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 203 202 201 63 0 1 2 64 200 201 202 65 100 101 102 66 3 2 1 67 202 102 2 68 1 2 3 69 3 4 5 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 4 3 2 63 1 2 3 64 203 202 201 65 201 101 1 66 0 1 2 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 0 100 200 58 203 103 3 59 4 3 2 60 205 204 203 61 2 102 202 62 203 202 201 63 500 400 300 64 200 300 400 65 504 503 502 66 502 501 500 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 0 100 200 58 203 103 3 59 4 3 2 60 205 204 203 61 2 102 202 62 500 400 300 63 504 503 502 64 502 501 500 65 200 300 400 66 500 400 300 67 203 202 201 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 0 100 200 58 203 103 3 59 4 3 2 60 205 204 203 61 500 400 300 62 2 102 202 63 203 202 201 64 200 300 400 65 504 503 502 66 502 501 500 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 1 101 201 56 2 102 202 57 4 3 2 58 300 301 302 59 202 203 204 60 402 302 202 61 201 202 203 62 203 103 3 63 3 2 1 64 0 1 2 65 204 104 4 66 5 4 3 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 1 101 201 61 200 201 202 62 205 204 203 63 0 100 200 64 203 202 201 65 200 201 202 66 3 2 1 67 202 102 2 68 1 2 3 69 3 4 5 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 4 3 2 63 203 202 201 64 1 2 3 65 201 101 1 66 0 1 2 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 1 101 201 60 5 105 205 61 200 201 202 62 205 204 203 63 0 100 200 64 203 202 201 65 200 201 202 66 3 2 1 67 202 102 2 68 1 2 3 69 3 4 5 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 1 101 201 56 2 102 202 57 4 3 2 58 300 301 302 59 202 203 204 60 204 104 4 61 5 4 3 62 3 2 1 63 402 302 202 64 201 202 203 65 0 1 2 66 203 103 3 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 0 100 200 58 203 103 3 59 4 3 2 60 205 204 203 61 2 102 202 62 500 400 300 63 504 503 502 64 502 501 500 65 200 300 400 66 203 202 201 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 0 100 200 58 203 103 3 59 4 3 2 60 205 204 203 61 500 400 300 62 2 102 202 63 203 202 201 64 504 503 502 65 502 501 500 66 200 300 400 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 203 202 201 63 4 3 2 64 1 2 3 65 200 201 202 66 100 101 102 67 202 102 2 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 203 103 3 58 0 100 200 59 205 204 203 60 4 3 2 61 2 102 202 62 203 202 201 63 500 400 300 64 504 503 502 65 200 300 400 66 502 501 500 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 1 101 201 58 3 2 1 59 0 1 2 60 4 104 204 61 203 103 3 62 2 3 4 63 201 202 203 64 204 203 202 65 5 4 3 66 200 100 0 67 202 102 2 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 1 101 201 55 3 2 1 56 0 1 2 57 4 104 204 58 301 201 101 59 203 202 201 60 200 300 400 61 101 201 301 62 302 301 300 63 400 300 200 64 102 103 104 65 204 104 4 66 5 4 3 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 1 101 201 56 2 102 202 57 4 3 2 58 300 301 302 59 202 203 204 60 402 302 202 61 201 202 203 62 204 104 4 63 5 4 3 64 3 2 1 65 0 1 2 66 203 103 3 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 205 305 405 5 505 405 305 6 5 105 205 7 3 4 5 8 305 205 105 9 5 105 205 10 103 104 105 11 205 105 5 12 1 2 3 13 202 102 2 14 2 3 4 15 5 4 3 16 201 101 1 17 0 1 2 18 3 2 1 19 402 302 202 20 203 202 201 21 301 201 101 22 1 101 201 23 501 401 301 24 300 301 302 25 100 200 300 26 400 300 200 27 200 201 202 28 202 302 402 29 503 502 501 30 500 501 502 31 502 402 302 32 302 303 304 33 507 506 505 34 505 504 503 35 503 403 303 36 303 304 305 37 705 605 505 38 607 606 605 39 605 505 405 40 305 405 505 41 806 706 606 42 609 608 607 43 607 606 605 44 505 605 705 45 808 807 806 46 805 806 807 47 1005 905 805 48 805 705 605 49 809 709 609 50 610 609 608 51 807 707 607 52 810 710 610 53 608 607 606 54 605 606 607 55 1008 908 808 56 708 808 908 57 1006 906 806 58 1009 909 809 59 1010 910 810 60 810 809 808 61 1007 907 807 62 509 508 507 63 507 607 707 64 510 610 710 65 908 808 708 66 806 807 808 67 707 708 709 68 710 709 708 69 708 808 908 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 1 101 201 57 2 102 202 58 4 3 2 59 202 203 204 60 402 302 202 61 201 202 203 62 203 103 3 63 3 2 1 64 0 1 2 65 204 104 4 66 5 4 3 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 205 305 405 5 505 405 305 6 5 105 205 7 3 4 5 8 305 205 105 9 5 105 205 10 103 104 105 11 205 105 5 12 1 2 3 13 202 102 2 14 2 3 4 15 5 4 3 16 201 101 1 17 0 1 2 18 3 2 1 19 402 302 202 20 203 202 201 21 301 201 101 22 1 101 201 23 501 401 301 24 300 301 302 25 100 200 300 26 400 300 200 27 200 201 202 28 202 302 402 29 503 502 501 30 500 501 502 31 502 402 302 32 302 303 304 33 507 506 505 34 505 504 503 35 503 403 303 36 303 304 305 37 705 605 505 38 607 606 605 39 605 505 405 40 305 405 505 41 806 706 606 42 609 608 607 43 607 606 605 44 505 605 705 45 808 807 806 46 805 806 807 47 1005 905 805 48 805 705 605 49 809 709 609 50 610 609 608 51 807 707 607 52 810 710 610 53 608 607 606 54 605 606 607 55 1008 908 808 56 808 708 608 57 607 608 609 58 610 609 608 59 1006 906 806 60 1007 907 807 61 806 807 808 62 1009 909 809 63 508 608 708 64 1010 910 810 65 510 509 508 66 808 708 608 67 810 809 808 68 508 608 708 69 808 708 608 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 205 204 203 61 2 102 202 62 203 202 201 63 4 3 2 64 1 2 3 65 201 101 1 66 0 1 2 67 200 100 0 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 300 301 302 56 402 302 202 57 202 203 204 58 103 104 105 59 5 105 205 60 2 102 202 61 4 3 2 62 1 2 3 63 205 204 203 64 203 202 201 65 200 201 202 66 100 101 102 67 202 102 2 68 3 2 1 69 0 1 2 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 0 100 200 58 203 103 3 59 4 3 2 60 205 204 203 61 500 400 300 62 2 102 202 63 203 202 201 64 504 503 502 65 200 300 400 66 502 501 500 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 4 104 204 46 2 3 4 47 0 1 2 48 5 4 3 49 2 3 4 50 401 402 403 51 405 305 205 52 301 302 303 53 303 403 503 54 200 100 0 55 202 201 200 56 300 200 100 57 203 103 3 58 0 100 200 59 205 204 203 60 4 3 2 61 2 102 202 62 203 202 201 63 500 400 300 64 200 300 400 65 504 503 502 66 502 501 500 67 500 400 300 68 101 201 301 69 300 301 302 1 403 404 405 2 204 304 404 3 405 404 403 4 605 505 405 5 507 506 505 6 509 508 507 7 709 609 509 8 510 509 508 9 710 610 510 10 507 508 509 11 510 509 508 12 707 708 709 13 508 608 708 14 910 810 710 15 808 809 810 16 710 810 910 17 1010 910 810 18 1009 909 809 19 810 809 808 20 807 808 809 21 809 709 609 22 606 607 608 23 609 608 607 24 1008 908 808 25 1007 907 807 26 808 708 608 27 608 607 606 28 1005 1006 1007 29 806 807 808 30 905 906 907 31 1007 907 807 32 808 807 806 33 805 705 605 34 605 606 607 35 806 706 606 36 504 505 506 37 607 606 605 38 305 405 505 39 605 505 405 40 502 503 504 41 303 403 503 42 503 504 505 43 506 505 504 44 105 205 305 45 305 405 505 46 505 504 503 47 302 402 502 48 400 401 402 49 502 402 302 50 500 501 502 51 503 502 501 52 201 301 401 53 501 401 301 54 202 302 402 55 1 101 201 56 3 2 1 57 0 1 2 58 2 102 202 59 5 4 3 60 300 301 302 61 202 203 204 62 402 302 202 63 201 202 203 64 204 104 4 65 4 3 2 66 203 103 3 67 200 100 0 68 3 2 1 69 0 1 2 peg-solitaire-2.2/games/111011111110111111111011111110111_227.sol0000644000175000017500000000457613101133511021635 0ustar demarchidemarchi1 201 301 401 2 303 302 301 3 401 301 201 4 502 402 302 5 302 202 102 6 200 201 202 7 203 202 201 8 400 300 200 9 200 201 202 10 304 404 504 11 604 504 404 12 602 603 604 13 3 103 203 14 306 305 304 15 203 202 201 16 2 102 202 17 201 202 203 18 203 204 205 19 4 104 204 20 304 204 104 21 206 205 204 22 104 204 304 23 304 404 504 24 406 405 404 25 403 404 405 26 604 504 404 27 405 404 403 28 503 403 303 1 104 103 102 2 303 203 103 3 201 202 203 4 203 204 205 5 2 102 202 6 3 103 203 7 202 203 204 8 304 204 104 9 4 104 204 10 306 305 304 11 304 204 104 12 206 205 204 13 104 204 304 14 304 404 504 15 406 405 404 16 403 402 401 17 602 502 402 18 302 402 502 19 603 503 403 20 400 401 402 21 200 300 400 22 403 404 405 23 604 504 404 24 405 404 403 25 403 402 401 26 400 401 402 27 502 402 302 28 301 302 303 1 104 103 102 2 303 203 103 3 201 202 203 4 203 204 205 5 2 102 202 6 3 103 203 7 202 203 204 8 304 204 104 9 4 104 204 10 306 305 304 11 304 204 104 12 206 205 204 13 104 204 304 14 304 404 504 15 406 405 404 16 403 402 401 17 602 502 402 18 603 503 403 19 302 402 502 20 400 401 402 21 200 300 400 22 403 404 405 23 604 504 404 24 405 404 403 25 403 402 401 26 400 401 402 27 502 402 302 28 301 302 303 1 104 103 102 2 303 203 103 3 201 202 203 4 203 204 205 5 2 102 202 6 3 103 203 7 202 203 204 8 304 204 104 9 4 104 204 10 306 305 304 11 304 204 104 12 206 205 204 13 104 204 304 14 304 404 504 15 406 405 404 16 403 402 401 17 602 502 402 18 302 402 502 19 400 401 402 20 603 503 403 21 200 300 400 22 403 404 405 23 604 504 404 24 405 404 403 25 403 402 401 26 400 401 402 27 502 402 302 28 301 302 303 1 104 103 102 2 303 203 103 3 201 202 203 4 203 204 205 5 2 102 202 6 3 103 203 7 202 203 204 8 304 204 104 9 4 104 204 10 306 305 304 11 304 204 104 12 206 205 204 13 104 204 304 14 304 404 504 15 406 405 404 16 403 402 401 17 603 503 403 18 602 502 402 19 302 402 502 20 400 401 402 21 200 300 400 22 403 404 405 23 604 504 404 24 405 404 403 25 403 402 401 26 400 401 402 27 502 402 302 28 301 302 303 1 104 103 102 2 303 203 103 3 201 202 203 4 203 204 205 5 2 102 202 6 3 103 203 7 202 203 204 8 304 204 104 9 4 104 204 10 306 305 304 11 304 204 104 12 206 205 204 13 104 204 304 14 304 404 504 15 406 405 404 16 403 402 401 17 602 502 402 18 603 503 403 19 302 402 502 20 400 401 402 21 403 404 405 22 604 504 404 23 405 404 403 24 200 300 400 25 403 402 401 26 400 401 402 27 502 402 302 28 301 302 303 peg-solitaire-2.2/games/111111111111111111111111111110111111111111111111_152.sol0000644000175000017500000000643313101142742023174 0ustar demarchidemarchi1 309 310 311 2 307 308 309 3 305 306 307 4 303 304 305 5 104 204 304 6 206 205 204 7 208 207 206 8 210 209 208 9 409 309 209 10 411 410 409 11 408 409 410 12 211 311 411 13 411 410 409 14 406 407 408 15 409 408 407 16 209 208 207 17 207 206 205 18 204 205 206 19 407 307 207 20 207 206 205 21 202 203 204 22 205 204 203 23 405 305 205 24 404 304 204 25 103 203 303 26 205 204 203 27 2 102 202 28 4 3 2 29 302 202 102 30 2 102 202 31 300 301 302 32 302 202 102 33 200 201 202 34 102 202 302 35 402 302 202 36 400 401 402 37 202 203 204 38 604 504 404 39 403 404 405 40 502 402 302 41 302 303 304 42 204 304 404 43 405 404 403 44 602 603 604 45 403 503 603 46 604 603 602 1 309 310 311 2 307 308 309 3 305 306 307 4 303 304 305 5 104 204 304 6 206 205 204 7 208 207 206 8 210 209 208 9 409 309 209 10 411 410 409 11 408 409 410 12 211 311 411 13 411 410 409 14 406 407 408 15 409 408 407 16 209 208 207 17 207 206 205 18 204 205 206 19 407 307 207 20 207 206 205 21 202 203 204 22 205 204 203 23 405 305 205 24 404 304 204 25 103 203 303 26 205 204 203 27 2 102 202 28 4 3 2 29 302 202 102 30 2 102 202 31 300 301 302 32 302 202 102 33 200 201 202 34 102 202 302 35 402 302 202 36 400 401 402 37 202 203 204 38 502 402 302 39 604 504 404 40 403 404 405 41 302 303 304 42 204 304 404 43 405 404 403 44 602 603 604 45 403 503 603 46 604 603 602 1 309 310 311 2 307 308 309 3 305 306 307 4 303 304 305 5 104 204 304 6 206 205 204 7 208 207 206 8 210 209 208 9 409 309 209 10 411 410 409 11 408 409 410 12 211 311 411 13 411 410 409 14 406 407 408 15 409 408 407 16 209 208 207 17 207 206 205 18 204 205 206 19 407 307 207 20 207 206 205 21 202 203 204 22 205 204 203 23 405 305 205 24 404 304 204 25 103 203 303 26 205 204 203 27 2 102 202 28 4 3 2 29 302 202 102 30 2 102 202 31 300 301 302 32 302 202 102 33 200 201 202 34 102 202 302 35 402 302 202 36 400 401 402 37 403 402 401 38 604 504 404 39 203 303 403 40 404 403 402 41 502 402 302 42 202 302 402 43 401 402 403 44 602 603 604 45 403 503 603 46 604 603 602 1 309 310 311 2 307 308 309 3 305 306 307 4 303 304 305 5 104 204 304 6 206 205 204 7 208 207 206 8 210 209 208 9 409 309 209 10 411 410 409 11 408 409 410 12 211 311 411 13 411 410 409 14 406 407 408 15 409 408 407 16 209 208 207 17 207 206 205 18 204 205 206 19 407 307 207 20 207 206 205 21 202 203 204 22 205 204 203 23 405 305 205 24 404 304 204 25 103 203 303 26 205 204 203 27 2 102 202 28 4 3 2 29 302 202 102 30 2 102 202 31 300 301 302 32 302 202 102 33 200 201 202 34 102 202 302 35 402 403 404 36 603 503 403 37 403 404 405 38 604 504 404 39 405 404 403 40 400 401 402 41 402 403 404 42 203 303 403 43 602 502 402 44 302 402 502 45 404 403 402 46 402 502 602 1 309 310 311 2 307 308 309 3 305 306 307 4 303 304 305 5 104 204 304 6 206 205 204 7 208 207 206 8 210 209 208 9 409 309 209 10 411 410 409 11 408 409 410 12 211 311 411 13 411 410 409 14 406 407 408 15 409 408 407 16 209 208 207 17 207 206 205 18 204 205 206 19 407 307 207 20 207 206 205 21 202 203 204 22 205 204 203 23 405 305 205 24 404 304 204 25 103 203 303 26 2 102 202 27 4 3 2 28 201 202 203 29 204 203 202 30 302 202 102 31 2 102 202 32 300 301 302 33 604 504 404 34 302 303 304 35 404 304 204 36 205 204 203 37 203 202 201 38 200 201 202 39 502 402 302 40 400 401 402 41 403 402 401 42 202 302 402 43 401 402 403 44 602 603 604 45 403 503 603 46 604 603 602 peg-solitaire-2.2/games/1111111111111111110111111111111111111_258.sol0000644000175000017500000000141712753373372022166 0ustar demarchidemarchi1 103 203 303 2 403 303 203 3 401 402 403 4 201 301 401 5 203 202 201 6 503 403 303 7 405 404 403 8 403 303 203 9 205 305 405 10 203 204 205 11 501 502 503 12 101 201 301 13 105 104 103 14 505 405 305 15 503 504 505 16 305 205 105 17 301 401 501 18 103 102 101 1 103 203 303 2 403 303 203 3 401 402 403 4 201 301 401 5 203 202 201 6 503 403 303 7 405 404 403 8 403 303 203 9 205 305 405 10 203 204 205 11 501 502 503 12 101 201 301 13 105 104 103 14 505 405 305 15 503 504 505 16 301 401 501 17 305 205 105 18 103 102 101 1 103 203 303 2 403 303 203 3 401 402 403 4 201 301 401 5 203 202 201 6 503 403 303 7 405 404 403 8 403 303 203 9 205 305 405 10 203 204 205 11 501 502 503 12 101 201 301 13 105 104 103 14 301 401 501 15 505 405 305 16 305 205 105 17 503 504 505 18 103 102 101 peg-solitaire-2.2/games/111111011111011101110111110111111_218.sol0000644000175000017500000000603613100672764021646 0ustar demarchidemarchi1 301 302 303 2 304 303 302 3 306 305 304 4 103 203 303 5 402 401 400 6 602 502 402 7 604 603 602 8 302 402 502 9 102 202 302 10 303 302 301 11 503 403 303 12 205 204 203 13 4 104 204 14 2 3 4 15 300 301 302 16 303 203 103 17 304 204 104 18 4 104 204 19 504 404 304 20 204 304 404 21 602 502 402 22 405 404 403 23 403 402 401 24 400 401 402 25 402 302 202 26 201 202 203 27 103 203 303 1 301 302 303 2 304 303 302 3 306 305 304 4 103 203 303 5 402 401 400 6 602 502 402 7 604 603 602 8 302 402 502 9 102 202 302 10 303 302 301 11 503 403 303 12 205 204 203 13 4 104 204 14 2 3 4 15 303 203 103 16 400 300 200 17 304 204 104 18 4 104 204 19 602 502 402 20 200 201 202 21 405 404 403 22 402 403 404 23 504 404 304 24 304 204 104 25 104 103 102 26 102 202 302 27 301 302 303 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 2 102 202 6 203 202 201 7 402 401 400 8 400 300 200 9 200 201 202 10 202 302 402 11 502 402 302 12 301 302 303 13 304 303 302 14 306 305 304 15 205 204 203 16 4 104 204 17 304 204 104 18 404 403 402 19 604 504 404 20 602 603 604 21 402 302 202 22 202 203 204 23 104 204 304 24 304 404 504 25 604 504 404 26 405 404 403 27 503 403 303 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 2 102 202 6 203 202 201 7 402 401 400 8 400 300 200 9 200 201 202 10 202 302 402 11 502 402 302 12 301 302 303 13 304 303 302 14 306 305 304 15 205 204 203 16 4 104 204 17 204 203 202 18 202 302 402 19 403 402 401 20 405 404 403 21 604 504 404 22 304 404 504 23 602 603 604 24 604 504 404 25 404 403 402 26 401 402 403 27 503 403 303 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 2 102 202 6 203 202 201 7 402 401 400 8 400 300 200 9 200 201 202 10 202 302 402 11 502 402 302 12 301 302 303 13 304 303 302 14 306 305 304 15 205 204 203 16 4 104 204 17 404 403 402 18 304 204 104 19 604 504 404 20 602 603 604 21 402 302 202 22 202 203 204 23 104 204 304 24 304 404 504 25 604 504 404 26 405 404 403 27 503 403 303 1 301 302 303 2 304 303 302 3 306 305 304 4 103 203 303 5 402 401 400 6 602 502 402 7 604 603 602 8 302 402 502 9 102 202 302 10 303 302 301 11 503 403 303 12 205 204 203 13 4 104 204 14 2 3 4 15 303 203 103 16 400 300 200 17 304 204 104 18 4 104 204 19 602 502 402 20 405 404 403 21 402 403 404 22 504 404 304 23 304 204 104 24 200 201 202 25 104 103 102 26 102 202 302 27 301 302 303 1 301 302 303 2 304 303 302 3 306 305 304 4 103 203 303 5 402 401 400 6 602 502 402 7 604 603 602 8 302 402 502 9 102 202 302 10 303 302 301 11 503 403 303 12 205 204 203 13 4 104 204 14 2 3 4 15 303 203 103 16 400 300 200 17 304 204 104 18 4 104 204 19 602 502 402 20 200 201 202 21 504 404 304 22 204 304 404 23 405 404 403 24 403 402 401 25 401 301 201 26 201 202 203 27 203 103 3 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 2 102 202 6 203 202 201 7 402 401 400 8 400 300 200 9 200 201 202 10 202 302 402 11 502 402 302 12 301 302 303 13 304 303 302 14 306 305 304 15 205 204 203 16 4 104 204 17 404 403 402 18 204 203 202 19 604 504 404 20 304 404 504 21 602 603 604 22 604 504 404 23 405 404 403 24 403 402 401 25 202 302 402 26 401 402 403 27 403 503 603 peg-solitaire-2.2/games/111111111111111111111011111111111111111111111111_151.sol0000644000175000017500000001114513101142740023165 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 602 603 604 27 604 504 404 28 404 403 402 29 401 402 403 30 202 302 402 31 502 402 302 32 200 201 202 33 202 302 402 34 403 402 401 35 2 102 202 36 203 202 201 37 3 103 203 38 203 204 205 39 4 104 204 40 205 204 203 41 300 301 302 42 400 401 402 43 402 302 202 44 303 203 103 45 201 202 203 46 203 103 3 1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 602 603 604 27 604 504 404 28 404 403 402 29 401 402 403 30 202 302 402 31 502 402 302 32 200 201 202 33 202 302 402 34 403 402 401 35 2 102 202 36 203 202 201 37 3 103 203 38 203 204 205 39 4 104 204 40 300 301 302 41 205 204 203 42 400 401 402 43 402 302 202 44 303 203 103 45 201 202 203 46 203 103 3 1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 602 603 604 27 604 504 404 28 404 403 402 29 402 502 602 30 203 204 205 31 201 202 203 32 2 102 202 33 203 202 201 34 3 103 203 35 4 104 204 36 303 203 103 37 205 204 203 38 400 401 402 39 302 402 502 40 300 301 302 41 200 201 202 42 602 502 402 43 203 202 201 44 402 302 202 45 201 202 203 46 203 103 3 1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 202 302 402 27 402 403 404 28 2 102 202 29 203 204 205 30 201 202 203 31 203 303 403 32 3 103 203 33 4 104 204 34 400 401 402 35 200 300 400 36 602 603 604 37 403 404 405 38 604 504 404 39 405 404 403 40 403 402 401 41 400 401 402 42 502 402 302 43 301 302 303 44 303 203 103 45 205 204 203 46 203 103 3 1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 202 302 402 27 402 403 404 28 2 102 202 29 203 204 205 30 201 202 203 31 203 303 403 32 3 103 203 33 4 104 204 34 602 603 604 35 403 404 405 36 604 504 404 37 405 404 403 38 400 401 402 39 403 402 401 40 200 300 400 41 400 401 402 42 502 402 302 43 301 302 303 44 303 203 103 45 205 204 203 46 203 103 3 1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 202 302 402 27 402 403 404 28 2 102 202 29 203 204 205 30 201 202 203 31 203 303 403 32 3 103 203 33 400 401 402 34 4 104 204 35 200 300 400 36 602 603 604 37 403 404 405 38 604 504 404 39 405 404 403 40 403 402 401 41 400 401 402 42 502 402 302 43 301 302 303 44 303 203 103 45 205 204 203 46 203 103 3 1 503 403 303 2 405 404 403 3 407 406 405 4 409 408 407 5 411 410 409 6 402 403 404 7 404 405 406 8 406 407 408 9 408 409 410 10 211 311 411 11 411 410 409 12 210 310 410 13 410 409 408 14 209 309 409 15 409 408 407 16 208 308 408 17 408 407 406 18 207 307 407 19 407 406 405 20 206 306 406 21 406 405 404 22 205 305 405 23 405 404 403 24 604 504 404 25 304 404 504 26 104 204 304 27 102 103 104 28 4 104 204 29 2 3 4 30 202 302 402 31 200 201 202 32 203 202 201 33 304 204 104 34 4 104 204 35 400 300 200 36 200 201 202 37 403 303 203 38 602 603 604 39 604 504 404 40 401 402 403 41 404 403 402 42 502 402 302 43 302 202 102 44 204 203 202 45 102 202 302 46 301 302 303 peg-solitaire-2.2/games/101111110101101111101101011111101_309.sol0000644000175000017500000000126613105635724021644 0ustar demarchidemarchi1 604 504 404 2 2 102 202 3 602 502 402 4 304 404 504 5 302 402 502 6 202 203 204 7 406 405 404 8 205 204 203 9 403 404 405 10 4 104 204 11 200 201 202 12 203 204 205 13 400 401 402 14 402 502 602 15 504 503 502 16 206 205 204 17 602 502 402 18 405 305 205 19 205 204 203 20 203 202 201 21 201 301 401 22 401 402 403 23 403 303 203 24 103 203 303 1 604 504 404 2 2 102 202 3 602 502 402 4 304 404 504 5 302 402 502 6 202 203 204 7 406 405 404 8 205 204 203 9 403 404 405 10 4 104 204 11 200 201 202 12 400 401 402 13 502 402 302 14 504 503 502 15 302 303 304 16 405 305 205 17 304 204 104 18 206 205 204 19 103 203 303 20 104 204 304 21 304 303 302 22 202 302 402 23 502 402 302 24 301 302 303 peg-solitaire-2.2/games/101111111111101101101111111111101_220.sol0000644000175000017500000000446013100414374021625 0ustar demarchidemarchi1 301 302 303 2 102 202 302 3 200 201 202 4 203 202 201 5 402 302 202 6 201 202 203 7 400 401 402 8 403 402 401 9 602 502 402 10 401 402 403 11 104 103 102 12 2 102 202 13 203 202 201 14 205 204 203 15 405 305 205 16 206 205 204 17 304 204 104 18 4 104 204 19 204 203 202 20 201 202 203 21 403 404 405 22 203 303 403 23 406 405 404 24 403 404 405 25 604 504 404 26 405 404 403 27 503 403 303 1 301 302 303 2 102 202 302 3 200 201 202 4 203 202 201 5 402 302 202 6 201 202 203 7 400 401 402 8 403 402 401 9 602 502 402 10 401 402 403 11 104 103 102 12 2 102 202 13 203 202 201 14 205 204 203 15 405 305 205 16 206 205 204 17 403 404 405 18 304 204 104 19 4 104 204 20 204 203 202 21 201 202 203 22 203 303 403 23 406 405 404 24 403 404 405 25 604 504 404 26 405 404 403 27 503 403 303 1 301 302 303 2 102 202 302 3 200 201 202 4 203 202 201 5 402 302 202 6 201 202 203 7 400 401 402 8 403 402 401 9 602 502 402 10 401 402 403 11 104 103 102 12 2 102 202 13 203 202 201 14 205 204 203 15 405 305 205 16 206 205 204 17 304 204 104 18 403 404 405 19 4 104 204 20 204 203 202 21 201 202 203 22 203 303 403 23 406 405 404 24 403 404 405 25 604 504 404 26 405 404 403 27 503 403 303 1 301 302 303 2 102 202 302 3 200 201 202 4 203 202 201 5 402 302 202 6 201 202 203 7 400 401 402 8 403 402 401 9 602 502 402 10 401 402 403 11 104 103 102 12 2 102 202 13 203 202 201 14 205 204 203 15 405 305 205 16 403 404 405 17 604 504 404 18 304 404 504 19 206 205 204 20 406 405 404 21 504 404 304 22 304 204 104 23 4 104 204 24 204 203 202 25 201 202 203 26 203 303 403 27 503 403 303 1 301 302 303 2 102 202 302 3 200 201 202 4 203 202 201 5 402 302 202 6 201 202 203 7 400 401 402 8 403 402 401 9 602 502 402 10 401 402 403 11 104 103 102 12 2 102 202 13 203 202 201 14 205 204 203 15 405 305 205 16 206 205 204 17 304 204 104 18 4 104 204 19 403 404 405 20 204 203 202 21 201 202 203 22 203 303 403 23 406 405 404 24 403 404 405 25 604 504 404 26 405 404 403 27 503 403 303 1 301 302 303 2 102 202 302 3 200 201 202 4 203 202 201 5 402 302 202 6 201 202 203 7 400 401 402 8 403 402 401 9 602 502 402 10 401 402 403 11 104 103 102 12 2 102 202 13 203 202 201 14 304 204 104 15 4 104 204 16 205 204 203 17 504 404 304 18 406 405 404 19 304 404 504 20 604 504 404 21 403 404 405 22 405 305 205 23 206 205 204 24 204 203 202 25 201 202 203 26 203 303 403 27 503 403 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_261.sol0000644000175000017500000000110212753373715022150 0ustar demarchidemarchi1 503 403 303 2 505 504 503 3 305 405 505 4 303 304 305 5 603 503 403 6 306 305 304 7 103 203 303 8 303 304 305 9 105 104 103 10 305 205 105 11 3 103 203 12 301 302 303 13 303 203 103 14 101 201 301 15 103 102 101 16 300 301 302 17 501 401 301 18 301 302 303 19 303 403 503 20 503 502 501 1 503 403 303 2 505 504 503 3 305 405 505 4 303 304 305 5 603 503 403 6 306 305 304 7 103 203 303 8 303 304 305 9 105 104 103 10 305 205 105 11 3 103 203 12 301 302 303 13 303 203 103 14 101 201 301 15 103 102 101 16 300 301 302 17 501 502 503 18 503 403 303 19 303 302 301 20 301 401 501 peg-solitaire-2.2/games/111111111111111101111111111111111_290.sol0000644000175000017500000000403013101141442021623 0ustar demarchidemarchi1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 102 202 302 14 200 201 202 15 203 202 201 16 400 300 200 17 200 201 202 18 604 603 602 19 602 502 402 20 206 306 406 21 406 405 404 1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 102 202 302 14 200 201 202 15 203 202 201 16 400 300 200 17 604 603 602 18 602 502 402 19 200 201 202 20 206 306 406 21 406 405 404 1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 102 202 302 14 200 201 202 15 604 603 602 16 602 502 402 17 203 202 201 18 206 306 406 19 400 300 200 20 200 201 202 21 406 405 404 1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 102 202 302 14 200 201 202 15 203 202 201 16 400 300 200 17 200 201 202 18 604 603 602 19 206 306 406 20 406 405 404 21 602 502 402 1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 102 202 302 14 604 603 602 15 602 502 402 16 200 201 202 17 203 202 201 18 206 306 406 19 400 300 200 20 200 201 202 21 406 405 404 1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 604 603 602 14 602 502 402 15 206 306 406 16 102 202 302 17 200 201 202 18 203 202 201 19 400 300 200 20 200 201 202 21 406 405 404 1 103 203 303 2 205 204 203 3 4 104 204 4 304 204 104 5 504 404 304 6 2 3 4 7 4 104 204 8 406 405 404 9 403 404 405 10 401 402 403 11 602 502 402 12 302 402 502 13 102 202 302 14 200 201 202 15 604 603 602 16 602 502 402 17 206 306 406 18 203 202 201 19 400 300 200 20 200 201 202 21 406 405 404 peg-solitaire-2.2/games/111111111111111101111111111111111_288.sol0000644000175000017500000000260713102375136021654 0ustar demarchidemarchi1 103 203 303 2 205 204 203 3 404 304 204 4 402 403 404 5 504 404 304 6 202 302 402 7 200 201 202 8 401 402 403 9 303 203 103 10 102 202 302 11 406 405 404 12 404 403 402 13 402 302 202 14 206 306 406 15 400 300 200 16 602 502 402 17 204 304 404 18 4 104 204 19 2 3 4 20 604 603 602 1 103 203 303 2 205 204 203 3 404 304 204 4 402 403 404 5 504 404 304 6 202 302 402 7 200 201 202 8 401 402 403 9 303 203 103 10 102 202 302 11 406 405 404 12 404 403 402 13 402 302 202 14 206 306 406 15 400 300 200 16 602 502 402 17 204 304 404 18 4 104 204 19 604 603 602 20 2 3 4 1 103 203 303 2 205 204 203 3 404 304 204 4 402 403 404 5 504 404 304 6 202 302 402 7 200 201 202 8 401 402 403 9 303 203 103 10 102 202 302 11 406 405 404 12 404 403 402 13 402 302 202 14 206 306 406 15 602 502 402 16 604 603 602 17 204 304 404 18 4 104 204 19 2 3 4 20 400 300 200 1 103 203 303 2 205 204 203 3 404 304 204 4 402 403 404 5 504 404 304 6 202 302 402 7 200 201 202 8 401 402 403 9 303 203 103 10 102 202 302 11 406 405 404 12 404 403 402 13 402 302 202 14 206 306 406 15 400 300 200 16 602 502 402 17 204 304 404 18 604 603 602 19 4 104 204 20 2 3 4 1 103 203 303 2 205 204 203 3 404 304 204 4 402 403 404 5 504 404 304 6 202 302 402 7 200 201 202 8 401 402 403 9 303 203 103 10 102 202 302 11 406 405 404 12 404 403 402 13 402 302 202 14 206 306 406 15 400 300 200 16 204 304 404 17 602 502 402 18 604 603 602 19 4 104 204 20 2 3 4 peg-solitaire-2.2/games/1111111111111111111111110101111111111_272.sol0000644000175000017500000000235412753375753022167 0ustar demarchidemarchi1 204 304 404 2 400 401 402 3 403 402 401 4 405 404 403 5 604 504 404 6 403 404 405 7 202 302 402 8 401 402 403 9 602 502 402 10 403 402 401 11 603 503 403 12 200 300 400 13 400 401 402 14 403 402 401 15 206 205 204 16 406 306 206 17 203 204 205 18 206 205 204 19 3 103 203 20 203 204 205 21 2 102 202 22 4 104 204 1 204 304 404 2 400 401 402 3 403 402 401 4 405 404 403 5 604 504 404 6 403 404 405 7 202 302 402 8 401 402 403 9 602 502 402 10 403 402 401 11 603 503 403 12 200 300 400 13 400 401 402 14 403 402 401 15 206 205 204 16 406 306 206 17 203 204 205 18 2 102 202 19 206 205 204 20 3 103 203 21 203 204 205 22 4 104 204 1 204 304 404 2 400 401 402 3 403 402 401 4 405 404 403 5 604 504 404 6 403 404 405 7 202 302 402 8 401 402 403 9 602 502 402 10 403 402 401 11 603 503 403 12 200 300 400 13 400 401 402 14 403 402 401 15 2 102 202 16 206 205 204 17 203 204 205 18 3 103 203 19 406 306 206 20 206 205 204 21 203 204 205 22 4 104 204 1 204 304 404 2 400 401 402 3 403 402 401 4 405 404 403 5 604 504 404 6 403 404 405 7 202 302 402 8 401 402 403 9 602 502 402 10 403 402 401 11 603 503 403 12 200 300 400 13 2 102 202 14 206 205 204 15 203 204 205 16 3 103 203 17 400 401 402 18 403 402 401 19 406 306 206 20 206 205 204 21 203 204 205 22 4 104 204 peg-solitaire-2.2/games/1111111111111111110111111111111111111_251.sol0000644000175000017500000000226613103405531022141 0ustar demarchidemarchi1 305 304 303 2 505 405 305 3 503 504 505 4 501 502 503 5 301 401 501 6 101 201 301 7 103 102 101 8 105 104 103 9 305 205 105 10 302 303 304 11 304 404 504 12 504 503 502 13 502 402 302 14 301 302 303 1 305 304 303 2 505 405 305 3 503 504 505 4 501 502 503 5 301 401 501 6 101 201 301 7 103 102 101 8 105 104 103 9 305 205 105 10 302 402 502 11 502 503 504 12 504 404 304 13 304 303 302 14 301 302 303 1 305 304 303 2 505 405 305 3 503 504 505 4 501 502 503 5 301 401 501 6 101 201 301 7 103 102 101 8 105 104 103 9 302 303 304 10 304 404 504 11 504 503 502 12 502 402 302 13 301 302 303 14 305 205 105 1 305 304 303 2 505 405 305 3 503 504 505 4 501 502 503 5 301 401 501 6 101 201 301 7 103 102 101 8 105 104 103 9 302 303 304 10 304 404 504 11 305 205 105 12 504 503 502 13 502 402 302 14 301 302 303 1 305 304 303 2 505 405 305 3 503 504 505 4 501 502 503 5 301 401 501 6 101 201 301 7 103 102 101 8 105 104 103 9 302 402 502 10 305 205 105 11 502 503 504 12 504 404 304 13 304 303 302 14 301 302 303 1 305 304 303 2 505 405 305 3 503 504 505 4 501 502 503 5 301 401 501 6 101 201 301 7 302 303 304 8 304 404 504 9 504 503 502 10 103 102 101 11 105 104 103 12 305 205 105 13 502 402 302 14 301 302 303 peg-solitaire-2.2/games/000010101001010100011101110111111111111111111_53.sol0000644000175000017500000000412213105113136022643 0ustar demarchidemarchi1 501 401 301 2 503 502 501 3 301 302 303 4 507 407 307 5 406 405 404 6 307 306 305 7 703 603 503 8 705 704 703 9 505 605 705 10 503 504 505 11 303 203 103 12 305 304 303 13 803 703 603 14 103 104 105 15 105 205 305 16 500 501 502 17 502 402 302 18 302 303 304 19 505 506 507 20 508 507 506 21 305 304 303 22 805 804 803 23 303 403 503 24 503 603 703 25 803 703 603 26 603 604 605 27 705 605 505 28 506 505 504 29 504 404 304 1 501 401 301 2 503 502 501 3 703 603 503 4 507 407 307 5 705 704 703 6 307 306 305 7 803 703 603 8 805 804 803 9 301 302 303 10 500 501 502 11 303 203 103 12 503 403 303 13 505 504 503 14 305 405 505 15 303 304 305 16 103 104 105 17 502 402 302 18 503 603 703 19 803 703 603 20 505 605 705 21 603 604 605 22 705 605 505 23 505 506 507 24 508 507 506 25 506 406 306 26 306 305 304 27 105 205 305 28 305 304 303 29 302 303 304 1 501 401 301 2 503 502 501 3 703 603 503 4 507 407 307 5 705 704 703 6 307 306 305 7 803 703 603 8 805 804 803 9 301 302 303 10 500 501 502 11 303 203 103 12 503 403 303 13 505 504 503 14 305 405 505 15 303 304 305 16 103 104 105 17 502 402 302 18 505 605 705 19 503 603 703 20 803 703 603 21 603 604 605 22 705 605 505 23 505 506 507 24 508 507 506 25 506 406 306 26 306 305 304 27 105 205 305 28 305 304 303 29 302 303 304 1 501 401 301 2 503 502 501 3 301 302 303 4 507 407 307 5 406 405 404 6 307 306 305 7 703 603 503 8 705 704 703 9 505 605 705 10 503 504 505 11 303 203 103 12 305 304 303 13 803 703 603 14 103 104 105 15 105 205 305 16 500 501 502 17 502 402 302 18 302 303 304 19 805 804 803 20 305 304 303 21 303 403 503 22 503 603 703 23 803 703 603 24 603 604 605 25 505 506 507 26 705 605 505 27 508 507 506 28 506 505 504 29 404 504 604 1 501 401 301 2 503 502 501 3 301 302 303 4 507 407 307 5 406 405 404 6 307 306 305 7 703 603 503 8 705 704 703 9 505 605 705 10 503 504 505 11 303 203 103 12 305 304 303 13 803 703 603 14 103 104 105 15 105 205 305 16 500 501 502 17 502 402 302 18 302 303 304 19 305 304 303 20 303 403 503 21 805 804 803 22 503 603 703 23 803 703 603 24 603 604 605 25 505 506 507 26 508 507 506 27 705 605 505 28 506 505 504 29 404 504 604 peg-solitaire-2.2/games/1111111111111111110111111111111111111_282.sol0000644000175000017500000000247212753401551022154 0ustar demarchidemarchi1 305 304 303 2 104 204 304 3 303 304 305 4 504 404 304 5 406 405 404 6 206 306 406 7 403 404 405 8 406 405 404 9 304 404 504 10 202 203 204 11 205 204 203 12 200 201 202 13 203 202 201 14 2 102 202 15 4 3 2 16 302 202 102 17 2 102 202 18 201 202 203 19 103 203 303 20 401 402 403 21 602 502 402 22 403 402 401 23 604 603 602 24 504 503 502 25 602 502 402 26 300 301 302 27 302 402 502 28 400 401 402 29 502 402 302 30 302 303 304 31 305 304 303 1 305 304 303 2 104 204 304 3 303 304 305 4 504 404 304 5 406 405 404 6 206 306 406 7 403 404 405 8 406 405 404 9 304 404 504 10 202 203 204 11 205 204 203 12 200 201 202 13 203 202 201 14 2 102 202 15 4 3 2 16 302 202 102 17 2 102 202 18 300 301 302 19 603 503 403 20 604 504 404 21 201 202 203 22 103 203 303 23 302 303 304 24 304 404 504 25 502 402 302 26 400 401 402 27 302 402 502 28 602 502 402 29 402 403 404 30 504 404 304 31 305 304 303 1 305 304 303 2 104 204 304 3 303 304 305 4 504 404 304 5 406 405 404 6 206 306 406 7 403 404 405 8 406 405 404 9 304 404 504 10 202 203 204 11 205 204 203 12 200 201 202 13 203 202 201 14 2 102 202 15 4 3 2 16 302 202 102 17 2 102 202 18 300 301 302 19 604 504 404 20 602 603 604 21 201 202 203 22 103 203 303 23 302 303 304 24 304 404 504 25 604 504 404 26 502 402 302 27 400 401 402 28 302 402 502 29 502 503 504 30 504 404 304 31 305 304 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_283.sol0000644000175000017500000000237012753401711022150 0ustar demarchidemarchi1 301 302 303 2 502 402 302 3 404 403 402 4 401 402 403 5 202 302 402 6 204 203 202 7 201 202 203 8 504 503 502 9 502 402 302 10 206 205 204 11 405 305 205 12 204 205 206 13 4 104 204 14 102 103 104 15 204 104 4 1 301 302 303 2 502 402 302 3 404 403 402 4 401 402 403 5 202 302 402 6 204 203 202 7 201 202 203 8 504 503 502 9 502 402 302 10 206 205 204 11 405 305 205 12 2 102 202 13 104 103 102 14 202 102 2 15 204 205 206 1 301 302 303 2 502 402 302 3 404 403 402 4 401 402 403 5 202 302 402 6 204 203 202 7 201 202 203 8 504 503 502 9 502 402 302 10 206 205 204 11 405 305 205 12 204 205 206 13 2 102 202 14 104 103 102 15 202 102 2 1 301 302 303 2 502 402 302 3 404 403 402 4 401 402 403 5 202 302 402 6 204 203 202 7 201 202 203 8 504 503 502 9 502 402 302 10 206 205 204 11 2 102 202 12 104 103 102 13 405 305 205 14 202 102 2 15 204 205 206 1 301 302 303 2 502 402 302 3 404 403 402 4 401 402 403 5 202 302 402 6 204 203 202 7 201 202 203 8 504 503 502 9 502 402 302 10 206 205 204 11 2 102 202 12 104 103 102 13 405 305 205 14 204 205 206 15 202 102 2 1 301 302 303 2 502 402 302 3 404 403 402 4 401 402 403 5 202 302 402 6 204 203 202 7 201 202 203 8 504 503 502 9 502 402 302 10 206 205 204 11 2 102 202 12 405 305 205 13 204 205 206 14 104 103 102 15 202 102 2 peg-solitaire-2.2/games/111111111111111101111111111111111_286.sol0000644000175000017500000000604113101136453021642 0ustar demarchidemarchi1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 203 204 205 18 206 205 204 19 306 305 304 20 200 300 400 21 400 401 402 22 201 202 203 23 2 102 202 24 406 405 404 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 203 204 205 18 206 205 204 19 306 305 304 20 200 300 400 21 400 401 402 22 201 202 203 23 406 405 404 24 2 102 202 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 306 305 304 17 3 103 203 18 200 300 400 19 203 204 205 20 201 202 203 21 2 102 202 22 206 205 204 23 406 405 404 24 400 401 402 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 203 204 205 18 206 205 204 19 306 305 304 20 200 300 400 21 400 401 402 22 406 405 404 23 201 202 203 24 2 102 202 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 203 204 205 18 206 205 204 19 306 305 304 20 200 300 400 21 201 202 203 22 2 102 202 23 406 405 404 24 400 401 402 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 203 204 205 18 206 205 204 19 200 300 400 20 306 305 304 21 201 202 203 22 2 102 202 23 400 401 402 24 406 405 404 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 203 204 205 18 206 205 204 19 200 300 400 20 306 305 304 21 201 202 203 22 2 102 202 23 406 405 404 24 400 401 402 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 306 305 304 18 200 300 400 19 203 204 205 20 201 202 203 21 2 102 202 22 206 205 204 23 400 401 402 24 406 405 404 1 503 403 303 2 203 303 403 3 301 302 303 4 502 402 302 5 400 401 402 6 403 402 401 7 405 404 403 8 604 504 404 9 304 404 504 10 602 603 604 11 604 504 404 12 403 404 405 13 205 204 203 14 203 303 403 15 4 104 204 16 3 103 203 17 306 305 304 18 406 405 404 19 200 300 400 20 203 204 205 21 201 202 203 22 2 102 202 23 206 205 204 24 400 401 402 peg-solitaire-2.2/games/000000110001111101111111111111111_8.sol0000644000175000017500000000360613077702421021473 0ustar demarchidemarchi1 301 302 303 2 502 402 302 3 200 201 202 4 400 300 200 5 206 205 204 6 406 306 206 7 304 204 104 8 403 303 203 9 203 202 201 10 200 201 202 11 202 302 402 12 401 402 403 13 405 305 205 14 206 205 204 15 104 204 304 16 403 404 405 17 604 504 404 18 304 404 504 19 602 603 604 20 604 504 404 21 405 404 403 22 503 403 303 1 301 302 303 2 502 402 302 3 200 201 202 4 400 300 200 5 206 205 204 6 406 306 206 7 304 204 104 8 403 303 203 9 203 202 201 10 200 201 202 11 202 302 402 12 401 402 403 13 405 305 205 14 206 205 204 15 403 404 405 16 604 504 404 17 602 603 604 18 104 204 304 19 304 404 504 20 604 504 404 21 405 404 403 22 503 403 303 1 301 302 303 2 502 402 302 3 200 201 202 4 400 300 200 5 206 205 204 6 406 306 206 7 304 204 104 8 403 303 203 9 203 202 201 10 200 201 202 11 202 302 402 12 401 402 403 13 405 305 205 14 206 205 204 15 403 404 405 16 604 504 404 17 104 204 304 18 304 404 504 19 602 603 604 20 604 504 404 21 405 404 403 22 503 403 303 1 301 302 303 2 502 402 302 3 200 201 202 4 400 300 200 5 206 205 204 6 406 306 206 7 304 204 104 8 403 303 203 9 203 202 201 10 200 201 202 11 202 302 402 12 401 402 403 13 405 305 205 14 206 205 204 15 403 404 405 16 604 504 404 17 602 603 604 18 104 204 304 19 304 404 504 20 604 504 404 21 405 404 403 22 403 503 603 1 301 302 303 2 502 402 302 3 200 201 202 4 400 300 200 5 206 205 204 6 406 306 206 7 304 204 104 8 403 303 203 9 405 305 205 10 206 205 204 11 203 202 201 12 200 201 202 13 202 302 402 14 401 402 403 15 104 204 304 16 403 404 405 17 604 504 404 18 304 404 504 19 602 603 604 20 604 504 404 21 405 404 403 22 503 403 303 1 301 302 303 2 502 402 302 3 200 201 202 4 400 300 200 5 206 205 204 6 406 306 206 7 304 204 104 8 403 303 203 9 203 202 201 10 200 201 202 11 202 302 402 12 401 402 403 13 405 305 205 14 206 205 204 15 403 404 405 16 104 204 304 17 604 504 404 18 602 603 604 19 304 404 504 20 604 504 404 21 405 404 403 22 503 403 303 peg-solitaire-2.2/games/0100111001111101110111011111001110010_246.sol0000644000175000017500000000121413103400137022116 0ustar demarchidemarchi1 503 504 505 2 103 102 101 3 304 404 504 4 306 305 304 5 402 502 602 6 505 405 305 7 305 304 303 8 301 401 501 9 602 603 604 10 204 104 4 11 4 3 2 12 604 504 404 13 404 403 402 14 101 201 301 15 302 402 502 16 300 301 302 17 501 502 503 18 302 202 102 19 2 102 202 20 202 203 204 21 205 204 203 22 203 303 403 23 503 403 303 1 503 504 505 2 103 102 101 3 304 404 504 4 306 305 304 5 402 502 602 6 505 405 305 7 305 304 303 8 301 401 501 9 602 603 604 10 204 104 4 11 4 3 2 12 604 504 404 13 404 403 402 14 101 201 301 15 302 402 502 16 300 301 302 17 302 202 102 18 2 102 202 19 501 502 503 20 202 203 204 21 205 204 203 22 203 303 403 23 403 503 603 peg-solitaire-2.2/games/010111011111000111000111110111010_119.sol0000644000175000017500000000215413100425155021622 0ustar demarchidemarchi1 202 201 200 2 402 502 602 3 602 603 604 4 204 205 206 5 404 403 402 6 604 504 404 7 405 404 403 8 303 304 305 9 402 302 202 10 503 403 303 11 102 202 302 12 303 302 301 13 401 301 201 14 200 201 202 15 202 203 204 16 3 103 203 17 203 204 205 18 206 205 204 19 104 204 304 20 305 304 303 1 202 201 200 2 402 502 602 3 404 403 402 4 204 304 404 5 405 404 403 6 302 402 502 7 602 603 604 8 604 504 404 9 404 403 402 10 502 402 302 11 303 302 301 12 401 301 201 13 103 203 303 14 200 201 202 15 202 102 2 16 2 3 4 17 4 104 204 18 205 204 203 19 203 303 403 20 403 503 603 1 202 201 200 2 402 502 602 3 404 403 402 4 204 304 404 5 405 404 403 6 302 402 502 7 602 603 604 8 604 504 404 9 404 403 402 10 502 402 302 11 303 302 301 12 401 301 201 13 103 203 303 14 200 201 202 15 202 102 2 16 2 3 4 17 4 104 204 18 205 204 203 19 203 303 403 20 503 403 303 1 202 201 200 2 402 502 602 3 404 403 402 4 401 402 403 5 303 302 301 6 204 104 4 7 503 403 303 8 602 603 604 9 604 504 404 10 405 404 403 11 304 303 302 12 4 3 2 13 301 302 303 14 2 102 202 15 203 202 201 16 403 303 203 17 200 201 202 18 202 203 204 19 205 204 203 20 103 203 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_260.sol0000644000175000017500000000152712753373603022156 0ustar demarchidemarchi1 301 302 303 2 502 402 302 3 404 403 402 4 302 402 502 5 602 502 402 6 504 503 502 7 402 502 602 8 203 303 403 9 305 304 303 10 403 303 203 11 104 204 304 12 202 203 204 13 304 204 104 14 105 205 305 15 405 305 205 16 101 201 301 17 401 301 201 18 2 102 202 19 3 103 203 20 4 104 204 1 301 302 303 2 502 402 302 3 404 403 402 4 302 402 502 5 602 502 402 6 504 503 502 7 402 502 602 8 203 303 403 9 305 304 303 10 403 303 203 11 104 204 304 12 202 203 204 13 304 204 104 14 105 205 305 15 405 305 205 16 2 102 202 17 3 103 203 18 4 104 204 19 101 201 301 20 401 301 201 1 301 302 303 2 502 402 302 3 404 403 402 4 302 402 502 5 602 502 402 6 504 503 502 7 402 502 602 8 203 303 403 9 305 304 303 10 403 303 203 11 104 204 304 12 202 203 204 13 304 204 104 14 2 102 202 15 3 103 203 16 4 104 204 17 101 201 301 18 105 205 305 19 401 301 201 20 405 305 205 peg-solitaire-2.2/games/111111111111111101111111111111111_304.sol0000644000175000017500000000404213101141512021620 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 205 305 405 4 203 204 205 5 4 104 204 6 204 304 404 7 504 404 304 8 402 403 404 9 404 304 204 10 400 401 402 11 201 202 203 12 203 303 403 13 403 402 401 14 401 301 201 15 2 102 202 16 406 405 404 17 602 502 402 18 302 202 102 19 102 103 104 20 104 204 304 21 304 404 504 22 206 205 204 23 200 201 202 24 604 504 404 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 400 401 402 16 4 104 204 17 406 405 404 18 403 402 401 19 401 301 201 20 201 202 203 21 203 204 205 22 206 205 204 23 2 102 202 24 602 502 402 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 400 401 402 16 4 104 204 17 406 405 404 18 403 402 401 19 401 301 201 20 201 202 203 21 203 204 205 22 206 205 204 23 602 502 402 24 2 102 202 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 4 104 204 16 602 502 402 17 401 301 201 18 201 202 203 19 2 102 202 20 203 204 205 21 206 205 204 22 403 402 401 23 400 401 402 24 406 405 404 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 400 401 402 16 4 104 204 17 406 405 404 18 403 402 401 19 401 301 201 20 602 502 402 21 201 202 203 22 2 102 202 23 203 204 205 24 206 205 204 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 4 104 204 16 602 502 402 17 401 301 201 18 201 202 203 19 2 102 202 20 203 204 205 21 206 205 204 22 403 402 401 23 406 405 404 24 400 401 402 peg-solitaire-2.2/games/010111011111000111000111110111010_202.sol0000644000175000017500000000431013100412126021601 0ustar demarchidemarchi1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 201 202 203 10 204 104 4 11 4 3 2 12 401 402 403 13 2 102 202 14 202 203 204 15 204 205 206 16 206 306 406 17 406 405 404 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 201 202 203 10 204 104 4 11 4 3 2 12 2 102 202 13 202 203 204 14 204 205 206 15 206 306 406 16 401 402 403 17 406 405 404 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 201 202 203 10 204 104 4 11 4 3 2 12 2 102 202 13 202 203 204 14 204 205 206 15 206 306 406 16 406 405 404 17 401 402 403 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 201 202 203 10 204 104 4 11 4 3 2 12 2 102 202 13 202 203 204 14 204 205 206 15 401 402 403 16 206 306 406 17 406 405 404 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 201 202 203 10 204 203 202 11 202 102 2 12 2 3 4 13 4 104 204 14 401 402 403 15 204 205 206 16 206 306 406 17 406 405 404 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 201 202 203 7 503 403 303 8 204 104 4 9 4 3 2 10 401 402 403 11 2 102 202 12 202 203 204 13 303 403 503 14 204 205 206 15 206 306 406 16 406 405 404 17 603 503 403 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 201 202 203 10 204 104 4 11 4 3 2 12 2 102 202 13 202 203 204 14 401 402 403 15 204 205 206 16 206 306 406 17 406 405 404 18 404 403 402 19 502 402 302 20 301 302 303 1 303 302 301 2 103 203 303 3 303 304 305 4 504 404 304 5 304 305 306 6 402 403 404 7 603 503 403 8 404 403 402 9 401 402 403 10 201 202 203 11 204 104 4 12 4 3 2 13 2 102 202 14 202 203 204 15 204 205 206 16 206 306 406 17 406 405 404 18 404 403 402 19 502 402 302 20 301 302 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_262.sol0000644000175000017500000000157012753374015022154 0ustar demarchidemarchi1 503 403 303 2 203 303 403 3 301 302 303 4 403 303 203 5 305 304 303 6 104 204 304 7 304 303 302 8 102 103 104 9 302 202 102 10 200 201 202 11 4 104 204 12 2 3 4 13 202 102 2 14 400 300 200 15 402 401 400 16 602 502 402 17 604 603 602 18 404 504 604 19 406 405 404 20 206 306 406 21 204 205 206 1 503 403 303 2 203 303 403 3 301 302 303 4 403 303 203 5 305 304 303 6 104 204 304 7 304 303 302 8 102 103 104 9 302 202 102 10 200 201 202 11 4 104 204 12 2 3 4 13 400 300 200 14 202 102 2 15 402 401 400 16 602 502 402 17 604 603 602 18 404 504 604 19 406 405 404 20 206 306 406 21 204 205 206 1 503 403 303 2 203 303 403 3 301 302 303 4 403 303 203 5 305 304 303 6 104 204 304 7 304 303 302 8 102 103 104 9 302 202 102 10 200 201 202 11 4 104 204 12 2 3 4 13 400 300 200 14 402 401 400 15 602 502 402 16 604 603 602 17 202 102 2 18 404 504 604 19 406 405 404 20 206 306 406 21 204 205 206 peg-solitaire-2.2/games/111111001110000101001110111000000_33.sol0000644000175000017500000000602613077156327021552 0ustar demarchidemarchi1 304 404 504 2 104 204 304 3 302 402 502 4 406 405 404 5 400 401 402 6 502 402 302 7 203 202 201 8 2 102 202 9 302 202 102 10 4 3 2 11 2 102 202 12 201 202 203 13 103 203 303 14 303 304 305 15 504 404 304 16 305 304 303 1 302 402 502 2 304 404 504 3 203 202 201 4 2 102 202 5 4 3 2 6 400 401 402 7 502 402 302 8 302 202 102 9 2 102 202 10 201 202 203 11 103 203 303 12 104 204 304 13 303 304 305 14 406 405 404 15 504 404 304 16 305 304 303 1 203 204 205 2 4 104 204 3 2 3 4 4 304 404 504 5 406 405 404 6 302 402 502 7 400 401 402 8 504 404 304 9 102 202 302 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 304 404 504 3 400 401 402 4 102 202 302 5 203 204 205 6 4 104 204 7 406 405 404 8 504 404 304 9 2 3 4 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 400 401 402 3 304 404 504 4 102 202 302 5 203 204 205 6 4 104 204 7 406 405 404 8 504 404 304 9 2 3 4 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 304 404 504 3 400 401 402 4 102 202 302 5 406 405 404 6 203 204 205 7 4 104 204 8 504 404 304 9 2 3 4 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 400 401 402 3 304 404 504 4 102 202 302 5 203 204 205 6 4 104 204 7 406 405 404 8 2 3 4 9 504 404 304 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 400 401 402 3 304 404 504 4 102 202 302 5 406 405 404 6 203 204 205 7 4 104 204 8 2 3 4 9 504 404 304 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 304 404 504 3 400 401 402 4 102 202 302 5 406 405 404 6 203 204 205 7 4 104 204 8 2 3 4 9 504 404 304 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 400 401 402 3 304 404 504 4 102 202 302 5 406 405 404 6 203 204 205 7 4 104 204 8 504 404 304 9 2 3 4 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 203 204 205 2 4 104 204 3 2 3 4 4 304 404 504 5 406 405 404 6 302 402 502 7 400 401 402 8 504 404 304 9 304 204 104 10 4 104 204 11 205 204 203 12 502 402 302 13 103 203 303 14 303 302 301 15 102 202 302 16 301 302 303 1 203 204 205 2 4 104 204 3 2 3 4 4 304 404 504 5 406 405 404 6 302 402 502 7 400 401 402 8 504 404 304 9 304 204 104 10 4 104 204 11 205 204 203 12 102 202 302 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 102 202 302 3 203 204 205 4 4 104 204 5 2 3 4 6 400 401 402 7 304 404 504 8 406 405 404 9 504 404 304 10 304 204 104 11 4 104 204 12 205 204 203 13 103 203 303 14 303 302 301 15 502 402 302 16 301 302 303 1 302 402 502 2 304 404 504 3 203 202 201 4 2 102 202 5 4 3 2 6 400 401 402 7 502 402 302 8 302 202 102 9 2 102 202 10 201 202 203 11 406 405 404 12 103 203 303 13 504 404 304 14 303 304 305 15 104 204 304 16 305 304 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_280.sol0000644000175000017500000000201512753401444022144 0ustar demarchidemarchi1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 603 503 403 15 505 504 503 16 305 304 303 17 104 204 304 18 303 304 305 19 306 305 304 20 105 205 305 21 304 305 306 22 203 103 3 23 302 301 300 24 403 503 603 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 305 304 303 11 105 205 305 12 302 303 304 13 404 403 402 14 305 304 303 15 603 503 403 16 203 103 3 17 501 401 301 18 505 504 503 19 104 204 304 20 304 303 302 21 302 301 300 22 402 403 404 23 405 404 403 24 403 503 603 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 603 503 403 15 505 504 503 16 302 301 300 17 305 304 303 18 203 103 3 19 205 204 203 20 303 203 103 21 3 103 203 22 105 104 103 23 203 103 3 24 403 503 603 peg-solitaire-2.2/games/1110111011111111110111111111101110111_250.sol0000644000175000017500000001151413105622263022135 0ustar demarchidemarchi1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 205 204 203 21 2 102 202 22 301 201 101 23 302 402 502 24 203 202 201 25 101 201 301 26 400 401 402 27 200 300 400 28 403 402 401 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 2 102 202 19 301 201 101 20 302 402 502 21 203 204 205 22 4 104 204 23 205 204 203 24 203 202 201 25 101 201 301 26 400 401 402 27 200 300 400 28 403 402 401 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 205 204 203 21 2 102 202 22 301 201 101 23 302 402 502 24 203 202 201 25 101 201 301 26 400 401 402 27 403 402 401 28 200 300 400 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 2 102 202 21 301 201 101 22 302 402 502 23 205 204 203 24 203 202 201 25 101 201 301 26 400 401 402 27 403 402 401 28 200 300 400 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 205 204 203 21 301 201 101 22 2 102 202 23 203 202 201 24 302 402 502 25 101 201 301 26 400 401 402 27 403 402 401 28 200 300 400 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 2 102 202 19 301 201 101 20 302 402 502 21 203 204 205 22 4 104 204 23 205 204 203 24 203 202 201 25 101 201 301 26 400 401 402 27 403 402 401 28 200 300 400 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 205 204 203 21 2 102 202 22 301 201 101 23 302 402 502 24 203 202 201 25 400 401 402 26 200 300 400 27 403 402 401 28 101 201 301 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 4 104 204 17 2 3 4 18 301 201 101 19 302 402 502 20 203 204 205 21 102 103 104 22 4 104 204 23 205 204 203 24 203 202 201 25 101 201 301 26 400 401 402 27 200 300 400 28 403 402 401 29 400 401 402 30 502 402 302 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 401 402 403 12 201 301 401 13 400 401 402 14 200 300 400 15 302 402 502 16 604 504 404 17 203 202 201 18 2 102 202 19 4 3 2 20 104 204 304 21 206 205 204 22 404 403 402 23 204 304 404 24 405 404 403 25 403 402 401 26 400 401 402 27 502 402 302 28 302 202 102 29 2 102 202 30 201 202 203 31 203 103 3 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 205 204 203 21 2 102 202 22 301 201 101 23 302 402 502 24 203 202 201 25 400 401 402 26 200 300 400 27 403 402 401 28 400 401 402 29 502 402 302 30 101 201 301 31 301 302 303 1 503 504 505 2 304 404 504 3 604 504 404 4 306 305 304 5 304 404 504 6 505 504 503 7 406 405 404 8 502 503 504 9 602 603 604 10 403 404 405 11 604 504 404 12 405 404 403 13 104 204 304 14 206 205 204 15 304 204 104 16 202 203 204 17 3 103 203 18 203 204 205 19 4 104 204 20 205 204 203 21 301 201 101 22 2 102 202 23 203 202 201 24 302 402 502 25 400 401 402 26 200 300 400 27 403 402 401 28 400 401 402 29 502 402 302 30 101 201 301 31 301 302 303 peg-solitaire-2.2/games/1111111111111111110111111111111111111_266.sol0000644000175000017500000000270712753374355022172 0ustar demarchidemarchi1 103 203 303 2 201 202 203 3 2 102 202 4 203 202 201 5 200 201 202 6 302 202 102 7 101 102 103 8 304 303 302 9 205 204 203 10 4 104 204 11 203 204 205 12 206 205 204 13 306 305 304 14 304 204 104 15 3 103 203 16 105 104 103 17 504 404 304 18 502 503 504 19 302 402 502 20 300 301 302 21 203 103 3 22 406 405 404 23 505 504 503 24 304 404 504 25 604 504 404 26 404 403 402 27 603 503 403 28 501 502 503 29 302 402 502 30 400 401 402 31 403 402 401 32 602 502 402 33 401 402 403 34 403 503 603 1 103 203 303 2 201 202 203 3 2 102 202 4 203 202 201 5 200 201 202 6 302 202 102 7 101 102 103 8 304 303 302 9 205 204 203 10 4 104 204 11 203 204 205 12 206 205 204 13 306 305 304 14 304 204 104 15 3 103 203 16 105 104 103 17 504 404 304 18 502 503 504 19 302 402 502 20 300 301 302 21 203 103 3 22 602 502 402 23 302 402 502 24 604 504 404 25 304 404 504 26 501 502 503 27 400 401 402 28 402 403 404 29 603 503 403 30 504 404 304 31 406 405 404 32 304 404 504 33 505 504 503 34 403 503 603 1 103 203 303 2 201 202 203 3 2 102 202 4 203 202 201 5 200 201 202 6 302 202 102 7 101 102 103 8 304 303 302 9 205 204 203 10 4 104 204 11 203 204 205 12 206 205 204 13 306 305 304 14 304 204 104 15 3 103 203 16 105 104 103 17 504 404 304 18 502 503 504 19 302 402 502 20 300 301 302 21 203 103 3 22 602 502 402 23 302 402 502 24 604 603 602 25 602 502 402 26 505 504 503 27 406 405 404 28 304 404 504 29 504 503 502 30 502 402 302 31 400 401 402 32 302 402 502 33 501 502 503 34 403 503 603 peg-solitaire-2.2/games/111111111111111101111111111111111_302.sol0000644000175000017500000000317013101141511021616 0ustar demarchidemarchi1 103 203 303 2 201 202 203 3 204 203 202 4 404 304 204 5 402 403 404 6 104 204 304 7 401 301 201 8 201 202 203 9 602 502 402 10 402 302 202 11 504 503 502 12 102 202 302 13 206 205 204 14 204 203 202 15 202 302 402 16 402 502 602 17 405 305 205 18 404 304 204 19 204 205 206 1 103 203 303 2 201 202 203 3 204 203 202 4 404 304 204 5 402 403 404 6 104 204 304 7 401 301 201 8 201 202 203 9 602 502 402 10 402 302 202 11 504 503 502 12 102 202 302 13 206 205 204 14 204 203 202 15 202 302 402 16 404 304 204 17 402 502 602 18 405 305 205 19 204 205 206 1 103 203 303 2 201 202 203 3 204 203 202 4 404 304 204 5 402 403 404 6 104 204 304 7 401 301 201 8 201 202 203 9 602 502 402 10 402 302 202 11 504 503 502 12 102 202 302 13 206 205 204 14 204 203 202 15 404 304 204 16 202 302 402 17 402 502 602 18 405 305 205 19 204 205 206 1 103 203 303 2 201 202 203 3 204 203 202 4 404 304 204 5 402 403 404 6 104 204 304 7 401 301 201 8 201 202 203 9 602 502 402 10 402 302 202 11 504 503 502 12 102 202 302 13 206 205 204 14 204 203 202 15 202 302 402 16 402 502 602 17 406 306 206 18 304 305 306 19 404 405 406 1 103 203 303 2 201 202 203 3 204 203 202 4 404 304 204 5 402 403 404 6 104 204 304 7 401 301 201 8 201 202 203 9 602 502 402 10 402 302 202 11 504 503 502 12 102 202 302 13 206 205 204 14 204 203 202 15 202 302 402 16 402 502 602 17 406 306 206 18 404 405 406 19 304 305 306 1 103 203 303 2 201 202 203 3 204 203 202 4 404 304 204 5 402 403 404 6 104 204 304 7 401 301 201 8 201 202 203 9 602 502 402 10 402 302 202 11 504 503 502 12 102 202 302 13 404 304 204 14 406 405 404 15 204 203 202 16 202 302 402 17 205 305 405 18 402 502 602 19 404 405 406 peg-solitaire-2.2/games/101111111111111111111111111111111111_51.sol0000644000175000017500000000751013104373111021772 0ustar demarchidemarchi1 204 104 4 2 404 304 204 3 406 405 404 4 408 407 406 5 607 507 407 6 407 406 405 7 606 506 406 8 604 605 606 9 602 603 604 10 402 502 602 11 400 401 402 12 601 602 603 13 604 603 602 14 403 503 603 15 203 303 403 16 3 103 203 17 602 603 604 18 504 404 304 19 704 604 504 20 5 4 3 21 305 304 303 22 105 205 305 23 406 405 404 24 303 203 103 25 3 103 203 26 203 204 205 27 205 305 405 28 405 505 605 29 403 404 405 30 606 605 604 31 604 504 404 32 405 404 403 33 403 402 401 34 401 501 601 1 204 104 4 2 404 304 204 3 406 405 404 4 408 407 406 5 607 507 407 6 407 406 405 7 606 506 406 8 604 605 606 9 602 603 604 10 402 502 602 11 400 401 402 12 601 602 603 13 604 603 602 14 405 505 605 15 205 305 405 16 5 105 205 17 503 504 505 18 303 403 503 19 103 203 303 20 3 4 5 21 505 405 305 22 606 605 604 23 704 604 504 24 305 205 105 25 5 105 205 26 205 204 203 27 203 303 403 28 403 402 401 29 401 501 601 30 601 602 603 31 603 503 403 32 403 404 405 33 406 405 404 34 504 404 304 1 204 104 4 2 404 304 204 3 406 405 404 4 408 407 406 5 607 507 407 6 407 406 405 7 606 506 406 8 604 605 606 9 602 603 604 10 402 502 602 11 400 401 402 12 601 602 603 13 604 603 602 14 405 505 605 15 205 305 405 16 5 105 205 17 504 503 502 18 501 502 503 19 606 605 604 20 704 604 504 21 3 4 5 22 403 402 401 23 504 404 304 24 303 304 305 25 103 203 303 26 406 405 404 27 305 205 105 28 5 105 205 29 205 204 203 30 203 303 403 31 404 403 402 32 401 402 403 33 403 503 603 34 602 603 604 1 204 104 4 2 404 304 204 3 604 504 404 4 602 603 604 5 704 604 504 6 606 605 604 7 402 502 602 8 504 604 704 9 506 505 504 10 400 401 402 11 601 501 401 12 305 405 505 13 407 406 405 14 607 507 407 15 408 407 406 16 504 404 304 17 303 304 305 18 103 203 303 19 205 204 203 20 5 105 205 21 3 4 5 22 305 205 105 23 5 105 205 24 505 405 305 25 205 305 405 26 403 503 603 27 602 603 604 28 704 604 504 29 401 402 403 30 406 405 404 31 404 403 402 32 203 303 403 33 402 403 404 34 504 404 304 1 204 104 4 2 404 304 204 3 604 504 404 4 606 605 604 5 704 604 504 6 602 603 604 7 402 502 602 8 504 604 704 9 506 505 504 10 400 401 402 11 601 501 401 12 305 405 505 13 407 406 405 14 607 507 407 15 408 407 406 16 504 404 304 17 303 304 305 18 103 203 303 19 205 204 203 20 5 105 205 21 3 4 5 22 403 503 603 23 305 205 105 24 5 105 205 25 602 603 604 26 704 604 504 27 505 405 305 28 205 305 405 29 401 402 403 30 406 405 404 31 404 403 402 32 203 303 403 33 402 403 404 34 504 404 304 1 204 104 4 2 404 304 204 3 604 504 404 4 606 605 604 5 704 604 504 6 602 603 604 7 402 502 602 8 504 604 704 9 506 505 504 10 400 401 402 11 601 501 401 12 305 405 505 13 407 406 405 14 607 507 407 15 408 407 406 16 504 404 304 17 303 304 305 18 103 203 303 19 205 204 203 20 5 105 205 21 3 4 5 22 305 205 105 23 5 105 205 24 505 405 305 25 205 305 405 26 403 503 603 27 602 603 604 28 704 604 504 29 401 402 403 30 406 405 404 31 404 403 402 32 203 303 403 33 402 403 404 34 504 404 304 1 204 104 4 2 404 304 204 3 406 405 404 4 408 407 406 5 607 507 407 6 407 406 405 7 606 506 406 8 604 605 606 9 602 603 604 10 402 502 602 11 400 401 402 12 601 602 603 13 604 603 602 14 405 505 605 15 205 305 405 16 5 105 205 17 504 503 502 18 501 502 503 19 606 605 604 20 704 604 504 21 3 4 5 22 403 402 401 23 504 404 304 24 303 304 305 25 305 205 105 26 5 105 205 27 103 203 303 28 205 204 203 29 203 303 403 30 406 405 404 31 404 403 402 32 401 402 403 33 403 503 603 34 602 603 604 1 204 104 4 2 404 304 204 3 604 504 404 4 602 603 604 5 704 604 504 6 606 605 604 7 402 502 602 8 504 604 704 9 506 505 504 10 400 401 402 11 601 501 401 12 305 405 505 13 407 406 405 14 607 507 407 15 408 407 406 16 504 404 304 17 303 304 305 18 103 203 303 19 205 204 203 20 5 105 205 21 305 205 105 22 3 4 5 23 5 105 205 24 505 405 305 25 205 305 405 26 403 503 603 27 602 603 604 28 704 604 504 29 401 402 403 30 406 405 404 31 404 403 402 32 203 303 403 33 402 403 404 34 504 404 304 peg-solitaire-2.2/games/codis.txt0000644000175000017500000006236612754371700017214 0ustar demarchidemarchi1111011111101111111111111111101111111111111111111111111111111111111 _47 0111110111111111111111111111111111011111111111111111111111111111111_47 1111011111101111111111111111101111111111111111111111111111111111111 _281 0111110111111111111111111111111111011111111111111111111111111111111_281 0110001100101001100110001000000000001011110101010111100000000000100 _79 0000000001000001110000011111000111011100011111000001110000010000000_79 000111101101000000000100101101001000000 _22 111111111001110000001000000000000000000_22 111110111111111111111111111 _77 111111111111110111111111111_77 000001000000000000000000000 _94 000000000000001000000000000_94 111101111111111111111111111111111111111 _18 111111111111111111110111111111111111111_18 000101111101000000000100101101001000000 _23 111111111001110000000100000000000000000_23 101111101101000001011111111101001000010 _24 111111111001110000001000000111000111111_24 000010000000000000000000000000000000000 _95 000000000000000000001000000000000000000_95 111111011111111111111111111111111 _1 111111111111111101111111111111111_1 111111011111111111111111111111111 _13 111111111111111101111111111111111_13 111000100000000111000001110000000 _3 111111001110000010000000000000000_3 111000100000000111000001110000000 _305 111111001110000010000000000000000_305 111111111111111011111111111111111 _12 111111110111111111111111111111111_12 010111011101000111000100100011100 _20 010010001110011101110011100010010_20 000111011100000111000100100011100 _21 000010001110011101110011100010000_21 111001010000000111000001111110111 _33 111111001110000101001110111000000_33 000001110000000111000000100011100 _40 000010001110000111000011100000000_40 111111111111111111111111111111101111111111111111 _151 111111111111111111111011111111111111111111111111_151 111111111111111111111111111111111111111111101111 _152 111111111111111111111111111110111111111111111111_152 101011111010111010111111111101011 _169 101111110101101111101101011111101_169 101011111010111010111111111101011 _309 101111110101101111101101011111101_309 010011011001000111000100101111111 _32 010010001110001101101111111010010_32 000011111000000111000100101111111 _134 000010001110001111101111111010000_134 000011111001000111000100101101011 _191 000010001110001111101101011010010_191 000000000001000000001110000110110 _174 000000000000000000000110110111010_174 000110101101010000011110000101010 _185 000000100000111010110101010111010_185 000011111000000111000000100010100 _179 000010001110001111100010100000000_179 010111111100001111100001111111111 _206 010111011111011111111111111000000_206 111001010011100111001111110011100 _25 111111001110000101000011100111111_25 000011111000000010000100100001000 _5 000010000100001111100001000010000_5 000011111000000010000100100001000 _310 000010000100001111100001000010000_310 010000100011101111101110100001000 _189 010010011111000010000001000111111_189 000000100000000111000000100001000 _4 000010001110000010000001000000000_4 010011111011100111000100100011100 _194 010010001110001111100011100010111_194 010101110111101010101111010101010 _198 010101010101010111010101010111111_198 010111111111111000111111110111110 _213 010111110001111111110111110111111_213 010111111111101111101111111100011 _214 010111011111011111111100011111111_214 010111111111111111111111110111110 _222 010111111111111111110111110111111_222 111111011111111111111111111111111 _19 111111111111111101111111111111111_19 010111011101001111101111110111110 _11 010111011111011101110111110111010_11 000000000000000011001100110011000 _173 000011000110000000000011000110000_173 000001110000000100001111110010000 _55 000111001000000111000010000111000_55 010000100011101111101111110001000 _9 010111011111000010000001000111111_9 000010001011100111001110101001001 _56 000010001110001000101001001111111_56 000001110011100010001110000111110 _188 000000000100000111000111110111111_188 000011111011100111001110100001000 _190 000010001110001111100001000111111_190 010110001110101010101111010001000 _192 010101010101011000110001000111101_192 010110101110101111101111110001000 _200 010111011111011010110001000111101_200 000011111011100111001110101111111 _204 000010001110001111101111111111111_204 010111111111101000101111010111110 _205 010101010001011111110111110111111_205 010111111111101111101111111111111 _221 010111011111011111111111111111111_221 000111011111111000111110001111111 _8 000000110001111101111111111111111_8 000000100000000000000000000000000 _6 000000000000000010000000000000000_6 001011011010010010000100100001001 _111 001010100100001101100001001010100_111 000011011000001111100000100000000 _178 000010011111001101100000000000000_178 010111111100001111101111110111110 _207 010111011111011111110111110111000_207 000011111000000111000000101111111 _10 000010001110001111101111111000000_10 000011111000000111000000100000000 _57 000010001110001111100000000000000_57 010110001101001101101111110110110 _199 010111011011011000110110110111010_199 000011011000001111101111110111110 _29 000111011111001101100111110111000_29 000001110000000111000000000011100 _128 000000001110000111000011100000000_128 000001110000000101001011110011000 _60 000111001010000111000011000101000_60 000011011000000111000100100011100 _14 000010001110001101100011100010000_14 111000100011100111001111110001000 _2 111111001110000010000001000111111_2 000011111000001101100000000110110 _182 000000011011001111100110110000000_182 101001010010100111001111110011100 _196 101111001110000101000011100111101_196 000001110000001111101111110111110 _197 000111011111000111000111110111000_197 010001110001001111101111110111110 _202 010111011111000111000111110111010_202 011101110111011010101011010101011 _203 011101110101010111010101011101110_203 110111111101100111110111101111100 _209 110110001111111111111111100011011_209 111111111111100111001111110011100 _210 111111001110011111110011100111111_210 111110101111111000111111111100011 _212 111111110001111010111100011111111_212 101011011010111111111111111111111 _220 101111111111101101101111111111101_220 111001010000000111000001110000000 _7 111111001110000101000000000000000_7 111001010000000111000001110000000 _313 111111001110000101000000000000000_313 000000100001001111100100000001000 _61 000000011111000010000001000010010_61 000010101001000101000100100010100 _177 000010001010001010100010100010010_177 000000100000000101001011010010100 _176 000101001010000010000010100101000_176 000111011100011111111111111111111 _30 000111111111111101111111111111000_30 000001110000000111000000100011100 _311 000010001110000111000011100000000_311 000001110000000100001100110000100 _41 000011001000000111000000100110000_41 000011111000000010000000000000000 _42 000000000100001111100000000000000_42 000011111000000111000000000000000 _54 000000001110001111100000000000000_54 001010001000101101111111111100010 _58 001111011011101000101100010111001_58 010111111101011111110100100001000 _59 010010111111111111110001000010010_59 101111111111111111111111111111111 _86 101111111111111111111111111111111_86 111111011111101111101111111111111 _116 111111011111011101111111111111111_116 111111111110101111101111111111111 _118 111111011111011111111111111111101_118 010001110001001111101111110111110 _119 010111011111000111000111110111010_119 111111111111111111011100111011111 _120 111011111110111111111011111110111_120 000110101101010000011110000101010 _121 000000100000111010110101010111010_121 000011011000000000000100000111110 _122 000000000000001101100111110010000_122 000000100000000111000001110001000 _123 000111001110000010000001000000000_123 111111111101011010110101110010100 _124 111111110101111111110010100010010_124 101111011101000010001111110001000 _131 101111000100011101110001000111010_131 000001100000000111001000000011110 _132 000000001110000110000011110100000_132 111111111111111111101111111111111 _133 111111111111011111111111111111111_133 000001100000000111001000001100000 _135 000000001110000110001100000100000_135 000011111000000111000000000011100 _136 000000001110001111100011100000000_136 000010101001000101000100100011100 _137 000010001010001010100011100010010_137 000010101000000111000000100011100 _138 000010001110001010100011100000000_138 000010000000000100000000100011000 _139 000010001000001000000011000000000_139 000011011000000011001100110011000 _140 000011000110001101100011000110000_140 000011100000000101000000000001000 _141 000000001010001110000001000000000_141 110110111000000010000101000001011 _142 110100000100011011100001011010000_142 000011011000000000000100000111110 _143 000000000000001101100111110010000_143 000010101000001111101111110111110 _172 000111011111001010100111110111000_172 000001110000000010000000000111110 _175 000000000100000111000111110000000_175 000010101000000111000100100011100 _180 000010001110001010100011100010000_180 000011011000000111000100100011100 _181 000010001110001101100011100010000_181 000001110000001111100000000111110 _183 000000011111000111000111110000000_183 000000100000001111100100100111110 _184 000010011111000010000111110010000_184 000001010000001111100100100111110 _186 000010011111000101000111110010000_186 000011111011100000001110000011100 _187 000000000000001111100011100111111_187 000111011100011000110000101101011 _193 000010110001111101111101011000000_193 111011011011100010001111110001000 _195 111111000100001101100001000111111_195 101011111010101010101111110101010 _201 101111010101001111100101010111101_201 101011111010101010101111110101010 _312 101111010101001111100101010111101_312 001111011110011010111111111101011 _208 001111110101111101111101011111100_208 111010101011101111101111110111110 _211 111111011111001010100111110111111_211 010111111100001111101111111111111 _215 010111011111011111111111111111000_215 000111111111111010111111111101011 _216 000111110101111111111101011111111_216 110111111101101111101111110111110 _217 110111011111011111110111110111011_217 111111011111101111101111110111110 _218 111111011111011101110111110111111_218 110111011101101111111111111111110 _219 110111011111111101111111110111011_219 111111111111111010111111111101011 _223 111111110101111111111101011111111_223 111111111111111101111111111101011 _224 111111111011111111111101011111111_224 111111011111101111101111111111111 _225 111111011111011101111111111111111_225 111111111110101111101111111111111 _226 111111011111011111111111111111101_226 111111111111111111011100111011111 _227 111011111110111111111011111110111_227 010111111111111111111111111111111 _228 010111111111111111111111111111111_228 111111111111101111111111111111110 _229 111111011111111111111111110111111_229 111110101111111111111111111111111 _230 111111111111111010111111111111111_230 111101110111111111111111111111111 _231 111111111111110111011111111111111_231 111101110111111111111111111111111 _232 111111111111110111011111111111111_232 111111011111111111111111111111111 _125 111111111111111101111111111111111_125 111111011111111111111111111111111 _285 111111111111111101111111111111111_285 111111011111111111111111111111111 _286 111111111111111101111111111111111_286 111111111111111101111111011111111 _287 111101111011111111111111111111111_287 111111011111111111111111111111111 _288 111111111111111101111111111111111_288 111111011111111111111111111111111 _289 111111111111111101111111111111111_289 111111011111111111111111111111111 _290 111111111111111101111111111111111_290 111111011111111111111111111111111 _291 111111111111111101111111111111111_291 111111011111111111111111111111111 _292 111111111111111101111111111111111_292 111111011111111111111111111111111 _293 111111111111111101111111111111111_293 111111011111111111111111111111111 _294 111111111111111101111111111111111_294 111111011111111111111111111111111 _295 111111111111111101111111111111111_295 111111011111111111111111111111111 _296 111111111111111101111111111111111_296 111111011111111111111111111111111 _297 111111111111111101111111111111111_297 111111011111111111111111111111111 _298 111111111111111101111111111111111_298 111111011111111111111111111111111 _299 111111111111111101111111111111111_299 111111011111111111111111111111111 _300 111111111111111101111111111111111_300 111111011111111111111111111111111 _301 111111111111111101111111111111111_301 111111011111111111111111111111111 _302 111111111111111101111111111111111_302 111111011111111111111111111111111 _303 111111111111111101111111111111111_303 111111011111111111111111111111111 _304 111111111111111101111111111111111_304 11110111111111111111111111111 _306 11111111111111011111111111111_306 000010001000001101101111110110110 _130 000111011011001000100110110111000_130 1111111111011 _45 1111110111111_45 1111111111011 _314 1111110111111_314 1111011111111111111111111 _46 1111111111110111111111111_46 1111011111111111111111111 _315 1111111111110111111111111_315 11111111111111111111111111111101111111111 _154 10111111111111111111111111111111111111111_154 11111111110111111111111111111111111111111 _155 11111101111111111111111111111111111111111_155 01000101101101110000001001001001011000001 _156 00100111001111100111111100000000000000000_156 10010010101000000000011011111001011000000 _161 00100010001111100000100000001000011101110_161 10010011101001000000011011111001011000000 _162 00100111001111100000100000001000011101110_162 01011100111100111000000111101101010000011 _163 00101010100111000111111100011100101010100_163 11010111101101110000101010101000111000001 _164 00100111001010100111111100101010011100100_164 11010111001101110000101111101101111000001 _165 00100111001111100111011100111110011100100_165 11011111111101111000101111101101111000011 _166 00101111101111100111111100111110111110100_166 11111111011111111111111111111111111111111 _37 11111111111111111111011111111111111111111_37 11111111011111111111111111111111111111111 _319 11111111111111111111011111111111111111111_319 11111111110111111111111111111111111111111 _62 11111101111111111111111111111111111111111_62 11111111111111111111111111111111111111101 _115 11111111111111111111111111111111011111111_115 11111111111111111111111111111111111101111 _153 11101111111111111111111111111111111111111_153 11010111001101110011111111111111111111001 _167 01110111011111110111011101111111011101110_167 111111111111111111111111111111111111111111111111011111111111 _144 111111111111111111111111111111111111111111111110111111111111_144 11111111111011111111111111111111111111111111111111111111111111111111111 _145 11111111111111111111111111111011111111111111111111111111111111111111111_145 1111111111111111111111111111111111111111011111111 _147 1111111111111111111111111111111011111111111111111_147 0111111111111111111111111111111111111 _17 0111111111111111111111111111111111111_17 0111111111111111111111111111111111111 _267 0111111111111111111111111111111111111_267 1111111111111111011111111111111111111 _31 1111111111101111111111111111111111111_31 0101111111010011111101111111101111110 _117 0101111101111101111111011111011111010_117 1111111111111111111111111110111111111 _150 1111101111111111111111111111111111111_150 0000011100000000100000000000000111110 _233 0000000000010000011100011111000000000_233 1110010100000001110000000011100000000 _234 1110111000111000010100000000000000000_234 0101111111000011111000000011100000000 _238 0100111001111101111111000000000000000_238 0101111111000011111000000011100000000 _239 0100111001111101111111000000000000000_239 0000111110000000100000100001000001000 _38 0000010000010000111110000100000100000_38 0000111110000000100000100001000001000 _318 0000010000010000111110000100000100000_318 0000001000000001110000000001000001000 _126 0000010000111000001000000100000000000_126 0100001000111011111001110001000001000 _235 0100010001111100001000000100001110111_235 0100001000111011111001110001000001000 _236 0100010001111100001000000100001110111_236 0100001000111011111001110001000001000 _237 0100010001111100001000000100001110111_237 1111111111111111111111111110111111111 _26 1111101111111111111111111111111111111_26 1111110111111111111111111111111111111 _43 1111111111111111110111111111111111111_43 1000000000000000000000000000000000000 _96 1000000000000000000000000000000000000_96 0000011100000001110000000000000011100 _110 0000000000111000011100001110000000000_110 0101111111010001110100101101001011100 _240 0101010100111001111111001110010101010_240 0101111111010001110100101101001011100 _241 0101010100111001111111001110010101010_241 0101111111010010101001110011100101010 _242 0100111001010101111111010101001110010_242 0101111111010010101001110011100101010 _243 0100111001010101111111010101001110010_243 0101111111000011111001110011100111110 _244 0100111001111101111111011111001110000_244 0101111111000011111001110011100111110 _245 0100111001111101111111011111001110000_245 0101110111010011111001110011100111110 _246 0100111001111101110111011111001110010_246 0101110111010011111001110011100111110 _247 0100111001111101110111011111001110010_247 0101111111010011111101111111101111110 _248 0101111101111101111111011111011111010_248 0101111111010011111101111111101111110 _249 0101111101111101111111011111011111010_249 1111110111111111111011110011110111111 _250 1110111011111111110111111111101110111_250 1111110111111111111111111111111111111 _251 1111111111111111110111111111111111111_251 1111110111111111111111111111111111111 _252 1111111111111111110111111111111111111_252 1111110111111111111111111111111111111 _253 1111111111111111110111111111111111111_253 1111110111111111111111111111111111111 _254 1111111111111111110111111111111111111_254 1111110111111111111111111111111111111 _255 1111111111111111110111111111111111111_255 1111110111111111111111111111111111111 _256 1111111111111111110111111111111111111_256 1111110111111111111111111111111111111 _257 1111111111111111110111111111111111111_257 1111110111111111111111111111111111111 _258 1111111111111111110111111111111111111_258 1111110111111111111111111111111111111 _259 1111111111111111110111111111111111111_259 1111110111111111111111111111111111111 _260 1111111111111111110111111111111111111_260 1111110111111111111111111111111111111 _261 1111111111111111110111111111111111111_261 1111110111111111111111111111111111111 _262 1111111111111111110111111111111111111_262 1111110111111111111111111111111111111 _263 1111111111111111110111111111111111111_263 1111110111111111111111111111111111111 _264 1111111111111111110111111111111111111_264 1111110111111111111111111111111111111 _265 1111111111111111110111111111111111111_265 1111110111111111111111111111111111111 _266 1111111111111111110111111111111111111_266 1111110111111111111111111111111111111 _268 1111111111111111110111111111111111111_268 1111110111111111111111111111111111111 _269 1111111111111111110111111111111111111_269 1111111101111111111111111111111111111 _270 1111111111111111111101111111111111111_270 1111111111111111111111111111111101111 _271 1111111111111111111111110111111111111_271 1111111111111111111111111111111101011 _272 1111111111111111111111110101111111111_272 1111110111111111111111111111111111111 _273 1111111111111111110111111111111111111_273 1111110111111111111111111111111111111 _274 1111111111111111110111111111111111111_274 1111111111111111111111111111101111110 _275 1111111111111111111111011111011111111_275 1111111111111111111111101111111101111 _276 1111111111111111111111110111111101111_276 0000111110000011111101111111101111110 _277 0001111101111100111110011111011111000_277 0000111110000011111101111111101111110 _278 0001111101111100111110011111011111000_278 1111110111111111111111111111111111111 _279 1111111111111111110111111111111111111_279 1111110111111111111111111111111111111 _280 1111111111111111110111111111111111111_280 1111110111111111111111111111111111111 _282 1111111111111111110111111111111111111_282 1111110111111111111111111111111111111 _283 1111111111111111110111111111111111111_283 1111110111111111111111111111111111111 _284 1111111111111111110111111111111111111_284 11111111111111111111111111111111111111011111111111111 _171 11111111111111111111111111011111111111111111111111111_171 1111111111111111111111111111111011111111111 _168 1111111111111111111110111111111111111111111_168 11111111111111011111 _48 11111110111111111111_48 1111011111111111111111111 _49 1111111111110111111111111_49 1111011111111111111111111 _316 1111111111110111111111111_316 1111111111111111111111111111011111011 _170 1101111111111111111101111111111111111_170 1111111111111111101111111 _27 1111111011111111111111111_27 0111011111110111111101110 _28 0111011111110111111101110_28 1101111111111111111111111 _65 1101111111111111111111111_65 0111011111101011111101110 _129 0111011111101011111101110_129 0111001110010100111001110 _34 0111001110010100111001110_34 0101011111011101111101010 _112 0101011111011101111101010_112 1101111011111111101111011 _35 1101111011111111101111011_35 0000011111011100010000000 _75 0000000100011101111100000_75 1101111011001001101111011 _66 1101111011001001101111011_66 111111111111111011111111111111111111 _44 111111111111111011111111111111111111_44 111111111111111111111111101111111111 _64 111111101111111111111111111111111111_64 1111111111111111111111111111111111111101111111111111111111111111 _114 1111111111111111111111111111111111111111111011111111111111111111_114 111111111111101111111111111111111111111111111111111111111111111111111111111111111 _78 111111111111111111111111111111111111111101111111111111111111111111111111111111111_78 111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111 _149 111111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111_149 111111111111111011111111111111111111 _157 111101111111111111111111111111111111_157 111111111111111111101111111111111111 _158 111111111111111011111111111111111111_158 011111111111111111111111111111111111 _159 011111111111111111111111111111111111_159 111111111111111111110111111111111111 _160 111111111111111101111111111111111111_160 1111101 _15 1111110_15 011101111 _99 111101110_99 111111011 _103 111111011_103 1101111 _100 1111011_100 110110111111 _102 010111111111_102 111111101111 _104 111111111110_104 101111011111 _105 111111011101_105 11101111111111 _52 11111111101111_52 11111111111011 _63 11111101111111_63 1110111111 _101 1111111110_101 011111010011110010111110111111111111 _320 011110111111110011110011111111011110_320 11111100111100111111111111111111 _321 11111111111100111100111111111111_321 111111011110111111111111111111 _322 111111111111011110111111111111_322 11111101111111111111111111 _326 11111111111111110111111111_326 11111101111111111111111111 _327 11111111111111110111111111_327 111110111111111111111111111 _76 111111111111101111111111111_76 111110111111111111111111111 _317 111111111111101111111111111_317 000001000000000000000000000 _127 000000000000010000000000000_127 111101111111111111111111111111111111 _51 101111111111111111111111111111111111_51 1111110111111111111111111 _328 1111111111110111111111111_328 000001010000000111000000000011100 _307 000000001110000101000011100000000_307 1111111101111111111111111 _323 1111111111111111111111110_323 1111111101111111111111111 _324 1111111111111111111111110_324 1111111111111111111111111111110111111111111111111111111111111111111111111 _148 1111111111111111101111111111111111111111111111111111111111111111111111111_148 1111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111 _146 1111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111_146 1111111111111111111111111111011111111111111111111111111 _113 1011111111111111111111111111111111111111111111111111111_113 1111111011 _81 1011111111_81 1111110111111111 _16 0111111111111111_16 1111110111111111 _325 0111111111111111_325 1110111111111111 _67 1101111111111111_67 1111111111111101 _68 1111110111111111_68 1101111011111111 _69 1111111110111110_69 1101110011111111 _70 0111111110111110_70 1111111100101010 _71 1111111111000001_71 0101000011011111 _73 0010011100111110_73 1101010001011110 _72 0111011100011100_72 011111111111111 _80 011111111111111_80 111111111101111 _82 111101111111111_82 111101111111111 _83 111111111111011_83 111011111111111 _84 111111011111111_84 011111111111111111111 _85 011111111111111111111_85 111111111111111111011 _106 111111111111011111111_106 1111111111110111111111111111 _107 1110111111111111111111111111_107 011111111111111111111111111111111111 _108 011111111111111111111111111111111111_108 011111111111111111111111111111111111111111111 _109 011111111111111111111111111111111111111111111_109 111111101111111111111111111111111111111111111 _36 111111111111111111111101111111111111111111111_36 010110000011001100000000011110110101000000010 _74 000010010000111000011101110000111000010010000_74 110110101011011100001111111111111111111100010 _39 000111111011111110011101110011111110111111000_39 010110010011001000000000000010100000000000000 _87 000000010000010000001111100000010000010000000_87 111111101111111111111111111111111111111111111 _90 111111111111111111111101111111111111111111111_90 111111101001011100101011111011110011110010011 _53 000010101001010100011101110111111111111111111_53 000000010000000000000000000000000000000000000 _97 000000000000000000000010000000000000000000000_97 101011111110110010000001011111111101001000001 _89 111111111000111000000010000000111000111111111_89 111110111111111111111111111111111111111 _50 111111111111111111101111111111111111111_50 111111111011111111111111111111111111111 _88 101111111111111111111111111111111111111_88 010011111110100000001000111001001000000 _91 111111111000100000111000010100000000000_91 010011111110100000001001111001001000000 _92 111111111000100000111000011100000000000_92 111111111111111111110101101011111111111 _93 111111111110101111111111101011111111111_93 000001000000000000000000000000000000000 _98 000000000000000000010000000000000000000_98 111111011111111111111111111111111 _293 111111111111111101111111111111111_293 000111101101000000000100101101001000000 _308 111111111001110000001000000000000000000_308peg-solitaire-2.2/games/111111111111111101111111111111111_291.sol0000644000175000017500000000327413101141474021642 0ustar demarchidemarchi1 103 203 303 2 205 204 203 3 4 104 204 4 203 204 205 5 206 205 204 6 201 202 203 7 203 204 205 8 402 302 202 9 602 502 402 10 304 303 302 11 302 402 502 12 406 306 206 13 206 205 204 14 504 404 304 15 304 204 104 16 604 603 602 17 602 502 402 18 402 403 404 19 400 401 402 20 300 301 302 21 302 402 502 22 502 503 504 23 504 404 304 24 2 3 4 25 4 104 204 26 405 305 205 27 205 204 203 28 203 202 201 29 200 201 202 30 102 202 302 1 103 203 303 2 205 204 203 3 4 104 204 4 203 204 205 5 206 205 204 6 201 202 203 7 203 204 205 8 402 302 202 9 602 502 402 10 304 303 302 11 302 402 502 12 406 306 206 13 206 205 204 14 504 404 304 15 304 204 104 16 604 603 602 17 602 502 402 18 402 403 404 19 2 3 4 20 4 104 204 21 300 301 302 22 400 401 402 23 302 402 502 24 502 503 504 25 504 404 304 26 405 305 205 27 205 204 203 28 203 202 201 29 200 201 202 30 102 202 302 1 103 203 303 2 205 204 203 3 4 104 204 4 203 204 205 5 206 205 204 6 201 202 203 7 203 204 205 8 402 302 202 9 602 502 402 10 304 303 302 11 302 402 502 12 406 306 206 13 206 205 204 14 504 404 304 15 304 204 104 16 604 603 602 17 602 502 402 18 402 403 404 19 2 3 4 20 4 104 204 21 400 401 402 22 300 301 302 23 302 402 502 24 502 503 504 25 504 404 304 26 405 305 205 27 205 204 203 28 203 202 201 29 200 201 202 30 102 202 302 1 103 203 303 2 205 204 203 3 4 104 204 4 203 204 205 5 206 205 204 6 201 202 203 7 203 204 205 8 402 302 202 9 602 502 402 10 304 303 302 11 302 402 502 12 406 306 206 13 206 205 204 14 504 404 304 15 2 3 4 16 300 301 302 17 304 204 104 18 4 104 204 19 604 603 602 20 602 502 402 21 302 402 502 22 502 503 504 23 400 401 402 24 402 403 404 25 504 404 304 26 405 305 205 27 205 204 203 28 203 202 201 29 200 201 202 30 102 202 302 peg-solitaire-2.2/games/1111111111111111110111111111111111111_269.sol0000644000175000017500000000273412753375434022174 0ustar demarchidemarchi1 305 304 303 2 104 204 304 3 202 203 204 4 304 204 104 5 105 205 305 6 4 104 204 7 3 103 203 8 2 102 202 9 203 204 205 10 302 202 102 11 101 102 103 12 200 201 202 13 206 205 204 14 300 301 302 15 306 305 304 16 501 401 301 17 403 402 401 18 602 502 402 19 401 402 403 20 404 403 402 21 603 503 403 22 402 403 404 23 405 404 403 24 604 504 404 25 403 404 405 26 505 405 305 1 305 304 303 2 104 204 304 3 202 203 204 4 304 204 104 5 105 205 305 6 4 104 204 7 3 103 203 8 2 102 202 9 203 204 205 10 302 202 102 11 101 102 103 12 200 201 202 13 206 205 204 14 300 301 302 15 501 401 301 16 302 303 304 17 502 402 302 18 503 403 303 19 405 404 403 20 604 504 404 21 304 404 504 22 306 305 304 23 602 603 604 24 604 504 404 25 403 404 405 26 505 405 305 1 305 304 303 2 104 204 304 3 202 203 204 4 304 204 104 5 105 205 305 6 4 104 204 7 3 103 203 8 2 102 202 9 203 204 205 10 302 202 102 11 101 102 103 12 200 201 202 13 206 205 204 14 300 301 302 15 501 401 301 16 306 305 304 17 505 405 305 18 403 402 401 19 301 401 501 20 602 502 402 21 603 503 403 22 403 404 405 23 604 504 404 24 405 404 403 25 403 402 401 26 501 401 301 1 305 304 303 2 104 204 304 3 202 203 204 4 304 204 104 5 105 205 305 6 4 104 204 7 3 103 203 8 2 102 202 9 203 204 205 10 302 202 102 11 101 102 103 12 200 201 202 13 206 205 204 14 300 301 302 15 501 401 301 16 302 303 304 17 503 403 303 18 405 404 403 19 604 504 404 20 304 404 504 21 306 305 304 22 602 603 604 23 604 504 404 24 502 402 302 25 403 404 405 26 505 405 305 peg-solitaire-2.2/games/1111111111111111110111111111111111111_273.sol0000644000175000017500000000221412753376057022162 0ustar demarchidemarchi1 503 403 303 2 401 402 403 3 202 302 402 4 403 402 401 5 304 303 302 6 103 203 303 7 302 303 304 8 205 204 203 9 405 305 205 10 206 205 204 11 203 204 205 12 404 304 204 13 204 205 206 14 501 502 503 15 504 503 502 16 400 401 402 17 300 301 302 18 200 201 202 19 101 102 103 20 104 103 102 1 503 403 303 2 401 402 403 3 202 302 402 4 403 402 401 5 304 303 302 6 103 203 303 7 302 303 304 8 205 204 203 9 405 305 205 10 206 205 204 11 203 204 205 12 404 304 204 13 204 205 206 14 501 502 503 15 504 503 502 16 400 401 402 17 200 201 202 18 300 301 302 19 101 102 103 20 104 103 102 1 503 403 303 2 401 402 403 3 202 302 402 4 403 402 401 5 304 303 302 6 103 203 303 7 302 303 304 8 205 204 203 9 405 305 205 10 206 205 204 11 203 204 205 12 404 304 204 13 204 205 206 14 501 502 503 15 504 503 502 16 400 401 402 17 300 301 302 18 101 102 103 19 104 103 102 20 200 201 202 1 503 403 303 2 401 402 403 3 202 302 402 4 403 402 401 5 304 303 302 6 103 203 303 7 302 303 304 8 205 204 203 9 405 305 205 10 206 205 204 11 203 204 205 12 404 304 204 13 204 205 206 14 300 301 302 15 200 201 202 16 501 502 503 17 504 503 502 18 101 102 103 19 104 103 102 20 400 401 402 peg-solitaire-2.2/games/1111111111111111110111111111111111111_279.sol0000644000175000017500000000374712753376733022205 0ustar demarchidemarchi1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 603 503 403 15 505 504 503 16 305 304 303 17 104 204 304 18 303 304 305 19 306 305 304 20 105 205 305 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 603 503 403 15 204 304 404 16 306 305 304 17 505 504 503 18 105 205 305 19 404 304 204 20 104 204 304 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 505 504 503 13 304 404 504 14 306 305 304 15 303 304 305 16 603 503 403 17 104 204 304 18 305 405 505 19 505 504 503 20 105 205 305 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 204 304 404 15 306 305 304 16 603 503 403 17 505 504 503 18 105 205 305 19 404 304 204 20 104 204 304 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 603 503 403 15 204 304 404 16 306 305 304 17 505 504 503 18 404 304 204 19 104 204 304 20 105 205 305 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 204 304 404 15 306 305 304 16 603 503 403 17 505 504 503 18 404 304 204 19 104 204 304 20 105 205 305 1 103 203 303 2 201 202 203 3 303 203 103 4 3 103 203 5 101 102 103 6 301 302 303 7 502 402 302 8 303 302 301 9 300 301 302 10 501 401 301 11 503 403 303 12 405 404 403 13 303 403 503 14 603 503 403 15 505 504 503 16 305 304 303 17 105 205 305 18 306 305 304 19 303 304 305 20 104 204 304 peg-solitaire-2.2/games/11111111111111011111111111111_306.sol0000644000175000017500000000330713101141512021321 0ustar demarchidemarchi1 503 403 303 2 405 404 403 3 205 305 405 4 203 204 205 5 4 104 204 6 204 304 404 7 504 404 304 8 402 403 404 9 404 304 204 10 400 401 402 11 201 202 203 12 203 303 403 13 403 402 401 14 401 301 201 15 2 102 202 16 406 405 404 17 602 502 402 18 302 202 102 19 102 103 104 20 104 204 304 21 304 404 504 22 206 205 204 23 200 201 202 24 604 504 404 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 400 401 402 16 4 104 204 17 406 405 404 18 403 402 401 19 401 301 201 20 201 202 203 21 203 204 205 22 206 205 204 23 2 102 202 24 602 502 402 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 400 401 402 16 4 104 204 17 406 405 404 18 403 402 401 19 401 301 201 20 201 202 203 21 203 204 205 22 206 205 204 23 602 502 402 24 2 102 202 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 4 104 204 16 602 502 402 17 401 301 201 18 201 202 203 19 2 102 202 20 203 204 205 21 206 205 204 22 403 402 401 23 400 401 402 24 406 405 404 1 305 304 303 2 104 204 304 3 102 103 104 4 302 202 102 5 200 201 202 6 202 203 204 7 205 204 203 8 404 304 204 9 204 203 202 10 604 504 404 11 502 402 302 12 302 303 304 13 304 404 504 14 504 503 502 15 400 401 402 16 4 104 204 17 406 405 404 18 403 402 401 19 401 301 201 20 602 502 402 21 201 202 203 22 2 102 202 23 203 204 205 24 206 205 204 ././@LongLink0000644000000000000000000000015200000000000011601 Lustar rootrootpeg-solitaire-2.2/games/1111111111111111101111111111111111111111111111111111111111111111111111111_148.solpeg-solitaire-2.2/games/1111111111111111101111111111111111111111111111111111111111111111111111111_140000644000175000017500000001451013104376107024630 0ustar demarchidemarchi1 300 301 302 2 101 201 301 3 100 200 300 4 103 102 101 5 1 101 201 6 3 2 1 7 0 1 2 8 302 202 102 9 2 102 202 10 303 203 103 11 104 103 102 12 304 204 104 13 4 104 204 14 102 202 302 15 400 300 200 16 200 201 202 17 401 301 201 18 201 202 203 19 403 402 401 20 204 203 202 21 202 302 402 22 401 402 403 23 504 404 304 24 406 405 404 25 304 404 504 26 604 504 404 27 403 404 405 28 408 407 406 29 406 405 404 30 605 505 405 31 404 405 406 32 607 507 407 33 407 406 405 34 606 506 406 35 405 406 407 36 608 508 408 37 408 407 406 38 806 706 606 39 704 705 706 40 706 606 506 41 406 506 606 42 804 805 806 43 807 707 607 44 606 607 608 45 809 808 807 46 806 807 808 47 1009 909 809 48 809 808 807 49 608 708 808 50 807 808 809 51 911 910 909 52 809 909 1009 53 1111 1011 911 54 912 911 910 55 811 810 809 56 1112 1012 912 57 812 912 1012 58 1008 908 808 59 808 809 810 60 1208 1108 1008 61 1009 1010 1011 62 810 910 1010 63 1209 1109 1009 64 1110 1010 910 65 1008 1009 1010 66 910 1010 1110 67 1012 1011 1010 68 1211 1210 1209 69 1010 1110 1210 70 1209 1210 1211 71 1212 1211 1210 1 300 301 302 2 101 201 301 3 100 200 300 4 103 102 101 5 1 101 201 6 3 2 1 7 0 1 2 8 302 202 102 9 2 102 202 10 303 203 103 11 104 103 102 12 304 204 104 13 4 104 204 14 102 202 302 15 400 300 200 16 200 201 202 17 401 301 201 18 201 202 203 19 403 402 401 20 204 203 202 21 202 302 402 22 401 402 403 23 504 404 304 24 406 405 404 25 304 404 504 26 604 504 404 27 403 404 405 28 408 407 406 29 406 405 404 30 605 505 405 31 404 405 406 32 607 507 407 33 407 406 405 34 606 506 406 35 405 406 407 36 608 508 408 37 408 407 406 38 806 706 606 39 704 705 706 40 706 606 506 41 406 506 606 42 804 805 806 43 807 707 607 44 606 607 608 45 809 808 807 46 806 807 808 47 1009 909 809 48 809 808 807 49 608 708 808 50 807 808 809 51 911 910 909 52 809 909 1009 53 1111 1011 911 54 912 911 910 55 811 810 809 56 1112 1012 912 57 812 912 1012 58 1009 1010 1011 59 1209 1109 1009 60 1008 908 808 61 808 809 810 62 810 910 1010 63 1208 1108 1008 64 1110 1010 910 65 1008 1009 1010 66 910 1010 1110 67 1012 1011 1010 68 1211 1210 1209 69 1010 1110 1210 70 1209 1210 1211 71 1212 1211 1210 1 300 301 302 2 101 201 301 3 100 200 300 4 103 102 101 5 1 101 201 6 3 2 1 7 0 1 2 8 302 202 102 9 2 102 202 10 303 203 103 11 104 103 102 12 304 204 104 13 4 104 204 14 102 202 302 15 400 300 200 16 200 201 202 17 401 301 201 18 201 202 203 19 403 402 401 20 204 203 202 21 202 302 402 22 401 402 403 23 504 404 304 24 406 405 404 25 304 404 504 26 604 504 404 27 403 404 405 28 408 407 406 29 406 405 404 30 605 505 405 31 404 405 406 32 607 507 407 33 407 406 405 34 606 506 406 35 405 406 407 36 608 508 408 37 408 407 406 38 806 706 606 39 704 705 706 40 706 606 506 41 406 506 606 42 804 805 806 43 807 707 607 44 606 607 608 45 809 808 807 46 806 807 808 47 1009 909 809 48 809 808 807 49 608 708 808 50 807 808 809 51 911 910 909 52 809 909 1009 53 1111 1011 911 54 912 911 910 55 811 810 809 56 1112 1012 912 57 812 912 1012 58 1008 908 808 59 808 809 810 60 1208 1108 1008 61 1009 1010 1011 62 810 910 1010 63 1209 1109 1009 64 1110 1010 910 65 1012 1011 1010 66 910 1010 1110 67 1008 1009 1010 68 1211 1210 1209 69 1010 1110 1210 70 1209 1210 1211 71 1212 1211 1210 1 300 301 302 2 101 201 301 3 100 200 300 4 103 102 101 5 1 101 201 6 3 2 1 7 0 1 2 8 302 202 102 9 2 102 202 10 303 203 103 11 104 103 102 12 304 204 104 13 4 104 204 14 102 202 302 15 400 300 200 16 200 201 202 17 401 301 201 18 201 202 203 19 403 402 401 20 204 203 202 21 202 302 402 22 401 402 403 23 504 404 304 24 406 405 404 25 304 404 504 26 604 504 404 27 403 404 405 28 408 407 406 29 406 405 404 30 605 505 405 31 404 405 406 32 607 507 407 33 407 406 405 34 606 506 406 35 405 406 407 36 608 508 408 37 408 407 406 38 806 706 606 39 704 705 706 40 706 606 506 41 406 506 606 42 804 805 806 43 807 707 607 44 606 607 608 45 809 808 807 46 806 807 808 47 1009 909 809 48 809 808 807 49 608 708 808 50 807 808 809 51 911 910 909 52 809 909 1009 53 1111 1011 911 54 912 911 910 55 811 810 809 56 1112 1012 912 57 812 912 1012 58 1009 1010 1011 59 1210 1110 1010 60 1212 1211 1210 61 1209 1210 1211 62 1008 908 808 63 808 809 810 64 1011 1010 1009 65 810 910 1010 66 1009 1010 1011 67 1012 1011 1010 68 1108 1109 1110 69 1010 1110 1210 70 1211 1210 1209 71 1208 1209 1210 1 300 301 302 2 101 201 301 3 100 200 300 4 103 102 101 5 1 101 201 6 3 2 1 7 0 1 2 8 302 202 102 9 2 102 202 10 303 203 103 11 104 103 102 12 304 204 104 13 4 104 204 14 102 202 302 15 400 300 200 16 200 201 202 17 401 301 201 18 201 202 203 19 403 402 401 20 204 203 202 21 202 302 402 22 401 402 403 23 504 404 304 24 406 405 404 25 304 404 504 26 604 504 404 27 403 404 405 28 408 407 406 29 406 405 404 30 605 505 405 31 404 405 406 32 607 507 407 33 407 406 405 34 606 506 406 35 405 406 407 36 608 508 408 37 408 407 406 38 806 706 606 39 704 705 706 40 706 606 506 41 406 506 606 42 804 805 806 43 807 707 607 44 606 607 608 45 809 808 807 46 806 807 808 47 1009 909 809 48 809 808 807 49 608 708 808 50 807 808 809 51 911 910 909 52 809 909 1009 53 1111 1011 911 54 912 911 910 55 811 810 809 56 1112 1012 912 57 812 912 1012 58 1009 1010 1011 59 1209 1109 1009 60 1008 908 808 61 808 809 810 62 810 910 1010 63 1110 1010 910 64 1208 1108 1008 65 1008 1009 1010 66 910 1010 1110 67 1012 1011 1010 68 1211 1210 1209 69 1010 1110 1210 70 1209 1210 1211 71 1212 1211 1210 1 300 301 302 2 101 201 301 3 100 200 300 4 103 102 101 5 1 101 201 6 3 2 1 7 0 1 2 8 302 202 102 9 2 102 202 10 303 203 103 11 104 103 102 12 304 204 104 13 4 104 204 14 102 202 302 15 400 300 200 16 200 201 202 17 401 301 201 18 201 202 203 19 403 402 401 20 204 203 202 21 202 302 402 22 401 402 403 23 504 404 304 24 406 405 404 25 304 404 504 26 604 504 404 27 403 404 405 28 408 407 406 29 406 405 404 30 605 505 405 31 404 405 406 32 607 507 407 33 407 406 405 34 606 506 406 35 405 406 407 36 608 508 408 37 408 407 406 38 806 706 606 39 704 705 706 40 706 606 506 41 406 506 606 42 804 805 806 43 807 707 607 44 606 607 608 45 809 808 807 46 806 807 808 47 1009 909 809 48 809 808 807 49 608 708 808 50 807 808 809 51 911 910 909 52 809 909 1009 53 1111 1011 911 54 912 911 910 55 811 810 809 56 1112 1012 912 57 812 912 1012 58 1008 908 808 59 808 809 810 60 1208 1108 1008 61 1009 1010 1011 62 1209 1109 1009 63 1008 1009 1010 64 1011 1010 1009 65 810 910 1010 66 1009 1010 1011 67 1012 1011 1010 68 1211 1210 1209 69 1010 1110 1210 70 1209 1210 1211 71 1212 1211 1210 peg-solitaire-2.2/copying.txt0000644000175000017500000010467313113034763016460 0ustar demarchidemarchiPeg-solitaire Copyright: this software is copyright 2010-2017 by Innocent De Marchi GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . peg-solitaire-2.2/cmake_uninstall.cmake.in0000644000175000017500000000221612456770461021030 0ustar demarchidemarchi# ----------------------------------------------- # - cmake_uninstall.cmake.in # File that provides "make uninstall" target # We use the file 'install_manifest.txt' # ----------------------------------------------- IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" ) MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"" ) ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" ) FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) STRING(REGEX REPLACE "\n" ";" files "${files}" ) FOREACH(file ${files}) MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"" ) IF(EXISTS "$ENV{DESTDIR}${file}" ) EXEC_PROGRAM( "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" OUTPUT_VARIABLE rm_out RETURN_VALUE rm_retval ) IF(NOT "${rm_retval}" STREQUAL 0) MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"" ) ENDIF(NOT "${rm_retval}" STREQUAL 0) ELSE(EXISTS "$ENV{DESTDIR}${file}" ) MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist." ) ENDIF(EXISTS "$ENV{DESTDIR}${file}" ) ENDFOREACH(file)peg-solitaire-2.2/changelog0000644000175000017500000000162513120004251016075 0ustar demarchidemarchiNews for 2.2 version. - Improve the search for new solutions. - Add 11 new problems to solve (343 in total). - Added the suggestions of Andrej Mernik. - Other minor changes and improvements. News for 2.1 version. - Migrated to Qt 5. - Add cmake build system. - Improve the management of personal marks. - Improving the search for new solutions. - Add peg-solitaire.appdata.xml file. News for 2.0 version. - Add 168 new problems to solve. (some with default finish). - Add Brazilian and Polish translations. (Thanks to Ezequiel Butzke and Jarosław Jabłoński). - Random generation of new games. - Can create new own games. - Other minor changes and improvements. News for 1.2 version. - Add 24 new problems to solve. - OS2 version (thanks to Elbert Pol). - Android version. News for 1.1 version. - Added new button to pause the game. - Improved search system solution. - OS2 version (thanks to Elbert Pol). peg-solitaire-2.2/peg-solitaire.pro0000644000175000017500000001624013117267120017524 0ustar demarchidemarchi# ------------------------------------------------- # Project created by QtCreator 2010-07-18T16:54:25 # ------------------------------------------------- TARGET = peg-solitaire TEMPLATE = app QT += widgets \ core #Només per a QTest #QT += testlib CONFIG += warn_on \ release #Al windows això cal comentar-ho per què no deixa compilar !win32 { QMAKE_CXXFLAGS += -fstack-protector-all --param ssp-buffer-size=1 QMAKE_LFLAGS += -fstack-protector-all --param ssp-buffer-size=1 } QMAKE_CXXFLAGS += -D_FORTIFY_SOURCE=2 -Wl,-O1 -Wl,relro -Wl,-z,--as-needed -rdynamic -o win32:QMAKE_LFLAGS += -Wl,--dynamicbase -Wl,--nxcompat MOC_DIR = build OBJECTS_DIR = build RCC_DIR = build UI_DIR = build SOURCES += scr/main.cpp \ scr/frmprincipal.cpp \ scr/tauler.cpp \ scr/fitxa.cpp \ scr/moviment.cpp \ scr/funcions.cpp \ scr/rellotge.cpp HEADERS += scr/frmprincipal.h \ scr/tauler.h \ scr/fitxa.h \ scr/moviment.h \ scr/funcions.h \ scr/rellotge.h \ scr/constants.h TRANSLATIONS += locales-ts/solitari_en_EN.ts \ locales-ts/solitari.ts \ locales-ts/solitari_es_ES.ts \ locales-ts/solitari_ca_ES.ts \ locales-ts/solitari_eu_ES.ts\ locales-ts/solitari_gl_ES.ts \ locales-ts/solitari_fr_FR.ts \ locales-ts/solitari_pt_PT.ts \ locales-ts/solitari_pt_BR.ts \ locales-ts/solitari_it_IT.ts \ locales-ts/solitari_de_DE.ts \ locales-ts/solitari_pl_PL.ts \ locales-ts/solitari_en_US.ts RESOURCES += images/resources.qrc unix:!macx { isEmpty(PREFIX):PREFIX = /usr target.path = $$PREFIX/games/ man.path = $$PREFIX/share/man/man6/ man.files = menu/peg-solitaire.6.gz # això només per garantir que s'eliminen els directoris amb uninstall help.path = $$PREFIX/share/games/peg-solitaire/help/ help.files = help/* games.path = $$PREFIX/share/games/peg-solitaire/games/ games.files = games/* locales.path = $$PREFIX/share/games/peg-solitaire/locales/ locales.files = locales/* desktop.path = $$PREFIX/share/applications/ desktop.files = menu/peg-solitaire.desktop imatges.path = $$PREFIX/share/games/peg-solitaire/images/ imatges.files= images/* pixmaps.path = $$PREFIX/share/pixmaps/ pixmaps.files = images/peg-solitaire.xpm INSTALLS += help \ games \ locales \ desktop \ pixmaps \ imatges \ man \ target } ########################## # Actualització dels arxius de traducció # lupdate -verbose peg-solitaire.pro # lupdate -verbose -noobsolete peg-solitaire.pro # compilació dels arxius .ts # lrelease peg-solitaire.pro # # # v. 2.2 # - La recerca iterativa queda implementada als solitaris # en diagonal i a bona part dels altres. No és eficient # amb els solitaris amb moltes fitxes (més de 40). # - Afegits 11 problemes més (i un solitari nou Solo) # - Incorporats els suggeriments de l'informe d'errors # #858110 a Debian llevat del que afecte a l'agrupació dels jocs # en branques a l'arbre de jocs (que queda pendent de valorar # com fer-ho). # - S'han arreglat alguns detalls i errors (...que no s'ha documentat) # # 04/12/16 # La recerca iterativa amb control de aïllament per conjunts # ha funcionat. # # 01/10/16 # v. 2.1 # # Afegit Q_GADGET a fitxa.h moviment.h i tauler.h # per evitar un error en compilar amb cmake # # 23/09/16 # Degut a un canvi en la codificació de caràcters, ha calgut # actualizar els arxius de traducció i eliminar cadenes que han # quedat obsoletes. # # 21/09/16 L'elimininació de les marques personals no funcionava correctament # Eliminava tota la informació de l'arxiu de configuració # # S'ha millorat la recerca de solucions: ara troba solucions # noves més aviat. # Afegides imatges 48x48 i 64x64 # # 12/09/16 # Afegida l'opció de menú web del programa # i del peces # # 14/08/16 # El joc 307 estava traduït com «Solitari estrella» # enlloc de com «Clàssic» degut a què el codi de traducció # no era el correcta a l'arxiu data.sol (tenia el 6 enlloc del 1). # I a l'arxiu de traducció del català faltava la e a # Weileg - fletxa. # # 24/02/2016 # * Migració a Qt 5 # En conseqüència a calgut canviar de # QHash m_fitxes # a QMap m_fitxes; i # QHashIterator a QMapIterator. Amb el Qt 5, el # QHash posa els elements desordenats i cada vegada # de manera distinta: això feia que el sistema de noms # dels arxius no funcionava. # * Als noms dels arxius, s'ha eliminat l'espai buit anterior al codi # del joc (QString frmPrincipal::nomArxiuJoc(int tipus)) # # v. 2.0 # Noves traduccions # brasiler d'Ezequiel BUTZKE # Polac per Jarosław Jabłoński # # 155 nous problemes # # 27/01/13 # Canviat el sistema de traducció dels noms # dels jocs (funció nomDelJoc) # Les modificacions de jocs del programa # son tractades com els jocs personalitzats. # Es diferencian amb les propietats del tauler # solitariPersonalitzat i solitariModificat. A més # la propietat de la fitxa p_fitxaSolitariPersonalitzat es # fa servir per gestionar aquests dos tipus de jocs # # 13/01/13 # Solitaris personalitzats # Tooltip en els arbres dels jocs # # 30/12/12 # Els jocs que ja s'han resolt (hi ha un rècord) # queden marcats amb la imatge OK a l'arbre # # 08/12/12 # Els records es mostren a un arxiu HTML # (no hi caben a un about) # # 29/11/2012 # Generació automàtica de nous solitaris # (solitari a l'atzar) # Hi ha nous procediments i algunes modificacions més. # # 25/07/12 # Afegit a la traducción el text de les # accions retrocedeix/avança # (pareix que això no és possible!) # # 20/07/12 # Acabada la nova funcionalitat de jocs amb # final marcat. S'han fet canvis a diverses # funcions i a les fitxes. # # 08/07/12 # Si desprès de marcar un moviment, a continuació # es feia servir els botons avaçar/retrocedir # les fitxes del moviment quedaven marcades # S'ha afegit el procediment # Moviment::eliminaMovimentMarcat() # # 17/06/12 # Modificat el sistema de traducció dels # noms del jocs. # # 02/06/12 # L'elecció del idioma es desa # a la configuració # # v. 1.2 # 24 Noves modalitats del joc # # 31/10/11 # Afegit el locale en_US per tancar # l'informe d'error d'Ubuntu # # 21/04/11 # Modificada la funció funcions.directoriLinux() per fer # compatibles l'aplicació instal·lada i el codi font # # 1.1 # # 06/02/11 # Afegit intentsSolucio per evitar els casos en # què no es troba la solució # # 05/02/11 # Nova funció per mantenir en pausa el joc # # 04/02/11 # Quan el programa no aconsegueix trobar # la solució al joc, llavors s'elimina l'arxiu de # configuracions eliminades (eliminaArxiuConfgEliminades()). # # 02/02/11 # Algunes vegades, la solució ràpida desa # només alguns moviments. S'ha evitat que # es desin o carreguin solucions incorrectes. # Queda per determinar perquè es desaven # les solucions incorrectament # #27/01/11 # Petita modificació per reduir el nombre de vegades # en què el programa no aconsegueix trobar # la solució (només passa quan el nombre de # fitxes és petit) # #23/01/2011 # Eliminada una divisió per zero en les modalitats # inverses. # # 1.0.2 # # 13/01/11 # En fer passar ràpidament el ratolí per l'arbre de selecció # de jocs, es carregaven incorrectament les solucions # # 1.0.1 # * Tancats els bugs de Christina # ########################## peg-solitaire-2.2/menu/peg-solitaire.appdata.xml0000644000175000017500000000236013113042671022075 0ustar demarchidemarchi gnome-power-statistics.desktop GPL-3.0+ GPL-3.0+ Peg-Solitaire Board game for one player with pegs.

Peg solitaire is a board game for one player involving movement of pegs on a board with holes. The program includes over 330 solitaire problems.

The program looks for new solutions and it is possible to raise new problems and games.

Other features:

  • Random generation of new games.
  • Can create new own games.
  • Search for new solutions.
  • Preserve your personal marks.
https://a.fsdn.com/con/app/proj/peg-solitaire/screenshots/279505.jpg The main window showing the application in action http://peg-solitaire.sourceforge.net/ tangram.peces@gmail.com KDE
peg-solitaire-2.2/menu/peg-solitaire.desktop0000644000175000017500000000075612773770371021364 0ustar demarchidemarchi[Desktop Entry] Exec='/usr/games/peg-solitaire' GenericName=Peg-Solitaire GenericName[ca]=Solitari Icon=/usr/share/pixmaps/peg-solitaire.xpm Type=Application Name=Peg-Solitaire Name[ca]=Solitari StartupNotify=true Terminal=false X-KDE-SubstituteUID=false Categories=Game;LogicGame; Name[ca_ES]=Solitari Name[es_ES]=Solitario Keywords=Peg-solitaire; logic game Comment=Classical Peg-Solitaire game Comment[ca]=Joc clàssic de solitari amb fitxes Comment[es]=Juego clasico de solitario con fichaspeg-solitaire-2.2/menu/peg-solitaire0000644000175000017500000000041211446667426017703 0ustar demarchidemarchi?package(peg-solitaire): \ needs="X11" \ section="Games/Puzzles" \ title="Peg-Solitaire" \ longtitle="Peg-Solitaire" \ description="Board game played with pegs" \ command="/usr/games/peg-solitaire" \ icon="/usr/share/pixmaps/peg-solitaire.xpm" peg-solitaire-2.2/menu/peg-solitaire.6.gz0000644000175000017500000000061111505153420020443 0ustar demarchidemarchiMpeg-solitaire.6}n0DAN) NPnD, I=MR\lK)@4H8oIF.feV,pwH5=3Fi%+נUal Qgr8p@.mLK,)~2dy_yf[SVPګQ#W|aǭS]wfh#EqԆ:K0񓄥Ә^g(@Ѷgu$NiOcR6ͦ#M"l/~VOtd?By z~ LGQnEVvt|]xNEM| ǜipeg-solitaire-2.2/images/peg-solitaire-48x48.png0000644000175000017500000000232312766540601021556 0ustar demarchidemarchiPNG  IHDR00` sBITOPLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  ^IDATHcA"`$~ U$5$`zT\$Dqj Itc#inl 4id0b4%6 OjXWVlEIENDB`peg-solitaire-2.2/images/ok.png0000644000175000017500000000070011071456142016615 0ustar demarchidemarchiPNG  IHDRaIDAT8Moq<B 4ڒz+6t!XXK"bxvэ"U¢-f1x6;4}~D!?WjX+)UgFvkϱf<5kJod+U U%av:?;'4ݡ: a2<*׽A>JJ㈍7]61hK.iu\7fX$bg%IeS3~x螬;a]BFS2q[e˜AfL+[V,h*| E 梜Wj1mJBOsΗTHX:Zjwr j([ ֩jJJ"M t;cf:[JzA@7~AK X~oIENDB`peg-solitaire-2.2/images/edit-undo.png0000644000175000017500000000172311256071024020077 0ustar demarchidemarchiPNG  IHDRĴl;sBIT|dtEXtSoftwarewww.inkscape.org<eIDAT8khe3̤LiS!6Vd"a(HU( JTDDPRJQ 7ҠMi4m.;}nd]||y5V2!w(j<f9e罪 El\#%Ʉwߩjz\UꙖq}[.sup2!垍޵cnGrˮPŸϝ\÷cqZ!7OE2!w;p-v,hOxvb/upTX|9h8by[@kArj ڀV1詻esӦN7qi/sqݶxBqׯd߅X\ۦ4:h54-_ ѭ{/~u$ùU0_!}? Daj>%"b%"8"Rm/gR<ۇxbIhUafּ(x"b[4J=FoM-o puy{bY,. 8@^^@eWEwS \!=;Gώ'9)"q*I֤h!X@"Z?y:h,RCן X`-H}!BRԢ Rz-+y_Eie*!IENDB`peg-solitaire-2.2/images/soluciona.png0000644000175000017500000000232312072605414020203 0ustar demarchidemarchiPNG  IHDR00` sBITOPLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  ^IDATHcA"`$~ U$5$`zT\$Dqj Ii 4id0b4%6 Oj 'fIENDB`peg-solitaire-2.2/images/peg-solitaire-64x64.png0000644000175000017500000000236612664104467021564 0ustar demarchidemarchiPNG  IHDR@@sBITOPLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  IDATX;0CppNC(*CdU h `GYc3B=} THp܂(Z;@NQ 4٨Bg-8qC H Gcn؀IENDB`peg-solitaire-2.2/images/view-refresh.png0000644000175000017500000000245411256071024020617 0ustar demarchidemarchiPNG  IHDRĴl;sBIT|dtEXtSoftwarewww.inkscape.org<IDAT8KlTU9ΝGӖ>kڒB D41XИAR%7Sh 6俹;?bfx"|J>I]CuGqKVD4̸\Tdm̜7T)Wt vE怉@'z<~&G&v]XSɴk grG,+=*$5=vMJR \蚀G0t & Ek+BDHd|NFZ5cSi+(xn8RJ8O+B 03Wϖ芁bZT4\@?tM:5D2E[ͲL\eFǦN;'2hT*p5R $ fZDZiXےy'9'6pvr DFz~﹝ yPWDhR@)5  4~{O]=3qr^۲5Wt`x$%i38[Z<)`}er~; 3/j3J, `-irUV:/uj _iBTg͗T ҼsEhWӾγ f3n=k9u+}}gׁReO k>ΌzLd?^f`0{='w@41×)avҝ7vѼ0)C1h[uժD*x<Ågu Ypl|wip R )B%nx?z_mN^&]jF*`Zdk?8 `2s~ ?o[|yKZڟ*jxn-~$ ] vdf(;s-3wlv ̜S+e^,Iit_բ2;1C1B4bf4@`nAvAy39XKIENDB`peg-solitaire-2.2/images/sugereix.png0000644000175000017500000000231411523557042020045 0ustar demarchidemarchiPNG  IHDR00` PLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  fIDATH1 @{>ARۦ b&mɔG@@ > #@g5i';`z5v}%0P9L 6lIENDB`peg-solitaire-2.2/images/atura.png0000644000175000017500000000251511523544226017331 0ustar demarchidemarchiPNG  IHDR00` PLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  IDATHŕI0Ey8I6t! ,B-_ Ԥ\ghX{5 ;! `ko8~E@/xu@ ! X1 Ss;}A3@JRVj"T6zARd0Qhguppg.b;EM f,*8JȪCΪp{ 8z>2IENDB`peg-solitaire-2.2/images/peg-solitaire-48x48.xpm0000644000175000017500000000503412766540542021604 0ustar demarchidemarchi/* XPM */ static char *dummy[]={ "48 48 3 1", ". c #000000", "# c #0000ff", "a c #999999", "................................................", "................................................", "................................................", "...............###...###...###..................", "...............###...###...###..................", "...............###...###...###..................", "................................................", "................................................", "................................................", "...............###...###...###..................", "...............###...###...###..................", "...............###...###...###..................", "................................................", "................................................", "................................................", "...###...###...###...###...###...###...###......", "...###...###...###...###...###...###...###......", "...###...###...###...###...###...###...###......", "................................................", "................................................", "................................................", "...###...###...###...aaa...###...###...###......", "...###...###...###...aaa...###...###...###......", "...###...###...###...aaa...###...###...###......", "................................................", "................................................", "................................................", "...###...###...###...###...###...###...###......", "...###...###...###...###...###...###...###......", "...###...###...###...###...###...###...###......", "................................................", "................................................", "................................................", "...............###...###...###..................", "...............###...###...###..................", "...............###...###...###..................", "................................................", "................................................", "................................................", "...............###...###...###..................", "...............###...###...###..................", "...............###...###...###..................", "................................................", "................................................", "................................................", "................................................", "................................................", "................................................"}; peg-solitaire-2.2/images/peg-solitaire-per.png0000644000175000017500000000250612070620272021537 0ustar demarchidemarchiPNG  IHDR00` sBITOPLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  IDATH Esa d 'u_$\[|7=+bd@B8'_atȹxY̒jBPUBuu'Tf$icTX-VQaJz̛֣MI2Hև,%!x̀Yݴcor@1ɫatՀY0n/ahEݠIENDB`peg-solitaire-2.2/images/peg-solitaire.png0000644000175000017500000000230411420635332020750 0ustar demarchidemarchiPNG  IHDR00` PLTE3f3333f333ff3fffff3f3f̙3f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙333333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffffff3fffffff3fff̙ffff3fffff3f̙3333f33̙3ff3ffff̙f3f̙3f̙̙3f̙3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3fez|tRNSəj pHYs  ^IDATHcA"`$~ U$5$`zT\$Dqj Itc#inl 4id0b4%6 OjXWVlEIENDB`peg-solitaire-2.2/images/resources.qrc0000644000175000017500000000014111446670400020217 0ustar demarchidemarchi peg-solitaire.png peg-solitaire-2.2/images/go-first.png0000644000175000017500000000154411256071024017742 0ustar demarchidemarchiPNG  IHDRĴl;sBIT|dtEXtSoftwarewww.inkscape.org<IDAT8ke?dggw6? %h-ѣ aZп,\BObK AREm34bMw7_agt; sqg`j@α1 ,ZK|;rƟ6wHةx,QҍLpK.ϟzđ#lU[{ѡѼ ,O^L f˘5g߿tA^3K&x|pnn&dy@4<Ȱ"Zl9ǟў#J1 #Nhi33k$>9%Qay<8KAX߾񩂛jbI̡StVc:ϬXDM)\/O"/^p:ћĴ*^1u";aXP9֌ul?~LjQvɅ<{F둮T&9ϟgg}ﶷv:H.(}Ztu 2(zqΑAD/_F>GVpΡbkIΝ$h="8΀N&IW*|`<" ~M2ĝ;YYᏥ%rF)R0U6ZњVcKԓ'{HyO6#}pa*!$Ẕ5*n1~IƄ!UG(%(#Gr>-/-- uJA  2F}^]EbL$BjmQf! Z;m></4IENDB`peg-solitaire-2.2/images/peg-solitaire-64x64.xpm0000644000175000017500000001053412766540460021600 0ustar demarchidemarchi/* XPM */ static char *dummy[]={ "64 64 3 1", ". c #000000", "# c #0000ff", "a c #999999", "................................................................", "................................................................", "................................................................", "................................................................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "................................................................", "................................................................", "................................................................", "................................................................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "................................................................", "................................................................", "................................................................", "................................................................", "....####....####....####....####....####....####....####........", "....####....####....####....####....####....####....####........", "....####....####....####....####....####....####....####........", "....####....####....####....####....####....####....####........", "................................................................", "................................................................", "................................................................", "................................................................", "....####....####....####....aaaa....####....####....####........", "....####....####....####....aaaa....####....####....####........", "....####....####....####....aaaa....####....####....####........", "....####....####....####....aaaa....####....####....####........", "................................................................", "................................................................", "................................................................", "................................................................", "....####....####....####....####....####....####....####........", "....####....####....####....####....####....####....####........", "....####....####....####....####....####....####....####........", "....####....####....####....####....####....####....####........", "................................................................", "................................................................", "................................................................", "................................................................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "................................................................", "................................................................", "................................................................", "................................................................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "....................####....####....####........................", "................................................................", "................................................................", "................................................................", "................................................................", "................................................................", "................................................................", "................................................................", "................................................................"}; peg-solitaire-2.2/images/edit-redo.png0000644000175000017500000000177311256071024020070 0ustar demarchidemarchiPNG  IHDRĴl;sBIT|dtEXtSoftwarewww.inkscape.org<IDAT8]lUoΙnH-@ Zk .-UMFnbL (1xaD1јt-#lUq[,)JiSZvingvfN 7srsýG;<˔mY@v`"xʋ*?x|Thu=8TyZh u OH`_ E~&L~'ɘwg4ef:ݑ68H(^"YZpS??6 O"߆'ON^/lpX3f N`xLب 3X$)|qԵ{Zo<7L]1hx:WGc΃mKsy J6A0o6z*Ԫ 4q穁t2*li>#l̈]mA"RyH&"NDBT_SqKd]Fc VXBsct#.?hشٓ`UT94G#'":'M{;雛r+J'G{^7̌cdΡ(sm ! p%^5cMD"@Ga/:$!g@lΥ[b7otqIENDB`peg-solitaire-2.2/images/asimetric_jugant.png0000644000175000017500000020455212711151664021552 0ustar demarchidemarchiPNG  IHDR, pHYs+ IDATxwxUߔ=@ {h4E M^TE_?{APPDzj 7ɶ)B6m+H ٙ393f=s 8P8+~F_4p7`K.۬3__1xt}ug}aOݽOՎs?,Ny޷\&5M A4{~Ca_ncƕ3otK!r|p],6qxN*!BE* U%FcXbM$BȿRT)UCjڥF{WoYrs) Bn.5fa7gUңb#e;b-7?Kb BsBzC(ɻn7UJkY`ߪMX3*xu5$lqa a·NTB*@sJ ĵDMx'"mRјϧ̼RiYM,U3>3sY\ ,J bJ~pKE}'b[ Oy$עkѥKD7U Wy[^I_3w,EƢ}93?]h/:vk<_ۓlI JVDA$wK\J9zڕ+6 SJRӜW ٬h KMBHR ?lj9.j|?L pgpȲ\ZpOv& 93' ,~!~z]K طfBYK%W<}c2E: ᷽vԤybֹQuRkcNj[$ˍRyEP,YmP-DV2m"Uy{\ R_o<;GWg38_;{uzjYޯC@h>}ckC;38BL!JR#.H^T %Jk)9]R-~[lJŒέ[ mT eʛmprU$[&mx M:z?G׻ׂiqo8YUrJJS>SZ-c8DSdRky)=&~Wr߽`FmrR8XR5ˠ3+~xkJj\aUʬs[&e$:_:lyP(yP\vV6(f6| V U(.,t,q~g@?LC:{%L"FY%eU:%540o{kjt%,JR]A??xs) K4oP! wYRvn-ʉRvnbrj%ɩ7P<(AڷgAZ, %Y.1 ZBm},i3S߮?>#=G,H ގLտ5/)uyi,d!Z{˻ŮcIC1`X0 ;߱t(1>1okvJÁ8 5#Ϙ>G&1 V)ۈ h=h~}q5+8N+JL¢7sr*%;o(_煭oiFN_SGЦj #fZ0.cg@lHXnܴ|2kUK!N`P7ڢKWwڗ1r8 @|Tx ?7SAM= ZJɗ,%&{{h8YBA?,)3Y͂}@74J3}6s%&  TT*ۙ/nbJN^ew՗k.6d`5_Qq*R[~FJtTjf'|j;%EfMUJd %e8x.E}J8.P^:=Tx}Ix}NWK=5 3Gp_/f%Y.Ce9VdpZ0D [R1bpA$ 0KU<%6~+cV?xq?>?*e"4"iNsfņTeo~16b q#)I7UL'Wb}›RUgNy^u̿Kjw<6vXg0Z39yh| |d\5uc{GEǶI?}7>!=;FDǴsskL2XϿ?]~=l6Xq&ώ2?3zc_=}oҏ tX^_\x?x#`>2gR7lkڊmn0jì>7 }Pa|ӡQ?`=:d{O^nA[FF:oGu]K_Ottl^Y^ݬi_E 9buo}ZEW7xH^e弾uGBulzlg}7ɏ}s`jVzfѴyۣ^v τn_}ZHzGߚ=Ν<٨=/O윥7G^ɭv8`ϝc6?|+ TQ̖l 'x>Rր:O&x)]+ ?:Rq$G1.t~}/XfZ}ޘw?coOi}t .}"B؀_`N;qQjI<즰'H\^qkПE ~skk-_lzoa[gYqUGBC_`ڴps?vj I6zl;aCgf_.=v֬ۛ޻ħG^`mF LǁE yljd#'S ?G 2(4C$q bu_&?҄ FJ6=knb1cxGhEQ)&0\.B}TL| wDTo̫R~ɳ i׬ZifR*|L{zS] Y4g]^o[kk)dlZv@5`BW/eȐ-mނ5텫!4_rs??Nǩ ^=cml|pwy?SV(,PCyO\ {us ￲dӑKTlm^b.`=B2Z-gW-u{=淗l"}??gx UKŚ^0PF+6պ464~ֽ59kiM^ : h<֜r W%Bikn%M)y+seO^a 0aey R.ҿ;h/%+||fj\WwA'ƾsl=Ň{+<,GdhRafQy2Sn65ouϺOYEcj:4M dbԻFc/\u!B5rLs˹RI,>G W(FrdcKj4;*:@B,8|R=1.+Xe@0ݶ+5~W_x] #EHhئ`ŏGڛ5ChpE#9@L{˥XeFW^?jĨS:Q*-K)tE;zx]yӶzV|S?9۶{۷ޱu~IO`ִ:JPL怲›:<_#ݿt%'R8q?vz}^}"T56%_ _yl+8}H۾^ٷae`DŽt|o_0̹ Ҁq?) ! !B,^R!BB!%Bq;٤B!ܚƒ=hB!E9!ܬB!h !B܎B!ݵ//٤on`\¾/77:,ByUz8*s2Z@yyy.F!~IEZ^-)* ᑕ]:eUj)Sh̍\S.0 !Vnyx[#fx鬜2QjkLР.[|yWlsxlġ#nmvȎY۫Z{nk}K5 ZVZա5BEXR!ڜL8NgK4ֺ/ G3>aežMSxSi ~YtcKKG?8F婯m12 Ӡl: =Τt#6,cuyђC놸 `Uz8rءwؑuI+1v n_];u(2' ں!4N&W>[֔_c8Y8eYe%I%L8ޭG2>$ɒY%Ϫg9VYwio'60I6?r3?hdN?2M.˩]jXء3gף[7R**.A2$8KzޅBi:L8Tm|СP& @/riN53So4 2LϫRS31ֿXGqn I˲Vdbtd,iy+FMYYյn&`MkB@!mgc`;q Ån> 'Šxbj^^^iiJnnVwӫgwFȖ_AzIDKB%.hLѸB!M ,˒bfJfsNj*0~ʸKG0XE~C~؞dI%/ 8Xouh1o\RkZvͧvM h<0;T J@{8.fO]?'Y|SVqYy}IلڣYJk ߰>,S;߹^YMYHi1?I4$INp>994$$22B(J(• Fgn]yylJT*,˩*xW)L!Z8pZ776_~1׫4+R,]Rτc߉LֵsۘOӧ9m}Ϧ忺cI۶}'.%bCpTs|UX&I(4Zt^(;v=?zf/^ ѩ8>Q/ 2l$&(-+K Xf2ɒ aIte߾ݺuu8^Jψiil-Zx zRQdY9b%{gBHSd!JeY;u:f !j>>hVnޜ-I=t(lzj *.J^Sdܺ1g]V])Rr6QlxɝG}ef{^Tllק1Au_P#5sSש4,E[%˰ʨi'd~!8:c9Tf2ƤgdV Ų,˨Tjo/u:3kde礤E vb5 p1fdYh48,@ !p2$8Kiiҥ|}Ҁ#d/yx0?$$$h~p(܄[J6.4N*=^[{uzLJ*$0X좵##2;eD`9]xOxle[ P^'|vI }wf'n}'a>f9%%W6GVU*B%7W҄9{jݓZ"eJ2mlV:xuabqX!45pȲ۵虑a3aY QE4)?*h1 ˔PViXna,¾$YՄ* *8t&[n"SyclF lVyħZy*c^rbBnf Z`-\(/#?uIpDKIM o޼dвe+YY%%%eee z-栠SNsףGZgS.x<|j>ef~jZܱqzvtB{8J%aϳ6STd_2, #d9" IDATե{UOnk*zM}gKw_=)Y,J%zL(wÆ{?+I?>a 9?ϖ P}Y޶5JEAqߵG*,(lVZZ|.\Um;v,pxЮ]|}V6<=<=u`VӵS__͙S&~ ʲ+'Q%rKr2DQ'OtQ`Yjg}NDG_޺5HD>1eևTL/l9ؘN|(y%A,6I6)Bsmݶxs1 Z_|UvaՀROyu(u*C!``ʾyi  %lڃLjJĒ~}xEr6[5a]8t>0sVĩ3BBgew-*6:, !4;Tw3}:lqv AYV5iݒ9hTRq?:/ڽ_G>\)Ԫ@_]E2p20ȯpסg.\n\+ݯN|i^ORi<Ǧ^Hg0 #ƫ=+h2@QU澾>-Ztbh e6 mOM*npm@EA%Iɒ$(tUB58o_|v=gjFߪ&ol*0YIhr.̥1wt[76-||`6/-1}nAT*]}!ZhU3y(TjA$Qڱ?Ju67G)Ze2dWf]Z3>TezTuTi ouێ@A"|={vgY[>>תd0 aFJRAFrM&$f)]::!&1) vbc%m{4OLlTo9`ŞAFp2%/6*4yWv)*,+4X J1o-+5eٞt |wfߧ>ڭ{Sw"؟Ӏ[?A%I$Q+:om2 EDYfdhb <ߡ}';vh,b5>r}zj0 02˰ ob9BǶimbZGz 5' 'F]j*<uw0ò6 ThβlR^MS3:&q2 V뭵~~(&PfJJͥONAEI홁(JBoO'DI`2$q},DZOq!˲(( $Jh$kMjߨtwʲ\gD@j9xؘ6-"8PRRR*$IaX`Y9Nb%'rؙ͖  krLZ..6&\tvn1B!M Gy|U9%Β^auEi7w~QNi=tRbRqȄ8ѨRIiAyv |O<â$fYVqs˲:FU2' , qZ,Dݱ~@HpN;|(DzP($Id<_aXȒ0IQ֧VUTw l!AmBq G1qcǸ (8;x*&s]\hs8zle,"Q{r0``+ihrws0cB !ص]վ!gkJJʵބB!\K8\2CMMVY77:,ByB!nG !B܎?s6FB!)[o!Bn|7tIB!nG !B܎B!%Bq;/FkCѭ s2I{B(&0q:BC8 8z(*$`@GpSe))HLDj*qBd$:v#MMQQ74A4 οшUr%E|݆9sr㩧xm|yyxE|v!~ÆsgY<41q"~-Z8(#I8rk֠C{/?x{;_#ih(!8p(:tؼ~^ 030~<6oƜ96 S̙׭Cv?^|mjuPł<GYnpu_8EPZ^¾}ycgv4qA!խY…Lzmճ'6n믣GlڄV'xE#VDddj ٳoVZ]M&76lR(6 /nJBnUpBH_+VY3 v!4YpVVZ,^ 1|86nt|ѧC"2<mp;̜ oٰmISF !\x,[??g !2 o?G9sSx LUueLp<V'y>OǢExq'B)›osݐ!8w3f`ڊ݋>—_icɓqx:!CO|kvӦ'q_~PĸF#Gb,]=ڙ"57Vɮ HnapB* ApY֭0ش CV_%Ix5<+ߎ3`t3*wߍ^äIt %\؁?t@߾3 Νݻo0gNU+VG Y3pCB+Ò[%MIaBЮ뫳k1t[jlQA@ !`V{ (G*˷mÝwư0;ʜ8{SƈlC ! 1 n9 ĩSUIqWHNh$xJ= Ya6pe+]cpRl'aI#EZMb-0 ZRG 軁 !.s+ݨFFZZ%yyP I iiUtxy:{QT//'&pHGule廋-}e̕6&/QZє8U@rWux%%k87֨VRp%=YcIդ̗Ff&դc` < %,#FJOFjr!3U9zE?T|uar3B/\7lBM=Z {?)׮(qt=X(*rt%%05衬 >>U] OO'&p/}QѶB@i}~~YF՟-ajR ek&8k/ƚpkBvvZsшV,jၼ-b#(DwމE޽T \}!`@ 25fg]blaaP:UE\6FlؤT=EY&Fn]㐝4c3W!Uv|LPC1c\zlacS*l6dfbT0t(NBX+k,(F>}8<,߼QXRp6Av(hN` ͍ڰI51YEZBM^Cn+raҤ)* webbr.Pu=ze$p\ڲ\Woq[iYHW$Kw7U0@.F?鈈pݪ%%(-_Z”)Xe9\At4݇ǥKwM>-[&5ՄQ@*}|7U{ SQeW%n&9 唸G-s"!3?;k쓨?A@z:֭P[W_ƍ̄wck,+Ca!v-[bYf|klD4Մ /Uɪ:lfs+_ލ۰I5:R>J]N!7?GlQQD^^~QRڵr,`Q2, ?O5!I7(LhU:3YU>Xʯ -5۰I5:i?+2he㒄P nEP`293)ш+W3xz] OQX|=UcXyy(,tƼ<2vBHHc6iZl#w*bhmyX1* RqB e6*&ko&UcTkÂQABn^^ػ=-[q i@t)[jHK5. j5mCǎ q0lق#QTcV$ HlID-pC-]+~wWU>AJc5@v]֞mݱʴR*ۮ^Y'D;|or,4^O?-)$uvl͈Ǒ# 6BBp f*i,Fev]i2uXVV~Łmk=j[0QQRŌl vn4Ot17lRMƮ}OQv4 g0b/[ofYÔВ$Ek^m9B^ԩxXGi)*5tpxU8X'N`|;JWWFZ-d'cœ|mz-^g}f1Q]aj-UҔ`~4!4AM !7]R!yI>lB!( B5AR?f3HJB^Vt El,CtkVYa!v‘#HNFQ$ Z@|<{ s'\;THtꄾ}Q3'J8!6Gnbbн;:w "#{bB/d'N૯к5Y'`L(xQ|9jDwc2~G;2scG̛޽kUdƍ?/ŋѥ3Ց&Bq` <?Nlpt4^}=_FX O XZj=z <,˖5xLl,_XZk,0>Æ1v,x j,O( *dsbYf zmwWWXV{R bQQ{|!z 4- cH>X̦~a}wߍᅦO&BL1{6W_Ai#0ދkѣG-(̞ qGEHn w# _n̙>^(x-&F† .DBJ8!ŋk>L&'DGcBVGS3I5*~;F{RVd°a883tAHB !;v b7FV4 ݇={j op>Qj2lXޫh7v̚3z5HS@ !,\p20hm((3୷0LvӦaT<:tp\௿a-s=O=;Y:H( ذV+vuX>2ǻ"!~~qx̛}Y o*K,Z]( X#GFewᡇ2'x-Wfw7iS}Ub"0sk1a\=J@ ! %\|2Ы>A±a"#պƞ=|9./m)3M0{LjE !`&k1V()^_es}m[] ذ>cca%pBmCX[Nq  pnwR=)(@fNjTڵKn1pBNƐ!J8||ptfCF<5OR+! %K~$ ޽\5#4z __de%Źt }>,PA!:  68d([R4sp}ܒg\b( DE!<wqtb~xdg`ڌ<hlDPA!̝3gq#9,a:DDQaHH@VVf)- `Ϟ/T};u֨+ Êz( k_|iOhy kע_zjs'Fr24g&jߏfU><{o_;3,dB67dKnUpBH,Kѩ},ۀ/$ l܈];lfXE2ڵڵ (c0z4N4 Z!xAf'*O!f 3_& f3}O7,۰S*'xxf+I-JKa@{ض͙! عoU:j,)__l؀E( ػ I7%[H[u[A\ukۇ{kؾ|,CBS`vmp?7ɓP*QRFY ̚)SQ 7Kb"dgeQVVFNg0j8Gny< BwDrKHHwc~9X,0Nп?]vfYcq QbbХ  ptaZ-xO< };(*ۣkWv`%MM!ͼOHy%}!7Cbƀw1"2埫4)R0i*.,zէr$!TqoBq-C!B!nGT!#G8xII˃ E~?N,jN]pJKy3v@b"RSQ\ "#ѩD߾̻JHJ8[蘔sot+ `6㫯hdw܁c ??((-EFNƍ={c\JEQ)..T\e:/((HT6't~0la0@PPd>y󐖆ilX$_RW Xc O6G}Md}p-m%1/\A,.$^蘊IYqqزc>,XC//t@ǎ~|)Nw`$tk$)--?LNN.))8wd2=ה ˗Q>7ٳ1ZVVt*u R999<ϯgР\Q`l\Ejs''̟ӧq$PPP1|hpИZ ΦUhγCKl ZҷYsv` Mף%D4.Zߍ^u~d2Du۷L}j bba>|x3|z6|~(+ Rs| !* 8~U,b^Lmt3c@@!D"yUZZN_GTŌu=v@x8Z@znc$Ѭ,<$@{ŴW YDkFtߨ[nWit 9O$7гN?{U/QϜҨq#e a?7O:!}x# oomWowf_/PZ{U_&'TXNӡNr*oTRQ}om}+n4&!гs ^I`#BkYZrbYY[HON<("} 5/İAؿ7b^m&$$( ͚C^hT-ݽAy36| #о=rs9$ U8+(E8P"Pzۈ ?E=Fڟ"uu_=N/?0L$Iҫ7(Lkk[懙6lsjl64%Uo*ͽ^|9<q0[i.Otc0!u՛2Zh{>0}9K:;UbvՅ.]>6Y?LP%_N͓|2g LIjCĜ9#D"QBBBRT*UAmhFy\=!:@1101ʕz-|T},ȽP*ʊҖyaQf1ۦ#{_{JQzH(1qsX'D x)g/qqFNDV:@'L\ߧvF"\%\l:brޚ:zjwi= "5ף#.@7SLM/K5Q|ׄ;(6 xʴss|1a|dn\p*۷ɾ}\٧ƏԩU*ΖC[djCAAR (---,,U9a FF²eؾ]o}|hsj~oRO~dt閴yr3{tqg0}^n;ٗwDPʃ $-Q^ڌcX׫=4_7Sg\?{;H@Pvˮv_ӋO%0O1 ߿1B"lgO Cox{}DGWz"|ފ|]>zTPRR 8޿@ssE Rpxa~'f3OTc{gct%¬dIHU^FP^V|(* 6ڐGڹ 5@s AZr$_-Pqۉ k*HHHVd6 fQ FrbcC]{"l\011͆=yDRp@(PhX"]vW啇f;PpWq[$$$$01Ai)Xʫ 'i4-ԥ!PB;73# 077T$_ !!!3 UI###e C"DŽ!bX^v(QH1m(@VVHHT j"!!!6۷1H煅 R|c4ڐϷ!U2U Υ#?H ooCH*ǥgj:HHHHj|AB!РVVVBޱ!I|!m samm`>>x qhNݒ|eT2 2ǷwaxA HOGdaaaQ^^.U2! I!B!TpH5lE^st+U={1$NNw$_Zpff- })$$$$56Ej*\\sVfVsRRԐ-P ~7RTd>6Sϻ*%% 4o>IJ ~,X3 bQiiiBP!}KBH, pwG6xJϢ*- $4+pyDžXTB}s9ϑ!QҤ GJ S54٣v1P( '*DAp,KիQ>`gҒÇ7Cx8 kZ%}():7"m;\xT/{TۖW)L>rotWXxG/<ֵ=ckM_2ع!!`2abΝ5+,,R!_`|,Cs^^6 [bdd29Vypك'{z|᤻rvm @b}p(Ћsխ8')YQڞİj[a89iJJС[=yo(7yAPUm\ARҧ&b4kI|;h`Giy+bNV\/C[X.^uMR j*APD!ң͖kyEm=3:čn6f˼I븰X>&M IüX,gx̬\e Z4uhHHĠ Nfmٴaїnmi_A9]CY.1.x3S."zkb5+#J_t?cZ:rhlC(3~p`#"B|%Զ')tRZ'K 'ee((aiYE:^n]&)+1/+=2~C*g \DGc\=97VC:I͇GemS wi/.ogBt4.z#yHo+O?Fʛ{ߟۣg6}ts平/K ۮo3O=,7oToמ<}z@W:a~pGbMC'\\t3%#5PmRM}Y,CV^t^7G%eIڑ S>Xm{pUPXXSGq1tܽ OOm-+H U&bmxz,+CA d/гCqfmf.q@0DI_fNAnPیi?Re`7ѹ?jF: #V[XrM񳠛zGmHy}?Sw=tx};|֥_,@QCO=mYzFcv8X畈Ⳣvh_Çz#m['ۼ.klOR3FEP(+aI.-EY7Ƌ: ) #$$Օ B^bp333YXM 2tRpغדjD7tp* V4~h#_LE6= rТS<ƣ2Y .뢤HيOm%T ӄ& % ?9_jmFRZNG G ЬXV¢4e+L;X[Cg 3#Fbr( *N;e-jIjA"I`Q^i.+H++<3gIQBׯ_A"( P(uhh6uӱf _?U;F|tD_|pJE׏p=!gO$Γiyzc.!{zdzI#Ns2K9'o7%ZQÖ:Ε؄Bp6nVܻbRM/A\^(j-ʛ_rQ8)'-}ۤwVO?.nCs{@W9b̰v-fƮ]رYY06WQ]ڀF-0a;??1q8$, wq#Nt@(El,>&7Owvxp#+jL˿/ex4aXY2)EobxuӐ%ut:foDrHCG#qi6-x2--,4Ps Mwfqd.li-ye KEcN޻m݉k{{_sތ4/~EAO:)Ԕuu =B lm1s&fDn.kk"( \(Fsttttt(=R=O64nƍ!s<7oPXEX3HpHn,lnxLGxl'㤤>fz[E:FZG?YG 6Y¥n+ծݴaqc|L_=>Qi=k wj<ҡs߹3kXGŞ:sT.,|ڏ=u';OmfEG;t9ziKK[lOf1H: 54UvՓ $`[r 6xa3ri7i?tԟ]ߵ:6CXFWQmّʿ>%yM<"ʾ餰Ue%!CR!!!!15ZKM[3K2l䳀O!QMI nGxEEanggY3HH4Sb[n =W ۨ+oFU0d ǗPp801D IDATzH$8w;wspA;7"F5,,j Bp05Ji`n[oT~bIH6>\x8{.- &&)>]\д):uBL> ]y-ssn֯ǠAXΟlAq\HFYYY7 1xt:,, G۶nnz Bfs8>/T*011&MNp8\;wal .l6Ѽ9:wFTԗՙ\;˗(* tE@"#-!Qá;b@H74c64hh?z5Bywq0&Lȑ6 vvղTRqۻ$8?M2Z,+++??_Z$"SZ 'V`eW/,^u?&.Vh{Wqcc|4j6ADNNNvvviittcd2,ӍbjۇfЩM|RRp6v@l,ƍäIcUzepѧVFEy9^ctaL 8) F`Rm3TUn^mñcXÇ똄;) ;#)IiYYp0MhcCT.kd $-[t9RRR +/ƲZfffHLȑR1c6bD"<իѢ֭ul"77755U(R(0JpHãz9H;v`b￯Z}feaf;իѷo5 ܹĉ8Uk 5v!":?< !vP ,]*`1z4/(IOǴipq޽Z<{푛+wԂ6mu+_tZTdsc|ijjvűcǕ$%%ɖay!oQ~=NѱI|{,//O{shص }l\\p08DG~ Za0,XC7  atZc_(!HXӌry4RLyb{"-"Lҫ<|Tۖץjs}vu]Y,+WQok&Qb-ڐ=26D" //̚HB<Š՘5PT{wdF%n*Q".,(cG`*IʕXڐi/_-Vc {L)p óg@ xϧUF9%J&$$hcCt453@svm +YF:uO?CjN oǭ[XT)1)γ383I.=\][B$Xwl!Jn/6b-uk+IJiT ZZ @LcI=ITܹP > ذA}3ϷӦ#]8b'['Ox򤢣9sЮWg6''G^m[r(%X ͛7ޚ#̞ݻ+ U//̝=a!A|>N\8J\^zffVfdX8`x̙ŋhfzhS-Z#Q>>{8ݝ6"+i$2e;Uݴ+Q(f>s6Dzْ" qm3gFX}7c˧Մ"a?=s u|qcb8P6ݐbnf v튾bnc%%%)**MSԬB S*`@̘KOR!2Sh0iii Cu2u+͎?7NSb^<|i˗aJi4̛ѣQ\\Ŭ~;Cwueqc?Qj-~/]fڋP.D|!"<Yod7Ktz+o=zN{jݷI7];b(m>k 6M4prkM6 _yӧ t&wMC'\\t3%#5EX Qb覾,k`!+fK$Ȅ)CWloF/OwuWft#²JN3;C5n~AZpG$ImHl M1@l,bcA8qUϝ+twwIǿ :+ݘBhC^|VԎRUc]oն#yDwe/=Xt5@5-;.}$WDsh;qt}Ĩ],^OżޠA)~c'EZhffҋЍ-F\w(},6*㴨2_C b}7r ]Mо vi={dߖկ//44.C~4rҬ,Y+JArJO;j6n\SH j JNlܨ 7> .Z"ƍ!~iT׏p=!gO$Γiyzc.!{zdzI#Ns2K9'o7-3t+k 4KE 7+݌R1hy) ݈&V ./.j-ʛ_rQ8)'-}ۤwVO?.nCs{ݠXE b s32lV+*?ub_dQ5d)VTdGbܺ}u8%ض ppA?d D'poJoeҸNWY`W]GD~~̐VZEi4|qyy95QJ.a_+ ʙ[EB°dWw>VL]zߩ::>07n4RyђO̪2XȷGkW^H~>)ӥܣb ze F: 8"u'KŢGל+׳#(޾km.9^,tp7V-Xq4zX} ͳT -A 5d!}dS7o_ovMXj*>5S'sݴGC򥥥ɾTRWiN[QQ”Ÿu >>R>>8^ŇPڔJɡn#P(%%%yG <ARw%x{dJY,Bcb8$yW_2x|n.,KEtI:iT4 #l}: հ_K]ic|Y,i!&X.iN oWߵ#H'Ghy ܙ-V,v (9=xocI-psYmZ1Fe5w8)ד{V B/H~e1jxg0=zPЁQXY^V;ڇ ͫ#2erٟ?<,++Shre.e*V{&& 2ΐ m4l*' `~l<9ڦ9R jpi7i?tٚy]ߵ:6CX2d-UlV"s-ԕh ƞ>Eq1Nu:UmizwӔ}/]H$EjySwd5HRRRUhtin4h({,r?ԩ6 SJ3Ŋoe'JUt?Eaooo/ocGXS cw&&qjaDݲkω>Fsej+ʾ餰L^2C %sf|`gaʞjǜ"UK[,^X!%-Ҋɜ+4BD"X|Rl6LCM)SSٕ4CȐQKBU1B1ů,2jO?fdKRmKUX]Q+ĘrjPV7>y(tFdhc+DĀBQLeu&*$(AU kU F=-?WuK^á0\?"KKj(+[)\mb;,bX"J܏taGي:8cl \4%].<4A?666O*u_E/p|~jC fa/n4ʑPdee[e;)AHI |z ss~266V'SM)\uG @Q˅1+=IPdJBJ7Ͷ̫1z{#) )>b!/O^))Az)>[!!yk$5*$uD)dPT0 iEEŠ(BTpH*#{/_~4-333먼EʇT*UfZ,\,ܑ\l6JJ`Jy3336<:BLHCR9@ Eyaa{P6p $YY Ζ5@z8HH*A 5jr;*EqV{p=}deM`o+-cGEr ^@4\,kF%*;3dkr21g  eOӈDX22 x=zxںXRyuRTP"+oi !{H+W Cykj?BByAp! +Gwp姜ヌ ; TDE;]TܩH+NU)QB͵ѹ3*i^g7(*Y<ףV-}G޽_ 1lrQ49iU[|"KL ȩ>oߢo_=Y|BscmVϴ"1q]9dS .2PKR*_4 tꇌ Uԇ ۷RR>> k2_HrÇ?B f $r~I㠲e!\Q-_?̜ 770uL< (HKFFF%%%ҡ) ސ~e1GPQ(?[?33Tڢm[!ݻ/#N!N<[åS`fZw׮O{ka]c 6_7$ŤEn eZsdl˱L4̃I PO/ࢾvT Yyy9lBd$I6+oHoeK&9eb9gnmll̸\,ǹoCy1ҭBRY,[[c= wΠtڥӧOCA7͢J~ 5(c`RSs@$RoX[N#ZZ:L0wbm< rRYmڟkSu; $Q2$'V]pxCΎZtw%ѵ=!Նz܀h bTM0~<ɑuT-E ,myX߽kwdAϞ ) ?Ԭ, ?@c>yD*5{O-{^Vw8t05UD7rs단( ,--N~ ;,DX,hV…z;AHKî]Y-CNs({\>+ ϟ,y7˛{"M9Aen7ѕsDSg0w?$'ֱxco|D.OsZ4N|ڴ59\!(`f]%ן[)m.O9N87O DwlxlKE>y[_q{vs{(k^rqtƐ! 'Q#gKUe^韡; jhCe'?3D+^q$hIp.::%;Ԫ0?nO phd p x zľ}xXWc 5/GE[7YX5k,VYƐ[U.2 [B?[ߴ Jg8XXXfff*DwP8 >kkkg략5vpu9gǧD($PRucH$tu?`HߏwT\T|4o.l܈:ux0`A0}{8$k'ފC;Fzt)~aFbW.6Pm4;.: zu;1?;E.+~GhdZ O{-M N7kw0sqEɝ''_ׯbKEXHorgl軩b?\p+|§6/{3)JX_a?_=hŤ<7߶T:̬e~xeCe[BVMbHc`50H99F4P0~j0Gi)$;qiWܽloŋKڶ_U <ҥv/~vh땻{yyOY2ʱ#&&&UNEnqG\G"rsK#N zByN IDATrvTnת*Jʼn ~ cc)Ԫӧѡb}BDD`OEb]hk[-/FgY)T N/=pߤSQE2b0-Z~b32הj=^W* {&[S)tfDrR1KYKqcYvSy1)tKQ#}m5·V)[!ݻLO `6hkxO{m+nܨǏ\To,ի 6[s1Kbˀ+lؠy %00Z0eBPJ֭_ƺuhyyp9ŊU077zqƨ ]]]ݴ tpjlA  ".yy(.9yyѣ9 9CW^{ dR ^yӶ=tњSW:RJwu;ŴH+c 3cγ[lVㄧJ<7S,퍤T:Ψ74Hb *.*v` (-y*#(VFʻvYM--O<((01KLxO]>֮0F m\?KBMٝ˗G],_8wNE*ZN7odeeɶoQ٧"X[[h6P(8xSb^0jA,Νª*44˗<OyJ~JQ9TE"UwF%ZUTǦvm\v^TNByWuB,P6m3D:p^%()? Xۆymloӄr]>xUn}l&>j{'s-ӴUL*paC~v U+Sʒ.# @PD5Z7^y1ݨ K*`!ف)kno;[14~.Hán)`kJǏ1e AhY ^y.gt%%'[lVVniz<ql$iOkBx{{ؤ|C9nC9[H >V!b1TI`5cjj0@e!S 3g kAbp^gЫ!h"(Z1cZ߆=pϟ)ː^_I7,re`k!ݺWWzSf6(VsLFn|{bpZ41b07xUbuwz&jry] EC7SjMuUBE%ʮ锁|}ϯ>5PA!O_\gS΋.n1ɇ.SAGH5F `0 շ- w;6aV)S!D"5R":az4lv! X<}jV=L˫EVZ666999YYYp&JbbЪ-ΝR+Z5 L&-˜1sEѼj׮+-JNpX[[|B/33(f='Z.A<7Zt#L+u?#"~ݟC@5n38A$&/-WHeNXԦh12j9 NIZ\[v0#{Ky,cZ{ 0q}JD/jÿǞƮkԜzN-lO1H8? ? (*WKv ؽ'N 3ƠRAP@rQ6uȑK>>w6`C+ñy34e rJKKy 7n`\r}(GPƠABs)GSs<K* }(-dM~> .prB@5HJBQ~~zQ1$$ЕLVT83gX!LMM! ?_:` DFMyĒ%`0?\]ubt?ٳѵk.`n_~QV6 l6CUp 6m¤I6:{a`aLxzVݾ7IlތwL^+$'cryCPO{˗c6LrܹE={訳RLw1>:tZ8u ?\Yw۷<4Chh˱gvܹRhCb5X,Gź2OLr}Ԇ0ycK.TqնE&pA/2bvyТ0>X,WJ v$dX-л7N> xuDEiSܸŬ,4m ./S'Uж-t:""ŻwѨ"#qBC q^Et4txuܹXZY43̙8pgc֬JeD"ԩXqq>ZYtq-cÚȺ0&$T)DTł HUXPP, +vqVk좰*ʪpT Ho +a_~<<<77ν39sbB Sk`Ev Ɓ RgϢgOt?PN{t\ 77pu47nS=mǏuk`\ } HLmyS O|Kx"v7$qsO﫞}ih_78iQQ˰p0q4}=+Uwju G]p88ذtA8Ç }%3>ÇPZ1, [ 7o*;Щd O?a6xz-(|nكSФ Bl,Ep0"#zE0q"q$A) #$D .. XJV0|8ND> }%%cBe^i4Ч /bLߏ֭p ֬AtIf(pe"U8{]Xto[kk˲] n9oNTx)vvF/ъŲw9 oGKش"*{=gpg;egwwDr,ԱcπYg՛g qs|^C;Y,,ٳhNj:;NW%V'X~_iDc{kj4w~\$dǍod[ ٛR-~͝2{OզzUpA$˜1ܹrgÞ= R腵a4 PO9 À(([ cjUOjLn0|8OΝ8pTlYr,@n.6o,#RqcDE_C쌠 TWS[bXzUb^Ē%ӧw!( ӱg)a"4m UTCǿMn'b"ްrpH¸c/9W1';Lf#vpyaӝwv}>w ]&j paQҳtzݟU\gϟ?<ߜ|`x,+pUU Y)7[\=NYJXASrb}lגɰ}!{^g5NҖY_WC5j6mBEfP;-gkL@ZR"O } j CD>*X U4 L&.MIAX""$zo|>VF|<ΟCq VThdJΦ͛1s&޽Cq" ]jg0*yrB!ƎŨQ޽bLPP@a!$Q r1{6QG~Pd]8p_3r-&:LAۤWYENV4zȰ6Ő[_͗AEJ vĂzF۶pwǢEcc1c(ưaѣ/Gm;G3rIƍ)Plf@YLb̙pEC(off<Ǐ1{vCTֽ;ڷNbd$B Be<ѿ?Z@زQpwIРѴ_`fi[ jc-`/ihjތJ($F] v0hf(=蚺ںffdi:j+֣ \IG4 Y#%e:ͭ $h0q"֑bm6\ݾG3@k!`Rԏf묯Kp", Ң>^]#q^$p!Mƾ,] 6\;Ϗjh`D̞-KϜ''56lf "憒\@.G=AA(SǡC2? $<Mܹ>oa??,\($~(C`?? A@3z#£F'3Uϳ~:'3}-]#LcN.״-hLn=3[rdUWZ(~ZBdªbQ!S3yw1ؘ wgs/'XxGM=_?.{b S~}B up%=Cp0 ֭ɓ$;;;4kF)ڷGt4f"t \HX9쉓'Z7 Cb<ŒԞđ#z5%Q\ΝTd00p 6m޽$ߏ]adDb水Dl,H>]Æ)*wwLjE>( J#)abbbbb?c|k./慻JihfjYʴ5ŋakY pT`2?h>e҃ |rvZ5Ā(LPrMW2 AE]MijKOJE ,\`;3xХ !!(~~:2Y7[=Ql[QD*xWS_XE|.x\./w$ZMQ[8wޜq JKI tH*+q,\])rI>EE)VF8}DIt&bVOڷ9>mEu[ӘMy"Mׯ<˥qnXk&SޫZֻl>cwyƒ0C w6d!C}ŐTQ~ܰ.aNv@ .O`PQXpڵ7FHM<x^:pp] <ҩЭJ.tS0etS O]|.]¦M+jiocР_+lݻQXS.cGD*ldMMⅴ9 Q%^6 V&L="ߎSI5_jk6hH%x!3S05Uel?'+ nnRCZZɹ &&HKapddPJ9HۊU%UAF$U޿ ߼.Ɂ /T[z8OQɞ*/}j0jGmęUtWH)+OoH2UTTHRS r訰K `0TبRITY m8:䲩ReC+z8ԨP[ЀP*G*.ڠ \r<54Ti +2iM!9Ylj+]6|1j|]=Utt1JJTظtTug72BU 02VdU(^E*󇉉 XVF0UXYM QZ ==(r4 IDAT'[GPjk6*[[֭qHVǏUbel}}hkXUҊ(*R:53)ۣRU$knǏUeY\ //B++|HbPBYJ&1}A5jjpԦS'Qhse$ g׮8~\UϪt*]ث_jE҅: '͛S/f ЬYBx(-UAK$67n}{$#!7Wij߄)z싞ѱ肴=.MMD=WMmFmѴ)>| ;/(҅EeeL !'#&F%ϪrhkK0x0t =66+#$DPQ#.̙*0n)(JL/*<-^۲zm}7B!/ =xֺ4쇿$A7qʪ2({@7,Zsvj4[Ya~>?/{Ӽi?iߊ&jP{8H0'NPFI .70ҨwcGǼ+PXHx?ףeK꟎yyX|d,Z&M(Qi4_%h Hc͚U+ddPLxz\`DRN-+K x8/d;=>;ݖZ0,}[w= <~]sO﫞}ih_78iQQ˸(R_0ygGsd74rvwU(/aa??QBUYe&&ΦR17::6\q||R*1hx -4oaʐkp(}uFѰz7c50OK:jLDŋ}Sv李kB ֆAظA D8ne:'`g-[FYtP P\ SGM##\ww *m:jv耟~Bh(d8r8(/QxhܸA`2udN<ssg|}՘L\]:%G$BQχww5C`?? A@3z#£F'3Uϳ~:'3}-]#LcN.'h+HlleyU!^Aj8v%{V !Ȼ{L>ǝ{Q>ژK=2gmzQqaLl_QI'LwQt:^r8=z>ē]zFJ tu"ٰƕ+ RRHJ|ytjm:v񁖖t,QYMH2nJK==6x<\P}#槟PQkנWOS ::HHPh_dqz@#ΜQ耛5Ý;pu274 ˗pώ0111111M>|5qw%|4435t`ڏư,8*[j7}ʆs @Pj@CQΩZ-GJt%4ve(-Uz`FY,,S%utpGY$sRpuEBփ?F(/W:%%3*a~*(XRJ=J C3f * Jr8(+rt:(-U:R|?&m`{ЫʔDY7n(vrp06eSV2Z-[T^+Y*[o]M2kimr,gƒei&gHĶa  Ʌm'j0vعFd캏ZqM]0,Χ%bHt_=}웷Z78n~۳Y.=xsj\*wk[[YZ[1tyV`F;2~ DS{e"kD~z-6vvvvvv~RJPRQq(t7pPQ6S?d1 lBwsq5[矕07Ç -hZ5XBFx`}$WTÁ#>w)'`<~-%gGAE6C+E}Ѱz5ΝMe%l=kttp6m*E/(DG+= ϞaDْqo#4T9oZ;eeeރ]4yeeNԟ̨?O: e=vu$5#X!MgH6 54]Ay9nŶmQU\QOf… ՘G\Lp8ӥ- ==hiaJL`Ǐx1<&YJsEA@C i j;1Ay,]l@I+D҂Hggl,oN"pf<::U7b>0w aa7Q߽pAe@GX°oₜ WP%s ;+COU `@$ccK店|>^ٳW|:]@ Qg">L&t`m *[ .HJBe%Lh󡥅-1t(FV /  |0 G>GSJH>בMr|wo )j\gq`HNH 93>x<~bhjF@:8Fg < S{nԦ!*OIZjC$BS{P(Յ!kԆCY\4jCi! a`@X(/ Ǫ"ֆ!uD @Yl.p(+}}Q6rݟ= UjD=K!h02ҙQ'06 hj) utK: 101Qb҂'uBuQ5jqֆ5jԨRQF=KE5jTáFM 5jԨQ_4Cu Gp^Bv$h-[GXYDHNF~>l[W/Ugg#y"xmѳg=Kʇ 5>Ej* A_66h;$XU-<uR^$'cztWvs8x}*1c`n~B_ƚ5HKCl,VLH 4):S,[qғ< !<farQ._JXgb*x{+4bA݋M0~rrB][ǂ()ADnJ,ׯ1f ڴe&+W Ng4Ua(̚NwoC3~)A,A ۽=̕ m tmcbY6kw" ;KN "dG{bD8x5Ҿϒ=+켏y{UbA>OA1yB5F;Ns7_EAv6Of ?^ѱŐ)2C*g~vګSn#V( #e?nǮTciNR' G.O ?NŎ)޽ WW`^XX(hj;0}:pr0;v`Rhk+ئ ΜA˖J  ž}G@D"\xyeʬTV}+W.W!E'lߎy HIAϞhJ.Ax8""0nTBksb+جpq)nقYd*إ ΟzFWzCǿMn'QTa?++';卝:4q^rկbNdw2Flsyaӝwv}>w ]&j paQҳtzݟU\gϟ?<ߜ|`x,.+pUU Y)7[\= y+֬e?d+ԩ?>섘s[d2,Gn=(yEȞW'ge֗{W%1?bX9/k#MlLaLOuku | ̜ @[ꧭE <Çi Ν8Pijxx`>LUܽ۷#&m*-!8sCQC$¤IHOǡCJ<?mذ U<+*nݰv-tMMq^BH^A޼A~X'SZ];8-[oBr._FH"#ѧO}.u+F*]Sp$씖0w.&L+>|PTb w,xn1a &*u-vҥnɽp O-s n*I1hhS}l0}7y]\Syk'u5eҘ.3yT\{!;.Mܷgۅ-bMc n"?RwHlkբSsNm n:rJCHn,r` v2a >C+?(0ܫܱgUIv4Őt R;=rĀ A~7ލÇSbJ Ǝ֭hѢVVع&˺ϝػWc֭ƺu:6jo\.й3F zaDE7 HIڵu7b"89տK g~.խ)k,-ت6oxn#Gp$v킖V ĉ0lv݊"Jx8d ޻$C hh/yB@մ譃Jznꗴj4^C5oF% K}zk43tM]m]33]'4M a5_  ^G E.٤a,%e:ͭ $h0;"֑bm6\ݾG3@k!`Rԏf/ ==AZ &}&~TNTy"ec[HO2=AÌ^^7MMl؀0}+Oȑ3 Udh|}%"#3f`F4T^^4.qN7TqوCqz*'bj<;w&LٳzzXu;TVbh,_MآO/|y_cRl}{̞]IFQ"~~(&%/j#g1FG'xO.;gng,4tOg>4Z;>A'qLcN.״-h<}${f62<ȪBO XL IDATP14|U⇬Lݽhpcc&`ojν(`mL60 6L 49`B* t6;f^n :,n8pg#0S-?ѫ5;kb:uf΄ͩQChd0)NŢEѨQ?!!9޾Ş=D5?54`̅NƇX6k__̚geYJ2>};`y@p0``@ ̄O UAa QKGq'^sy7/}W'hLC3SO-^l [blRi>e҃ |rvZ5Ā(LPJVIdTQőд@C6mmpq2MM[5,Zmē'x\1'GϏ&07\%TTٙ29'#,Lob8DΛԍe7nEYN9>%cMΐm,/ Ʌm'jL)GcΒŲ>jř7U"nwD8,V!r\aZm>[yBlMׯu{6˥gsX ֔9W_nwk+K{+n=2ϑYpgCFc~ ^{L$~Vn3vLޚć3@ žCAЦ q.Æ7'' 6>ߘLxxȜ#nX] [[9Rq$iis+`FؑganͩOmG8 4 ־=(K<yeeN+d Af'~yhAMmy8j3v, EnB̞?Nx@̙ԧEƍ&?[cn0OS{IkX˗S,189aR+ƍ^qJww}ѩzXEh(޿a/̌bqRR߽ o qŻU k{W+I5_u GmB\uPpOQ+A[ϟsWC'#JG9;vTե$ٳ>\UIUUHLnPNv~c(|FFEҴ)JK&s":u'k CYP6_ Uy8*{o)gPQ[/JQ nݒ68$`U= [`e*EKK<~ g__(XHJBuu*+*IF9|YCJR~UHHN ]6›7hՊ)(*/}j0jGm^VՃ In/%)T1^./J ^08BqcU)6ioѾ?%))h|~3<뇱1޾HTcdk/`b*ƍIz%I 6ūWjc8ԨP[ɑoԊS.22 ss%)U6jAKK%#8b ]QX'44PVVc,v.e*E==K婰::._: ~o”_=EXgrtAڞ~^&^k Lĕߴo-jk6(-U}wm+]hg|Uy8JJSPk[VX> y:<. vz1/#r{M\gj̪-_ZM[j7QΝ*hC {ž=zVwoBWWĀŢ^ Inݐ;;R/FAJL,.>V<''=*Ţ"-YPXD#1zgNU3?]U.! NDrFa[OP-AFFptDf&6~?bž=Q\2K>pq.֭*yVҒ$С@f+[FCHN&h8?"8Xł>|1>B77梲jkWCk899AZ**\VlnpL2WR,,-е5eܮ}7DC7'vOR"^<erUA9ގ,V YiET$zv,˶ϒ8*.H>YѩcǞ')6^7)=vO2/ɚeigɞnvGs<^q* }ݠ< Ś2wKpaa{v@f /-_+Ϯn E )5)\-B}zIiiaPR=bǎCn.2KGBN*+W$SH\n$&!3zŜMi9CC"-zTIbǸGaJK ECTpk >.lyɜ{~*|K~ӡ1qu_Ŝ0g BGECBFvAǟ _vPS pbXroIlnur4^C5E%9;=*_àkj뚙?ih"@PP:bX!dslҼ},n2VO4[2OE]ˈ(*"o"V ]pb|DF"7d:b=}+ξ}::Drx%_)^&"#[[jrGx 66=RZP.]0p >>عh,-eVX 'OGjUBdf"6VA89A[Ju5 { aN̝ jq%%Fh(Pb~~(&%/j#g1FG'xO.;gng,4tOg>4Z;>A'2-6&f]>?i͇& 3!AVzx CKCXȗAXU,~pTCR#xƍ:SWŋ͕QJTU1yuh41ɇO2n^OИf.-^l [blR$~ۧlXzQ>OnN4)7j9bURĦ+Մq"qe٥'"@{@l@gT}lrU-) hoȓVCڐCvB^^CGb!*nELӘMy"Mׯ<˥qnXk&S MR;I_i)'0YMOoȖVC!__p8 t'E ٰÍNۼ|>^}`1bvV}ĕ+8_CW><llތon{Ч 0Ɂ͆@ѹBw/`0t݊PU}}$$( 3(\.á[?A :y^i4>/BW>@6AAXV::}^^̬e$E3)++$4yeeNt̨?OֿK>걍ez)o}FPMM%|>B }ٷNW Z9s{ El,44x@x'Á@P@:ؿ>LLoس@uD":kQѶ-^刎:(Iif%~|`ܽ+9Aw"Ө#n _? 7|~jG'bbSQ]- lt ;k+ԆL޺kX7|5_jkCAG߾ l6866[zڸ16l@FFmcƢ];nlTUA(Vp(?D"$ >W?_|t:BC9s$8@JQH??z-[?RO۷#) FA(6D451>23R`L /MqوaضMt邗/q %%lD"xg 1A LY;,o+*.R6`AbQX,Dc&kb(Eqa&#wgEf΁ao  իطg !G-F8J8}qq}_\.ao^ ggE} 'O)ܿ_ϣ4@^^p,=B^^i5ƍѶ-C߾*Cr9^ɓw<}Յ:wF~P8wqqGJJi]]ؠ[7.]Ts{YY8u qqst'8:woxzVExQm!AS&&pv'<=U<]y$&"?R) ];>}ʈjNpCk8!p !6iB_]A uB!kCwI0?# [P,8ysk=U|jP- e鱳<NYMYɔS|{uz1R_x\e՞8Cb.u.Wjڞ}m1 .^wEtΝ燆 B(Dj*S"- c/j {R)DDУڵCn00$'ҽ7*mÎJѣ]]ӧg̞ GGLCUZzB#a sYIZnrŀ„ SgG]IL/bxm}Y(82Mj')JhDBZӑ]F,sBo ÖhYԃCNG}֔+K Eʔk*oO9 =xiӐiQZسm߿bH: 4kٳV᥽d;n/DŽ !C&Î 'nU]J> EDD`2lތ=wFHTC,Bgxk]oY `aXB򫗉g]\( zi\P I)N!;^y=Wqò"EF; FUXdY>hgЮEp͇nhɤ-'_hfkfI=G0ظa< X43Ü9t oߢ];ܻWŘ:fo{7\\ TN$G &!=ЧXvv*(kW݋5k0}:"Q!*R8xp ]غ6fN}uf '>w5Zmeʢ'+\;f\⤃;Xо!3УE1Fx;=wЄ)R=oXaKܼW=."ad )$adB]Xf}䟖Ϳ}eX͹`=)|˂܌U'ps 㕖Ν@d$z}a!<=?\^}33郋aiYugз/-B -™3B{}=L"?efUѓ^Mҗn v 4UBQ تMP񑍫Zq &~5c a.V+M*'֬AR֯/^; Ø1xdV0ztmR\]1mpFH 3йGE8y IDATy011*_U*݇CUcƭ)!5X.=!cȐX6vِ@ а5}H_m9VO v]+biA瞗Q=;qԜwy-얾M` z3loG ~,`}!SI{RQQ#"!!Jk0ˠaa i["- nn3fTM+vUA)S"#U?@21^w(r]7mπcdNF &rsKYC= Qr&37mɿcЩ.i"p̝'NZ?f<7klxxӏ-j[ȶI>~+:ŭWھzo]4Qod@PP-gRsuř3ش #47jxc`$\.]7t /cVռA5 Ջ#QXBʢj 3- Ssʈ/%\YWWxzVή]hVOifX4JȧF8uモ[Vo&M*Ta!v† *ض-pZ*͛xZ8fFH45U-{T(!<6Dz[[5]$ǎ|Z"FE!,H~ MM U 4!BȧF8꧓'쬖ͬ5ƍ˃ -Z`>% Gl,B p%b W+7\ÆHM-df"+ FFjhaU-ch4Q?=|oou%FFxH!==uEl#hX]KHb4A6L,(痭u ]] [22CGG]o&XR DpO"d2u]Y,{p\/²l5Fr!RA*ᐦb *,{|3KTICީk"). &"Qٝ?!1X\Ŗꄨ|Cy-j]ret?f.&*ٓA/++x+q,+\u1B[ԃze{!u pOO={ hXH(*Ba!8-U3hXɸQ#+J! 2T;!Kpjʪ谞N;n?jUmQe>p*c<$RXgm˯Uݞ۠T-BkwCF舷ouɁ[>\L)tp@z:BdfR]3TwCx;laž- 4LFgs6 6\ X?{#!S"qE>m,Z|╤hbXW^5l<6?T(;@zpèR6"+lsx^tGǿ}D5zDF ꙕ[FJKD|UghFp~*+zw!C3⅛hXi>k-6LY4pװ8;V&oL.y>6r)/Es%/0ڂnsY(󔯀[iWRgHI{~K*9 @KKɳ&+L䩉 KKϪ+!` GEK>д\LӟֆnV;9 aȺ@@miW> Jg&eJ QsȄ"P'p$(eouw}.mxs.XFOp _pŲ 7cvI=FFd T;{#< ĠY3UF|:]QE lI?Vz[R`iX08~t>Ƞѓ^Mҗn v 4UBQ تMP񑍫q &~5c a.V4ړzF8-oo4n/ab>f |ΞdgC[[5d2zU.ףW/]e QP3UT:g3nO Ţw鉿 ;DT_2k͆,'~%;i~쒯a;9q]ߊ@Zre=;qԜwy-얾M` z3loG ~,`}!SI2H$"HB =66- HK+}^A qF40MHIQڑg #mOe+9 T QJppL\g[3ٸ3f ܜmPGϦ-2@ifԺInGL {[+g=1;4tKh=sg kTh#Ͽhnpr I6ZʕXff;PX<\TE?#F_p<6prsaduha.^DZ ?6bF||zuyyy+iDTHRliǣUތؿ9QPӧѡCՍb'O_p޽7ajZu4tAӧ`A3^% Z*(a44c45ks5-*je|:$$@C6YNq1o64jkн{-!cG9BV-Bum ֡ukL%`4n_~U "jiI,YpШ R0 <<]{#G5J #$De+OI=ҝF NĨQtZ:?RBŐJ`jmpjΝ$#{Ƒ#YƎ!ݻ*և@,Fft mS]*|hgn'p ÀÁT GQ01Exs|,Cw?77Hp fC"6oFJ ~  x7 l)DJ߸hݺI}Fk8Q@k8H-[":;wM\{J+ZGXZ,޽ѻ7 }!+ R)6mУ4PYDc`dfEܽ. U+o]UYh ! ( Jxpq?QG"6l??UVڣ5(55ҔyFxqFgPw V'c!G8v~9{ @ lv\͐tzdnpWz^ t|׶JW$Px@`{lR!jpcgy*:) ΩGLHr Y܅ ֺn `aXB򫗉g]\( zi\P I)Nr.ytŸ>rr94iLܼTdbb&1E"&4iܘYIJ"53q"]ˈرLfƍ̛7UD|?iԈYkI{K];wGE7GnjeLӣctpwppjHT b IӶ6,]A̤Lðڕp2xA};:XY6ogʷOZ4)t[4nJ1eO|7׬eȧF8Bp8U Twq1$q _/_{w<|3g0mttba?##t7jUtFp< PED==̘ӧqu#z;V= &ݟղ* ًv~tklHoh@|;C@@J1])glՀ&(]8KJz?0_{X+^?$Ϲq.>;Ɛ:v%993S ML̟_W=|//L^V"cGb6xyUU@_v [7< ;*TN٫|;ƌ[SBj~]zo{CN?!mk!ˉߵak~?<;r ΉV҂ۧ=/Vl$zv9 ^%Z-}=p&XflbYBe 2j钃["H,tQQ +!TGGÆؽ11ظZ_@~X&\q14 Yb689&H1g<=1_lR {}ܡua|eZ>K13;i6zy>.f ul/4fF vDD%yCC3wvkO61'Y/dÓg ƛ~lqW.BM X)nE7]f]6Or,[s== ܩxDWG˖ٳ4'cǏؤ ֭g!>敵|cbz}TDLq 4LuyyyޕZ*ͮ._ܩc:%>~k`ӦޣGX6g#9g g`aЭ<<пj"] ''Z'_EPXBzs`2Hb{d++tP_ÇlQ# NСE ={,?&O?llT!èZ,!mhMb S`<4R6j|9 ʈFa]nLP̘v/ワBT$upB}3Uy[7څ >8DD85\\O> ==4m DNT-{hBp:x]GTΈRp#ڷ\(tpڶsL Bֶ>?nNA-FׯѤX٩%= tap WKD[[RA@#Ter6+W`adVVy>> oބZ"蠰05`j*ZZj( 6Vݒ:F8̇9euؓ'pvV_ ‘BASS]B LMN[oB$ն$opHSvsqocla~ lGBIAFݖ G]cen2p$'G mm)8i浨uaO?˕kdӥsƻbHS ]>(~ر;,7ɲh_÷e &.^>ŵau :O")\bX?U_DlDBP,=vg))z:r ڻ}oLUE)F*q\5 )xH̥6_۫=K׬M-Lt췟_VxWZB6 ]W8[ZDMD")V`ՅXƈ%d JG8ݳ. F6 Ύ^L 곒Q qeA!{oerMNRҕ8133"ە#< Yt߬-QRkh(L#JSN"9YS,=6)SNj" 󎮥u tLh|:Idek PKK# @,FAxKWBn.,,4m仃 ZiVkFj'O`lγpFfHKIE 쐙Bp'SZll*,BH UpH`Pٷ3Kq 9eǡ<9|Ӭ}>Zlhuha'˹vS≠Iwܱ 4}C.`-pG̃uA LyOG,;(Q~\v˷O8tB|Jۗ=u>N_lΗv:2ՎJ#i.W7CիjvWejU6 33GLME>15}7\)z-Jy'!YHr-Q4;'A̤Lð"J2hF&݅2< A?-˰si#ƛsm5zS;-lahjf3߼<ęO ((PMx޽LQX[8TLسG-iilu!@Iyz{4Qya $'iSw{vgr9,-Ѭ3W݄pt\3R[6" ^,o_%O ʕUY8))UF&87n]Obej\7]i^eSBڶEϞsC))8t‹Xii04TMDXkעeK]Qk99Qm$OVx8ZU쵓~^a \ 9XUF eX *H5ΜQ˝/BJ F>vwo,=Mr90nOeBMML5a /V6! 77CCYL]sE|<45k; 셤B=|| d,eK2 _}.]0v,Tk@"^IDATe0sfdhj [+T7Sapp} zJB'eK$&b<0 R[+(*»wHЬNĮ]5)ѿ?>gA,HˆB!BH$pwǽ{ P t EEE,,X F36HmPA!x7^az8;C* 6R)D"bСW$$"""ObbJgX$`x`a4ܺaeQ7ǯ L CŐHbǃT 3lLEH-[hOHQʂH]] *;!) ``kkl @-?9h FFH4?vNB.埋hl wvP9sssHܩ}kB!ZA!B!j${|(]OSijW }eB!uCPGk~_rEnhrš40{S)f\.mm[wq-KDE^m/$*L!|**ƏI.> =^`aT^\K G%XM?u[|i{k]xwMr#0OՃ"B>Melcױ=8ʷgdO ?cVGȁzW6Zz=W~3-tt1H R]z.\}d%QҤݱg φ/ܻsM6 G!HNo?.iTڿ<3Wލ+M!l5U\Y|]Oxɺm Y{޾}|+0_AdSAZe_X}|"٫LXV nnVv_;iT“X= mԯgg~C';ܺmsy\DOϦk_KNCA%K^uUOT\BHW&۸ve%Or2F!|qÒ7!B>l}J8!Q*6!BHU*6>3B!R5 PA!ک2pN߯ݠB!5Vl5GڤIENDB`peg-solitaire-2.2/images/peg-solitaire.xpm0000644000175000017500000000063111432467546021006 0ustar demarchidemarchi/* XPM */ static char *dummy[]={ "16 16 3 1", ". c None", "# c #0000ff", "a c #808080", "................", ".....#.#.#......", "................", ".....#.#.#......", "................", ".#.#.#.#.#.#.#..", "................", ".#.#.#.a.#.#.#..", "................", ".#.#.#.#.#.#.#..", "................", ".....#.#.#......", "................", ".....#.#.#......", "................", "................"}; peg-solitaire-2.2/CMakeLists.txt0000644000175000017500000001007412774227355017013 0ustar demarchidemarchiSET(CMAKE_INSTALL_PREFIX /$(CURDIR)/usr) # set project's name PROJECT( peg-solitaire ) cmake_minimum_required(VERSION 2.8) # with SET() command you can change variables or define new ones # here we define SAMPLE_SRCS variable that contains a list of all .cpp files # note that we don't need \ at the end of line SET( peg-solitaire_SRCS ./scr/main.cpp ./scr/funcions.cpp ./scr/rellotge.cpp ./scr/frmprincipal.cpp ./scr/fitxa.cpp ./scr/moviment.cpp ./scr/tauler.cpp ) # another list, this time it includes all header files that should be treated with moc SET( peg-solitaire_MOC_HDRS ./scr/funcions.h ./scr/rellotge.h ./scr/frmprincipal.h ./scr/fitxa.h ./scr/moviment.h ./scr/tauler.h ) # some .ui files #SET( peg-solitaire_UIS # ./scr/frmDesaFigura.ui #) # and finally an resource file # SET( peg-solitaire_RCS # resources.qrc # ) # enable warnings ADD_DEFINITIONS( -Wall ) # by default only QtCore and QtGui modules are enabled # other modules must be enabled like this: #SET( QT_USE_QT3SUPPORT TRUE ) SET( QT_USE_QTXML TRUE ) set(QT_USE_QTNETWORK true) #set(QT_USE_TESTLIB true) set(QT_USE_QTSVG true) set(QT_USE_QTDBUS true) # this command finds Qt5 libraries and sets all required variables # note that it's Qt5, not QT5 or qt5 find_package(Qt5Widgets) #find_package(Qt5Declarative) # The Qt5Widgets_INCLUDES also includes the include directories for # dependencies QtCore and QtGui include_directories(${Qt5Widgets_INCLUDES}) # We need add -DQT_WIDGETS_LIB when using QtWidgets in Qt 5. add_definitions(${Qt5Widgets_DEFINITIONS}) # add some useful macros and variables # (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script) #INCLUDE( ${QT_USE_FILE} ) # this command will generate rules that will run rcc on all files from peg-solitaire_RCS # in result peg-solitaire_RC_SRCS variable will contain paths to files produced by rcc #QT4_ADD_RESOURCES( peg-solitaire_RC_SRCS ${peg-solitaire_RCS} ) # this will run uic on .ui files: #QT5_WRAP_UI( peg-solitaire_UI_HDRS ${peg-solitaire_UIS} ) # and finally this will run moc: QT5_WRAP_CPP( peg-solitaire_MOC_SRCS ${peg-solitaire_MOC_HDRS} ) # we need this to be able to include headers produced by uic in our code # (CMAKE_BINARY_DIR holds a path to the build directory, while INCLUDE_DIRECTORIES() works just like INCLUDEPATH from qmake) INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ) # binaries are placed in the root directory as the source code SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${peg-solitaire_SOURCE_DIR}) # here we instruct CMake to build "peg-solitaire" executable from all of the source files ADD_EXECUTABLE( peg-solitaire ${peg-solitaire_SRCS} ${peg-solitaire_MOC_SRCS} ) # last thing we have to do is to tell CMake what libraries our executable needs, # luckily FIND_PACKAGE prepared QT_LIBRARIES variable for us: #TARGET_LINK_LIBRARIES( peg-solitaire ${QT_LIBRARIES} # ${QT_QTMAIN_LIBRARY} # ${QT_QTTEST_LIBRARY}) target_link_libraries(peg-solitaire ${Qt5Widgets_LIBRARIES}) # install executable and translation files install_targets(/games peg-solitaire) # INSTALL( TARGETS ${PROGNAME} DESTINATION bin ) install(DIRECTORY games/ DESTINATION share/games/peg-solitaire/games) install(DIRECTORY locales/ DESTINATION share/games/peg-solitaire/locales) install(DIRECTORY images/ DESTINATION share/games/peg-solitaire/images) install(DIRECTORY help/ DESTINATION share/games/peg-solitaire/help) install(FILES menu/peg-solitaire.6.gz DESTINATION share/man/man6) install(FILES menu/peg-solitaire.desktop DESTINATION share/applications) install(FILES menu/peg-solitaire.appdata.xml DESTINATION share/appdata) install(FILES images/peg-solitaire.xpm DESTINATION share/pixmaps) #uninstall CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" )peg-solitaire-2.2/scr/tauler.cpp0000644000175000017500000036716313117777776017071 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #include #include #include #include "tauler.h" #include "fitxa.h" #include "frmprincipal.h" #include "moviment.h" #include "rellotge.h" #include "funcions.h" #include "constants.h" /**************************************** * *15/12/10: S'ha canviat el sceneJoc: ara, cada * vegada que es canvia la modalitat de joc, * es crea un sceneJoc. D'aquesta manera, el joc * queda sempre ben dimensionat. *****************************************/ const double distanciaEntreFitxes = 1.2; extern int jocResolt; int jocsSenseSolucio=0; QString darrerEscriuMoviments; //QList llistaCoordenadesFitxesActives; //QList llistaNumeroConjuntFitxesActives; Tauler::Tauler( QUndoStack *movimentsUndoStack , Rellotge *rellotge,frmPrincipal *frmPrincipal, QWidget* parent ) : QGraphicsView(parent), p_movimentsUndoStack(movimentsUndoStack), p_rellotge(rellotge), p_frmPrinci(frmPrincipal) { QGraphicsScene* sceneJoc = new QGraphicsScene(this); sceneJoc = new QGraphicsScene(this); setScene(sceneJoc); setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing); setFrameStyle(QFrame::NoFrame); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); //setMinimumSize(frmPrincipal->minimumSize()); setMinimumSize(QSize(290,290)); comptadorFitxesJoc=0; comptadorFitxesEstatZeroJoc=0; //inicialment es juga p_estatDelJoc=joc; p_SolitariAtzar=false; p_SolitariPersonalitzat=false; } /* Retorna l'estat de la fitxa amb les coordenades del paràmetre */ int Tauler::estatFitxaJoc( const QPoint& coordenades) const { if (m_fitxes.contains(coordenades.x()*100+coordenades.y())){ return m_fitxes.value(coordenades.x()*100+coordenades.y())->estat(); } else return -1; } void Tauler::marcaMovimentsFitxa(QList movimentsFitxa){ for (int i=0; isetEstat(3); } } //Canvia l'estat de les fitxes per tal de marcar un moviment void Tauler::marcaMoviment (QString moviment){ QStringList moviments=moviment.split(" "); m_fitxes.value(moviments.value(0).toInt())->setEstat(2); m_fitxes.value(moviments.value(2).toInt())->setEstat(3); } /* Elimina els buits marcats com a final d'un moviment anterior */ void Tauler::eliminaMarquesMoviments(const QPoint& coordenades){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); while (i.hasNext()) { i.next(); if (i.value()->estat()==3){ i.value()->setEstat(0); } if( (i.value()->estat()==2) && !(i.key()==(coordenades.x()*100+coordenades.y())) ){ i.value()->setEstat(1); } } } void Tauler::ferMoviment (int fitxaInicial, int fitxaBotada, int fitxaFinal,bool missatge){ Moviment* nouMoviment = new Moviment(fitxaInicial,fitxaBotada,fitxaFinal,p_tipusMoviment,this); /*qCritical("%s", qPrintable(QString("%1 %2 %3"). arg(fitxaInicial). arg(fitxaBotada). arg(fitxaFinal)));*/ p_movimentsUndoStack->push(nouMoviment); p_frmPrinci->iniciSolucioAction->setEnabled(p_movimentsUndoStack->canUndo()); //NO es mostrarà el missatge en els solitaris //a l'atzar if( (p_estatDelJoc==joc) && missatge){ p_frmPrinci->mostraMissatge(3); } // p_frmPrinci->statusBar()->showMessage(missatgeNumeroMoviments());;} //Cal els segon true per a què s'aturi el rellotge en //haver acabat el joc quan es juga manualment marcaFinalDeJoc(p_tipusMoviment,true,true); // qDebug("moviment"); //????? ocuparFitxesFinalJoc(); } bool Tauler::ferMoviment2(int fitxaInicial, int fitxaBotada, int fitxaFinal,bool missatge){ if( (m_fitxes.value(fitxaInicial)->estat()==1 && m_fitxes.value(fitxaBotada)->estat()==p_estatFitxaMitjana && m_fitxes.value(fitxaFinal)->estat()==0 ) ){ Moviment* nouMoviment = new Moviment(fitxaInicial,fitxaBotada,fitxaFinal,p_tipusMoviment,this); /*qCritical("%s", qPrintable(QString("%1 %2 %3"). arg(fitxaInicial). arg(fitxaBotada). arg(fitxaFinal)));*/ p_movimentsUndoStack->push(nouMoviment); p_frmPrinci->iniciSolucioAction->setEnabled(p_movimentsUndoStack->canUndo()); //NO es mostrarà el missatge en els solitaris //a l'atzar if( (p_estatDelJoc==joc) && missatge){ p_frmPrinci->mostraMissatge(3); } // p_frmPrinci->statusBar()->showMessage(missatgeNumeroMoviments());;} marcaFinalDeJoc(p_tipusMoviment,true); //????? ocuparFitxesFinalJoc(); return true; } return false; } void Tauler::marcaFinalDeJoc(int direccioMoviment, bool marcaFinal, bool aturaRellotge){ if( jocFinalitzat()){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); int numFitxes=0, ordFitxa=0; int numFitxesFinalJoc=0; jocResolt=1; if(p_estatDelJoc==joc){ // qDebug("joc"); if(aturaRellotge){ // qDebug("atura rellotge"); p_rellotge->aturaRellotge(); } p_frmPrinci->mostraMissatge(0); } // qDebug("joc finalitzat sense solució"); //es posen les fitxes en color vermell while (i.hasNext()) { i.next(); if (i.value()->estat()==1){ i.value()->setEstat(5); numFitxes++; ordFitxa=i.key(); if(i.value()->fitxaFinalJoc()){ numFitxesFinalJoc++; } } } //En les modalitats "inverses" no queda només una fitxa //Aqui es controla quan queda només una fitxa o //bé els casos en què hi ha fitxes marcades //com a final del joc if ( ( (numFitxes==1) && (direccioMoviment != 2) && comptadorFitxesFinalJoc==0 ) || (nomesQuedenFitxesMarcadesFinalJoc() && (direccioMoviment != 2) ) ) { jocResolt=2; if(aturaRellotge){ p_rellotge->aturaRellotge(); } m_fitxes.value(ordFitxa)->setEstat(4); i.toFront(); while (i.hasNext()) { i.next(); if (i.value()->estat()==5){ i.value()->setEstat(4); } } p_frmPrinci->mostraMissatge(1); if(p_estatDelJoc==joc){ controlaRecords(); p_frmPrinci->desaSolucions1(); p_frmPrinci->veureSolucionsSlot();} } /* La primera opció és pels jocs que començan amb una fitxa. * La segona, per aquells que començan amb més d'una fitxa * (i això és per a les modaltats inverses) */ if ( ((numFitxes==numeroDeMovimentsJoc()+1) && (direccioMoviment == 2) && comptadorFitxesJoc==1) || ((numFitxes==numeroDeMovimentsJoc()+comptadorFitxesJoc) && (direccioMoviment == 2)) ){ i.toFront(); while (i.hasNext()) { i.next(); if (i.value()->estat()==5){ i.value()->setEstat(4); } } if(aturaRellotge){ p_rellotge->aturaRellotge(); } jocResolt=2; p_frmPrinci->mostraMissatge(1); if(p_estatDelJoc==joc){ controlaRecords(); p_frmPrinci->desaSolucions1(); p_frmPrinci->veureSolucionsSlot();} } //14/12/12 Evita que quedin les fitxes bloquejades quan NO es //resol el joc //03/01/12 què???? //04/01/12 S'ha deixat que quedin bloquejades les fitxes quan //s'hagi resolt el joc //if (jocResolt==2){ // setInteractive(false);} /*si es tracta d'un solitari personalitzat, *cal comprovar si s'ha de desar */ if( (solitariPersonalitzat()) && (jocResolt==2) && (p_estatDelJoc==joc) && marcaFinal){ p_frmPrinci->solitariPersonalitzat_desarSolitari(); } // solucionaJocActual_CalculaArbreJoc_escriuMoviments(); }// final if jocFinalitzat() } /* * Comprova si només queden fitxes marcades com a final * de joc (i estan activades!) */ bool Tauler::nomesQuedenFitxesMarcadesFinalJoc(){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); bool nomesFinalJoc=true; while (i.hasNext()) { i.next(); // if ( ( ( (i.value()->estat()==1) || (i.value()->estat()==5) ) && if ( ( (i.value()->estat() != 0) && (!i.value()->fitxaFinalJoc()) ) || ((i.value()->estat()==0) && (i.value()->fitxaFinalJoc())) ) { nomesFinalJoc=false; } } return nomesFinalJoc; } /* Comprova, desprès de cada moviment, si el joc s'ha acabat El joc s'ha acabat si només queda una fitxa (o totes en les modalitats inverses) si només queden les fitxes (ocupades) marcades com a final de joc o si les fitxes que queden no son final de joc i no es poden moure */ bool Tauler::jocFinalitzat(){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); //Pressuposam que el joc ha acabat bool finalitzat=true; while (i.hasNext()) { i.next(); //Només comprovam les fitxes actives! if ( (i.value()->estat()==1) ){ /* Si la fitxa es pot moure i * no està marcada com a final * del joc-> el joc no ha acabat */ if (i.value()->esPotMoure() && !i.value()->fitxaFinalJoc()){ finalitzat=false; break; } /* La fitxa es pot moure, però està marcada com * a final de joc i queden altres fitxes que * no estan marcades com a final de joc */ if ( i.value()->esPotMoure() && i.value()->fitxaFinalJoc() && !nomesQuedenFitxesMarcadesFinalJoc() ){ finalitzat=false; break; } if(p_tipusMoviment==2 && i.value()->esPotMoure()){ finalitzat=false; break; } if( i.value()->fitxaFinalJoc() && !nomesQuedenFitxesMarcadesFinalJoc()){ finalitzat=false; break; } } } return finalitzat; } void Tauler::controlaRecords(){ //dels solitaris especials no es desen els records if( !esSolitariEspecial()){ QSettings records; QString record=records.value(QString("%1/record").arg(p_modalitatJocActual),QString("100:00:00")).toString(); if (p_rellotge->retornaTemps(1)< record){ QSettings().setValue(QString("%1/record").arg(p_modalitatJocActual), p_rellotge->retornaTemps(1)); //missatge nou record personal p_frmPrinci->mostraMissatge(2); } } // else qDebug("és una solitari especial! %d",p_modalitatJocActual.toInt()); } /* Carrega les fitxes de la modalitat de joc passada per paràmetre */ void Tauler::joc_CarregaJoc( QString p_tipusJoc, QString p_filesColumnes, QString p_estatFitxes){ /* *Això fa que es «redimensioni» correctament el tauler *de joc quan es canvia de modalitat */ scene()->clear(); QGraphicsScene* sceneJoc1 = new QGraphicsScene(this); setScene(sceneJoc1); p_rellotge->aturaRellotge(); p_rellotge->estableixTemps(QString("00:00:00")); comptadorFitxesJoc=0; comptadorFitxesEstatZeroJoc=0; p_estatDelJoc=joc; /*qCritical("p_tipusJoc %s", qUtf8Printable(p_tipusJoc)); qCritical("p_filesColumnes %s", qUtf8Printable(p_filesColumnes)); qCritical("p_estatFitxes %s", qUtf8Printable(p_estatFitxes));*/ QStringList tipusJoc = p_tipusJoc.split(" "); setModalitatJocActual(tipusJoc.value(0)); //Comprovam els solitaris especials (atzar i personalitzats) //setSolitariEspecial(p_modalitatJocActual); QStringList filesColumnes= p_filesColumnes.split(" "); QStringList estatFitxes = p_estatFitxes.split(" "); p_tipusMoviment=tipusJoc.value(1).toInt(); p_numFitxesAillades=tipusJoc.value(2).toInt(); p_numMoviments=tipusJoc.value(3).toInt(); if ( (p_tipusMoviment==2) || (p_tipusMoviment==5) ){p_estatFitxaMitjana=0;} else {p_estatFitxaMitjana=1;} int files, columnes; files= filesColumnes.value(0).toInt(); columnes=filesColumnes.value(1).toInt(); m_fitxes.clear(); if (columnes>0){ for(int j=0 ; j-1){ QPoint coord(j,i); //fila i columna Fitxa *fitxa= new Fitxa(this); fitxa->setCoordenades(coord); fitxa->setEstat(estatFitxes.value(j*columnes+i).toInt()); // qDebug("%d",estatFitxes.value(j*columnes+i).toInt()); /*qCritical("%s", qPrintable(QString("Contador %1 estatFitxa %2") .arg(estatFitxes.value(j*columnes+i).toInt()) .arg(estatFitxes.value(j*columnes+i).toInt())));*/ //fitxa->setFitxaSolitariPersonalitzat(false); fitxa->setTipusMoviment(tipusJoc.value(1).toInt()); fitxa->setPos(fitxa->coordenades().y()*distanciaEntreFitxes*30, fitxa->coordenades().x()*distanciaEntreFitxes*30); m_fitxes.insert(coord.x()*100+coord.y(),fitxa); //qDebug("Insertada fitxa %d",coord.x()*100+coord.y()); //configuracioActual(false); scene()->addItem(fitxa); if (fitxa->estat()==1) {++comptadorFitxesJoc;} if (fitxa->estat()==0){++comptadorFitxesEstatZeroJoc;} }//if estatFitxes } //for columnes }//for files } else { //Solitaris de tipus triangular int contador=0; for(int j=0 ; j-1){ QPoint coord(j-1,i); //fila i columna Fitxa *fitxa= new Fitxa(this); fitxa->setEstat(estatFitxes.value(contador).toInt()); /* qCritical("%s", qPrintable(QString("Contador %1 estatFitxa %2") .arg(contador) .arg(estatFitxes.value(contador).toInt())));*/ fitxa->setTipusMoviment(tipusJoc.value(1).toInt()); fitxa->setCoordenades(coord); fitxa->setPos( fitxa->coordenades().y()*distanciaEntreFitxes*30-15*1.2*j, fitxa->coordenades().x()*distanciaEntreFitxes*30+4*j); // fitxa->setPos( fitxa->coordenades().y()*distanciaEntreFitxes*30-15*1.2*j, // fitxa->coordenades().x()*distanciaEntreFitxes*30); // qDebug("fitxa %d,%d",fitxa->pos().x(),fitxa->pos().y()); m_fitxes.insert(coord.x()*100+coord.y(),fitxa); scene()->addItem(fitxa); if (fitxa->estat() == 1) {++comptadorFitxesJoc;} if (fitxa->estat()==0){++comptadorFitxesEstatZeroJoc;} }//if estat fitxa ++contador; } //for columnes }//for files } p_movimentsUndoStack->clear(); configuracioActual(false); setInteractive(true); //Això per a què s'ajusti a la finestra fitInView(sceneRect(), Qt::KeepAspectRatio); } /*Controla els tipus de joc especials */ void Tauler::setSolitariEspecial(QString codiJoc){ //pressuposam que no és un solitari especial setSolitariAtzar(false); setSolitariPersonalitzat(false); //Marcam els jocs a l'atzar setSolitariAtzar(codiJoc=="1000"); //marcam els jocs personalitzats setSolitariPersonalitzat( codiJoc=="1001" || codiJoc=="1002" ||codiJoc=="1003" ); } /* * En els jocs amb fitxes finals marcades, * controla si el número de moviments per acabar * el joc permet deixar les fitxes finals ocupades */ bool Tauler::ocuparFitxesFinalJoc(){ bool resultat=true; /* Si és un joc amb fitxes marcades com a final del joc */ //QHashIterator fitxesFinalsJoc(m_fitxes); QMapIterator fitxesFinalsJoc(m_fitxes); bool ambFitxesFinalJoc=false; while (fitxesFinalsJoc.hasNext()) { fitxesFinalsJoc.next(); if ( (fitxesFinalsJoc.value()->fitxaFinalJoc()) ){ ambFitxesFinalJoc=true; } } if(ambFitxesFinalJoc){ resultat=( (numeroFitxesFinalsSenseOcupar()<4) && (numeroFitxesPerEliminar()>numeroFitxesFinalsSenseOcupar()) ); } return resultat; } /* Retorna el número de fitxes marcades com a final * del joc que estan sense ocupar */ int Tauler::numeroFitxesFinalsSenseOcupar(){ //QHashIterator fitxesFinalsJoc(m_fitxes); QMapIterator fitxesFinalsJoc(m_fitxes); int numeroFitxesFinalJoc=0; while (fitxesFinalsJoc.hasNext()) { fitxesFinalsJoc.next(); if ( (fitxesFinalsJoc.value()->fitxaFinalJoc()) && fitxesFinalsJoc.value()->estat()==0){ numeroFitxesFinalJoc++; } } return numeroFitxesFinalJoc; } /* Calcula quantes fitxes cal eliminar per acabar * el joc (fitxes actives que no estan marcades com * a final de joc) */ int Tauler::numeroFitxesPerEliminar(){ //QHashIterator fitxesFinalsJoc(m_fitxes); QMapIterator fitxesFinalsJoc(m_fitxes); int numeroFitxesFinalJoc=0; while (fitxesFinalsJoc.hasNext()) { fitxesFinalsJoc.next(); if ( !(fitxesFinalsJoc.value()->fitxaFinalJoc()) && fitxesFinalsJoc.value()->estat()==1){ numeroFitxesFinalJoc++; } } return numeroFitxesFinalJoc; } void Tauler::resizeEvent(QResizeEvent* event) { fitInView(sceneRect(), Qt::KeepAspectRatio); QGraphicsView::resizeEvent(event); } /* Per a cada fitxa del joc, calcula els moviments possibles i els posa en el QList movimentsPossibles de cada fitxa */ void Tauler::solucionaJocActual_CalculaMovimentsPosibles(){ //Per a cada fitxa del joc, calcula els possibles moviments //i es desen a la QList fitxa.movimentsPossibles //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext()) { iterator_fitxes.next(); iterator_fitxes.value()->calculaMovimentsPosiblesFitxa(); } } /* Comprova els moviments possibles, els selecciona segons diversos * criteris i preferències, i retorna una llista amb els moviments * preferits * Ho fa servir el procediment de cerca de solucions v. 2.1 */ QStringList Tauler::solucionaJocActual_CarregaMovimentsArbre1 (QStringList movimentsFets, QString darrerMoviment){ //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); QStringList itemsArbre; //tots els moviments possibles QStringList itemsArbre1;//moviments que enllaçan amb l'anterior QStringList itemsArbre2;//moviments per preferència QStringList itemsArbre3;//moviments per preferència que enllaçan amb l'anterior QStringList itemsArbre4;//moviments per nivell d'aïllament de les fitxes QStringList itemsArbre5;//moviments pel número de moviments posteriors QStringList itemsArbre6;//moviments que cumpleixen almenys 3 requisits solucionaJocActual_FitxesAillades2(); /* Número de moviments que es faran al principi a l'atzar*/ int numeroMovimentsInicialsAtzar=qrand() % comptadorFitxesJoc; // int numeroMovimentsInicialsAtzar=round(comptadorFitxesJoc*0.4); //qDebug("numeroMovimentsInicialsAtzar %d", numeroMovimentsInicialsAtzar); int preferenciaMenor=200; int aillamentMajor=0; while (iterator_fitxes.hasNext()) { iterator_fitxes.next(); int index_fitxaInicial= iterator_fitxes.value()->coordenades().x()*100+ iterator_fitxes.value()->coordenades().y(); //només comprovam les fitxes actives if ( m_fitxes.value(index_fitxaInicial)->estat()==1){ int movimentsPosibles=0; //qDebug("movimentsPossibles.count() %d",iterator_fitxes.value()->movimentsPossibles.count()); for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); //qDebug("p_estatFitxaMitjana %d ",p_estatFitxaMitjana); if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ QString moviment=QString("%1 %2 %3").arg( index_fitxaInicial).arg( index_fitxaBotada).arg( index_fitxaFinal); //és possible aquest moviment if ( (movimentsFets.indexOf(QString("%1 %2").arg(p_movimentsUndoStack->index()+1). arg(moviment))==-1) //Aquesta condició no és eficient 19/12/11 // && (solucionaJocActual_CalculaMovimentsPosteriors(moviment)) ){ itemsArbre.append(moviment); ++movimentsPosibles; /*Això s'ha posat una mica més abaix. La intenció és aconseguir més diversitat en els primers moviments del joc */ /*if (p_movimentsUndoStack->index()0){ // m_fitxes.value(index_fitxaInicial)->setPreferenciaMoure(movimentsPosibles); preferenciaMenor=qMin(preferenciaMenor,m_fitxes.value(index_fitxaInicial)->preferenciaMoure()); aillamentMajor=qMax(aillamentMajor,m_fitxes.value(index_fitxaInicial)->nivellAillament()); } }//if inicial estat==1 } /* Si no hi ha moviments possibles, no val la pena perdre el temps!*/ if(itemsArbre.count()<1){return itemsArbre;} /* Per als primers moviments del joc, no es seleccionan tant els moviments */ if (p_movimentsUndoStack->index()0){ // QString fitxaFinalDarrerMoviment=fitxesDarrerMoviment.value(fitxesDarrerMoviment.count()-1); for(int j=0 ; jindex()>numeroMovimentsInicialsAtzar ){return itemsArbre1;} if (m_fitxes.value(fitxesMovimentArbre.value(0).toInt())->preferenciaMoure()==preferenciaMenor){ itemsArbre3.prepend(itemsArbre.value(j)); // if (p_movimentsUndoStack->index()>numeroMovimentsInicialsAtzar ){return itemsArbre3;} } } if (m_fitxes.value(fitxesMovimentArbre.value(0).toInt())->preferenciaMoure()==preferenciaMenor ){ itemsArbre2.prepend(itemsArbre.value(j)); // if (p_movimentsUndoStack->index()>numeroMovimentsInicialsAtzar ){return itemsArbre2;} } if (m_fitxes.value(fitxesMovimentArbre.value(0).toInt())->preferenciaMoure()==aillamentMajor ){ itemsArbre4.prepend(itemsArbre.value(j)); // if (p_movimentsUndoStack->index()>numeroMovimentsInicialsAtzar ){return itemsArbre4;} } }//for }// if fitxesDarrerMoviment.count() for(int j=0 ; j2){itemsArbre6.append(itemsArbre.value(j));} } //qDebug("itemsArbre6.count() %d", itemsArbre6.count()); QStringList movimentsSelecionats; /* versió 2.0 moviments que cumpleixen més de 3 requisits if (itemsArbre6.count()>0){return itemsArbre6;} //moviments per nivell d'aïllament de les fitxes else if (itemsArbre4.count()>0){return itemsArbre4;} //moviments per preferència que enllaçan amb l'anterior else if (itemsArbre3.count()>0){return itemsArbre3;} //moviments pel número de moviments posteriors else if (itemsArbre5.count()>0){return itemsArbre5;} //moviments que enllaçan amb l'anterior else if (itemsArbre1.count()>0){return itemsArbre1;} //moviments per preferència else if (itemsArbre2.count()>0){return itemsArbre2;} else return itemsArbre;*/ /*15/09/16 No està clar quina opció és millor*/ movimentsSelecionats.append(itemsArbre5); movimentsSelecionats.append(itemsArbre2); movimentsSelecionats.append(itemsArbre6); if (movimentsSelecionats.count()<1){movimentsSelecionats.append(itemsArbre);} /* QStringList itemsArbre; //tots els moviments possibles QStringList itemsArbre1;//moviments que enllaçan amb l'anterior QStringList itemsArbre2;//moviments per preferència QStringList itemsArbre3;//moviments per preferència que enllaçan amb l'anterior QStringList itemsArbre4;//moviments per nivell d'aïllament de les fitxes QStringList itemsArbre5;//moviments pel número de moviments posteriors QStringList itemsArbre6;//moviments que cumpleixen almenys 3 requisits */ //Ara comprova si hi ha algun moviment que te com a final una fitxa //marcada com a final de joc if(comptadorFitxesFinalJoc>0){ // qDebug("movimentsSelecionats.count() %d",movimentsSelecionats.size()); QStringList movimentsAmbFitxaFinalJoc; for(int v=0 ; vfitxaFinalJoc()){ //qDebug("FITXA FINAL!"); movimentsAmbFitxaFinalJoc.append(movimentsSelecionats.value(v)); } } if(movimentsAmbFitxaFinalJoc.count()>0){ //qDebug("*** hi ha moviments finals"); movimentsSelecionats.clear(); movimentsSelecionats.append(movimentsAmbFitxaFinalJoc); } //else qDebug("no hi ha moviments finals"); } /* qDebug("itemsArbre1.count() %d", itemsArbre1.count()); qDebug("itemsArbre2.count() %d", itemsArbre2.count()); qDebug("itemsArbre3.count() %d", itemsArbre3.count()); qDebug("itemsArbre4.count() %d", itemsArbre4.count()); qDebug("itemsArbre5.count() %d", itemsArbre5.count()); qDebug("itemsArbre6.count() %d", itemsArbre6.count()); qDebug("movimentsSelecionats.count() %d", movimentsSelecionats.count()); qDebug("*****************");*/ return movimentsSelecionats; } //No es fa servir //QStringList Tauler::solucionaJocActual_CarregaMovimentsArbre3 // (int numeroInicialFitxesJoc, // variables_recerca_solucio variablesSolucio){ // QMapIterator iterator_fitxes(m_fitxes); // QStringList itemsArbre1,itemsArbre4; //tots els moviments possibles // QStringList redueixConjuntsAillades, redueixAillades; // QList llistaMovimentsPerConjunt,//conserva el nombre total de moviments de cada conjunt de fitxes // llistaDeNumFitxesPerConjunt; // solucionaJocActual_CalculaMovimentsPosibles(); // int numeroDeConjuntsActual=solucionaJocActual_FitxesAillades_PerConjunts(); // for(int c=0 ; cindex()>-1){ // qDebug("moviment %d conjunts %d aillades %d", // p_movimentsUndoStack->index(),numeroDeConjuntsActual,numeroDeFitxesAilladesActual); // }*/ // while (iterator_fitxes.hasNext() && (numeroDeConjuntsActual<=variablesSolucio.maximNumeroDeConjunts // && numeroDeFitxesAilladesActual<=variablesSolucio.maximNumeroDeFitxesAillades) // && solucionaJocActual_conjuntsDispersos(llistaMovimentsPerConjunt.count())<2 // ) { // iterator_fitxes.next(); // if ( iterator_fitxes.value()->estat()==1){ // int index_fitxaInicial= // iterator_fitxes.value()->coordenades().x()*100+ // iterator_fitxes.value()->coordenades().y(); // //Contam el nombre de fitxes per a cada conjunt // llistaDeNumFitxesPerConjunt.replace(iterator_fitxes.value()->conjuntAillament()-1, // llistaDeNumFitxesPerConjunt.value(iterator_fitxes.value()->conjuntAillament()-1)+1); // for(int j=0 ; jmovimentsPossibles.count();++j){ // int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); // int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); // if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && // (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ // itemsArbre4.append(QString("%1 %2 %3").arg( // index_fitxaInicial).arg( // index_fitxaBotada).arg( // index_fitxaFinal)); // llistaMovimentsPerConjunt.replace(iterator_fitxes.value()->conjuntAillament()-1, // llistaMovimentsPerConjunt.value(iterator_fitxes.value()->conjuntAillament()-1)+1); // if((p_movimentsUndoStack->index()>variablesSolucio.minimIndexDeMoviments) && // ( (numeroDeConjuntsActual>=variablesSolucio.minimNumeroDeConjuntsActual) || // (numeroDeFitxesAilladesActual>=variablesSolucio.minimNumeroDeFitxesAilladesActual) ) // ){ // ferMoviment(index_fitxaInicial,index_fitxaBotada,index_fitxaFinal); // int numeroDeConjunts=solucionaJocActual_FitxesAillades_PerConjunts(); // int numeroDeFitxesAillades=solucionaJocActual_numeroFitxesAillades(); // if(solucionaJocActual_conjuntsDispersos(numeroDeConjunts)<2){ // if(numeroDeConjunts<=numeroDeConjuntsActual && // numeroDeFitxesAillades<=numeroDeFitxesAilladesActual){ // redueixConjuntsAillades.append(QString("%1 %2 %3").arg( // index_fitxaInicial).arg( // index_fitxaBotada).arg( // index_fitxaFinal)); // } // else if (numeroDeFitxesAillades<=numeroDeFitxesAilladesActual || // numeroDeConjunts<=numeroDeConjuntsActual){ // redueixAillades.append(QString("%1 %2 %3").arg( // index_fitxaInicial).arg( // index_fitxaBotada).arg( // index_fitxaFinal)); // } // else itemsArbre4.append(QString("%1 %2 %3").arg( // index_fitxaInicial).arg( // index_fitxaBotada).arg( // index_fitxaFinal)); // } // if(jocResolt !=2){ // p_movimentsUndoStack->undo(); // } // else { // qDebug("Joc resolt tauler!!*****"); // itemsArbre4.clear(); // return itemsArbre4; // } // }//if amb control de conjunts // }//if condicions fitxes (mitjana i final) // } //for // }//if inicial estat==1 // }//while //int conjuntSenseMoviments=0; //for(int m=0 ; m1 // ){ // conjuntSenseMoviments++; // } //} ////itemsArbre4.clear(); //if(conjuntSenseMoviments>variablesSolucio.minimNumeroDeFitxesAilladesActual || // solucionaJocActual_conjuntsDispersos(llistaMovimentsPerConjunt.count())>1 // ){ //// qDebug("conjuntSenseMoviments %d",conjuntSenseMoviments); // // pausa(2000); // itemsArbre4.clear(); // return itemsArbre4; //} //if(redueixConjuntsAillades.count()>0){ // return redueixConjuntsAillades; // } //else if(redueixAillades.count()>0){ // return redueixAillades; //} //else { // if (p_movimentsUndoStack->index()>variablesSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats){ //// if (itemsArbre4.count()>4){ // return solucionaJocActual_CalculaNumeroMovimentsPosteriors(itemsArbre4);} // else return itemsArbre4; // } //} /* Selecció de moviments. Ho fa servir el procediment de cerca de solució * solucionaJocActual_RecercaIterativa_Exhaustiva1 * (jocs en diagonal, amb final marcat i amb més de 40 fitxes*/ QStringList Tauler::solucionaJocActual_CarregaMovimentsArbre4(int numeroInicialFitxesJoc){ QMapIterator iterator_fitxes(m_fitxes); QStringList itemsArbre4,itemsArbre0/*, itemsArbreFitxesMarcadesFinalJoc*/; //tots els moviments possibles solucionaJocActual_CalculaMovimentsPosibles(); int numeroDeFitxesAilladesActual=solucionaJocActual_numeroFitxesAillades(); int numeroDeConjuntsActual=solucionaJocActual_FitxesAillades_PerConjunts(); int numeroConjuntsDispersos=solucionaJocActual_conjuntsDispersos(numeroDeConjuntsActual); int numeroDeConjuntsDispersosActuals=solucionaJocActual_conjuntsDispersos(numeroDeConjuntsActual); // va bé per al clàssic angles while ( (iterator_fitxes.hasNext() && numeroDeFitxesAilladesActual<=0 && numeroDeConjuntsActual<=3 && numeroConjuntsDispersos<=0 && numeroDeConjuntsDispersosActuals<=0) || (iterator_fitxes.hasNext() && p_movimentsUndoStack->index()> numeroInicialFitxesJoc-8) || (iterator_fitxes.hasNext() && numeroInicialFitxesJoc<15) ) { iterator_fitxes.next(); if ( iterator_fitxes.value()->estat()==1){ int index_fitxaInicial= iterator_fitxes.value()->coordenades().x()*100+ iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ itemsArbre4.append(QString("%1 %2 %3").arg( index_fitxaInicial).arg( index_fitxaBotada).arg( index_fitxaFinal)); }//if condicions fitxes (mitjana i final) } //for }//if inicial estat==1 }//while if(jocAmbFinalMarcat()>0 && !ocuparFitxesFinalJoc()){ return itemsArbre0; } else if (itemsArbre4.count()>3 && p_movimentsUndoStack->index() iterator_fitxes(m_fitxes); // QStringList itemsArbre1,itemsArbre4; //tots els moviments possibles // QStringList redueixConjuntsAillades, redueixAillades, redueixConjunts, // mantenConjunts,mantenAillades; // solucionaJocActual_CalculaMovimentsPosibles(); //// int numeroDeFitxesDelJoc=numeroDeMovimentsJoc(); // int numeroDeConjuntsActual=solucionaJocActual_FitxesAillades_PerConjunts(); // int numeroDeFitxesAilladesActual=solucionaJocActual_numeroFitxesAillades(); // int numeroDeConjuntsDispersosActuals=solucionaJocActual_conjuntsDispersos(numeroDeConjuntsActual); //// if(p_movimentsUndoStack->index()>35){ //// qDebug("moviment %d conjunts %d aillades %d", //// p_movimentsUndoStack->index(),numeroDeConjuntsActual,numeroDeFitxesAilladesActual); //// } // while ( (iterator_fitxes.hasNext() // && numeroInicialFitxesJoc>34 // && numeroDeConjuntsActual<=2 // && numeroDeFitxesAilladesActual<=2 // && numeroDeConjuntsDispersosActuals<3) //// //clàssic // || (iterator_fitxes.hasNext() // && numeroInicialFitxesJoc>=31 // && numeroDeConjuntsActual<=1 // && numeroDeFitxesAilladesActual<=1 // && numeroDeConjuntsDispersosActuals<2) // || // (iterator_fitxes.hasNext() && numeroInicialFitxesJoc<= 15) ) // { // iterator_fitxes.next(); // if ( iterator_fitxes.value()->estat()==1){ // int index_fitxaInicial= // iterator_fitxes.value()->coordenades().x()*100+ // iterator_fitxes.value()->coordenades().y(); // for(int j=0 ; jmovimentsPossibles.count();++j){ // int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); // int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); // if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && // (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ // itemsArbre4.append(QString("%1 %2 %3").arg( // index_fitxaInicial).arg( // index_fitxaBotada).arg( // index_fitxaFinal)); //// if((p_movimentsUndoStack->index()>variablesSolucio.minimIndexDeMoviments) && //// ( (numeroDeConjuntsActual>=variablesSolucio.minimNumeroDeConjuntsActual) || //// (numeroDeFitxesAilladesActual>=variablesSolucio.minimNumeroDeFitxesAilladesActual) ) ){ //// ferMoviment(index_fitxaInicial,index_fitxaBotada,index_fitxaFinal); //// int numeroDeConjunts=solucionaJocActual_FitxesAillades_PerConjunts(); //// int numeroDeFitxesAillades=solucionaJocActual_numeroFitxesAillades(); //// int numeroDeConjuntsDispersos=solucionaJocActual_conjuntsDispersos(numeroDeConjunts); //// if(numeroDeConjunts<=numeroDeConjuntsActual && //// numeroDeFitxesAillades<=numeroDeFitxesAilladesActual //// && numeroDeConjuntsDispersos>3){ //// redueixConjuntsAillades.append(QString("%1 %2 %3").arg( //// index_fitxaInicial).arg( //// index_fitxaBotada).arg( //// index_fitxaFinal)); //// } //// else if ((numeroDeFitxesAillades<=numeroDeFitxesAilladesActual || //// numeroDeConjunts<=numeroDeConjuntsActual) //// && numeroDeConjuntsDispersos>3){ //// redueixAillades.append(QString("%1 %2 %3").arg( //// index_fitxaInicial).arg( //// index_fitxaBotada).arg( //// index_fitxaFinal)); //// } //// if(jocResolt !=2){ //// p_movimentsUndoStack->undo(); //// } //// else { //// qDebug("Joc resolt tauler!!*****"); //// itemsArbre4.clear(); //// return itemsArbre4; //// } //// }//if amb control de conjunts // }//if condicions fitxes (mitjana i final) // } //for // }//if inicial estat==1 // }//while ////return redueixConjuntsAillades; ////if(redueixConjuntsAillades.count()>0){ //// return redueixConjuntsAillades; ////} ////else if(redueixAillades.count()>0){ //// return redueixAillades; ////} ////else if(redueixConjunts.count()>0){ //// return redueixConjunts; ////} ////else if(mantenAillades.count()>0){ //// return mantenAillades; ////} ////else if(mantenConjunts.count()>0){ //// return mantenConjunts; ////} ////else { //// if (p_movimentsUndoStack->index()0){ //// if (p_movimentsUndoStack->index()>variablesSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats){ //// return solucionaJocActual_CalculaNumeroMovimentsPosteriors(itemsArbre1);} //// else return itemsArbre1; ////} ////else { //// if (p_movimentsUndoStack->index()>variablesSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats){ //// if (p_movimentsUndoStack->index()<15 && numeroDeFitxesDelJoc>15){ //// if (p_movimentsUndoStack->index()<20 && numeroDeFitxesDelJoc>15){ //0.6 // if (p_movimentsUndoStack->index()15){ //// if(itemsArbre4.count()>5){ // return solucionaJocActual_CalculaNumeroMovimentsPosteriors(itemsArbre4);} // else return itemsArbre4; //// } //} /* Càlcul de moviments de jocs amb poques fitxes, nombre mitjà de fitxes * i el cas del solitari en estrella*/ void Tauler::solucionaJocActual_CalculaArbreJoc(QProgressDialog *progres, int numFitxesInicialsJoc, int mantenirMoviment){ jocsRealitzats=0; jocsSenseSolucio=0; QStringList movimentsActuals=solucionaJocActual_CalculaArbreJoc_CalculaMoviments(); // if (movimentsActuals.count()==0){ // solucionaJocActual_CalculaArbreJoc_escriuMoviments(); // p_movimentsUndoStack->undo(); // } int movimentAtzar=0; if(movimentsActuals.count()>0){ movimentAtzar=qrand() % movimentsActuals.count();} for(int i=0;iindex()>mantenirMoviment){ p_movimentsUndoStack->undo();} if(jocResolt !=2){ QStringList movimentsItem=QStringList(movimentsActuals.value( (movimentAtzar+i) % movimentsActuals.count()).split(" ")); ferMoviment2(movimentsItem.value(0).toInt() ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); //Iteram solucionaJocActual_CalculaArbreJocIteracio(progres,numFitxesInicialsJoc,mantenirMoviment); continuar=true; } // qDebug("i %d",i); // qDebug("jocsRealitzats %d",jocsRealitzats); } // qDebug("jocsRealitzats %d",jocsRealitzats); // qDebug("jocsSenseSolucioB %d",jocsSenseSolucio); } /* Ho fa servir el procd. anterior*/ void Tauler::solucionaJocActual_CalculaArbreJocIteracio(QProgressDialog *progres, int numFitxesInicialsJoc, int mantenirMoviment){ int maximNombreDeProves=100; //Solitari Estrella if (numFitxesInicialsJoc==24){ maximNombreDeProves=100; } if (numFitxesInicialsJoc>40){ maximNombreDeProves=500; } if(continuar){ if(progres->wasCanceled()){ progres->cancel(); // qDebug("jocsRealitzats %d",jocsRealitzats); // qDebug("jocsSenseSolucio %d",jocsSenseSolucio); return; } QStringList movimentsActuals=solucionaJocActual_CalculaArbreJoc_CalculaMoviments(); int movimentAtzar=0; if(movimentsActuals.count()>0){ movimentAtzar=qrand() % movimentsActuals.count();} else { jocsSenseSolucio++; jocsRealitzats++; } for(int i=0;iwasCanceled()){ progres->cancel(); // qDebug("jocsRealitzatsB %d",jocsRealitzats); // qDebug("jocsSenseSolucioB %d",jocsSenseSolucio); break; } QStringList movimentsItem=QStringList(movimentsActuals.value( (movimentAtzar+i) % movimentsActuals.count()).split(" ")); ferMoviment2(movimentsItem.value(0).toInt() ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); if(p_movimentsUndoStack->count()maximum()){ progres->setValue(p_movimentsUndoStack->count()); // progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(numFitxesInicialsJoc-1)); progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(progres->maximum())); qApp->processEvents();} int numeroDeConjuntsActual=0; int numeroDeFitxesAilladesActual=0; int numeroDeConjuntsDispersosActuals=0; if(p_movimentsUndoStack->index()>numeroDeMovimentsJoc()*0.1 /*&& p_movimentsUndoStack->index()2){ // qDebug("numeroDeFitxesAilladesActual %d", numeroDeFitxesAilladesActual); // } // if(numeroDeConjuntsDispersosActuals>1){ //// qDebug("numeroDeConjuntsDispersosActuals %d", numeroDeConjuntsDispersosActuals); // } // if(numeroDeConjuntsActual>2){ // qDebug("numeroDeConjuntsActual %d", numeroDeConjuntsActual); // } //Iteram //Wiegleb if((numFitxesInicialsJoc>=40 && numeroDeFitxesAilladesActual<=1 && numeroDeConjuntsDispersosActuals<2 && numeroDeConjuntsActual<=2) || // Europeu (numFitxesInicialsJoc>=35 && numeroDeFitxesAilladesActual<=1 && numeroDeConjuntsDispersosActuals<1 && numeroDeConjuntsActual<=2) || //Clàssic i // (numeroDeMovimentsJoc()>=17 && numeroDeFitxesAilladesActual<=1 && numeroDeConjuntsDispersosActuals<2 // && numeroDeConjuntsActual<=2) (numFitxesInicialsJoc>=17 && numeroDeFitxesAilladesActual<=0 && numeroDeConjuntsDispersosActuals<2 && numeroDeConjuntsActual<=3) || (numFitxesInicialsJoc<17) //Solitari estrella || (p_tipusMoviment==3 && numeroDeFitxesAilladesActual<=2 /*&& numeroDeConjuntsDispersosActuals<=11*/ && numeroDeConjuntsActual<=4) ){//3? solucionaJocActual_CalculaArbreJocIteracio(progres,numFitxesInicialsJoc,mantenirMoviment); } else { p_movimentsUndoStack->undo(); jocsRealitzats++; // p_frmPrinci->mostraMissatge(jocsRealitzats); progres->setValue(p_movimentsUndoStack->count()); // progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(numFitxesInicialsJoc-1)); progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(progres->maximum())); qApp->processEvents();} // qDebug("i del segon bucle %d",i); } if (movimentsActuals.count()==0 && jocResolt==2){ progres->cancel(); // qDebug("jocsRealitzats %d",jocsRealitzats); // qDebug("jocsSenseSolucio %d",jocsSenseSolucio); } if(jocResolt !=2 && p_movimentsUndoStack->index()>mantenirMoviment){ p_movimentsUndoStack->undo();} if((jocsRealitzats / maximNombreDeProves)==trunc(jocsRealitzats/maximNombreDeProves) && (jocsRealitzats / maximNombreDeProves>1)){ //qDebug("divisio %f",jocsRealitzats / maximNombreDeProves); continuar=false; } }//continuar inicial } /* Ho fa servir solucionaJocActual_CalculaArbreJocIteracio() per calcular els moviments * de jocs amb poques fitxes o amb un nombre mitjancer de fitxes*/ QStringList Tauler::solucionaJocActual_CalculaArbreJoc_CalculaMoviments(){ solucionaJocActual_CalculaMovimentsPosibles(); QStringList llistaMoviments, llistaMoviments0; QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext()){ iterator_fitxes.next(); if ( iterator_fitxes.value()->estat()==1){ int index_fitxaInicial= iterator_fitxes.value()->coordenades().x()*100+ iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ llistaMoviments.append(QString("%1 %2 %3").arg( index_fitxaInicial).arg( index_fitxaBotada).arg( index_fitxaFinal)); }//if }//for }//if estat }//while //return llistaMoviments; if(!ocuparFitxesFinalJoc()){ return llistaMoviments0; } else if(numeroDeMovimentsJoc()<16){ return llistaMoviments; } else if(/*p_movimentsUndoStack->index()< numeroDeMovimentsJoc()*1.0 &&*/ // numeroDeMovimentsJoc()>=17 ){// return solucionaJocActual_CalculaNumeroMovimentsPosteriors(llistaMoviments); numeroDeMovimentsJoc()>=20 && p_movimentsUndoStack->index()> numeroDeMovimentsJoc()*0.2 //24 /*&& p_movimentsUndoStack->index()8){ // return solucionaJocActual_RedueixLlistaDeMoviments(llistaMoviments); return solucionaJocActual_CalculaNumeroMovimentsPosteriors(llistaMoviments); } else return llistaMoviments; } /* Procediment de recerca exhaustiva de solucions sense filtres de cap tipus. * Quan troba una solució, escriu en un arxiu .arbre el nombre de jocs, el nombre * de solucions trobades i el temps. * Ho fa servir el procediment de cerca de solució per foça bruta * frmPrincipal::solucionaJoc_ForcaBruta() * És possible escriure els resultats en un arxiu de text */ void Tauler::solucionaJocActual_CalculaArbreJocComplet_Inici(QProgressDialog *progres, int numFitxesInicialsJoc){ QStringList movimentsActuals=solucionaJocActual_CalculaArbreJocComplet_Inici_CalculaMoviments(); if(!progres->wasCanceled()){ int movimentAtzar=0; //if(movimentsActuals.count()>0){ // movimentAtzar= qrand() % movimentsActuals.count();} for(int i=0;iwasCanceled()){ QStringList movimentsItem=QStringList(movimentsActuals.value( (movimentAtzar+i) % movimentsActuals.count()).split(" ")); ferMoviment2(movimentsItem.value(0).toInt() ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); if(p_movimentsUndoStack->index()maximum()){ progres->setValue(p_movimentsUndoStack->index()); progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(progres->maximum())); } qApp->processEvents(); int numeroDeConjuntsActual=solucionaJocActual_FitxesAillades_PerConjunts(); int numeroDeFitxesAilladesActual=solucionaJocActual_numeroFitxesAillades(); int numeroDeConjuntsDispersosActuals=solucionaJocActual_conjuntsDispersos(numeroDeConjuntsActual); int distanciaMaximaDelsConjunts=solucionaJocActual_conjuntsAillats(numeroDeConjuntsActual); // if(distanciaMaximaDelsConjunts<4 && numeroDeFitxesAilladesActual<4){ // if(numeroDeConjuntsActual<3 /*|| distanciaMaximaDelsConjunts<3*/){ if(numeroDeConjuntsDispersosActuals<2 && numeroDeFitxesAilladesActual<3 && distanciaMaximaDelsConjunts<3){ //Iteram solucionaJocActual_CalculaArbreJocComplet_Inici(progres,numFitxesInicialsJoc); } // else { // qDebug("desfem moviment"); // p_movimentsUndoStack->undo(); // } } if (jocResolt ==2){ qApp->processEvents(); // p_frmPrinci->desaSolucions1(); //Això no es fa per evitar la pèrdua de temps de carregar continuament les //solucions. // p_frmPrinci->veureSolucionsSlot(); solucionaJocActual_CalculaArbreJoc_escriuMoviments(); qApp->processEvents(); // QString missatge=QString("%1 %2 %3").arg(jocsRealitzats). // arg(jocsAmbSolucio). // arg(p_frmPrinci->rellotgeLabel->retornaTemps(1)) // ; // qCritical("%s",qPrintable(missatge)); p_frmPrinci->mostraMissatge(100); jocResolt=0; p_movimentsUndoStack->undo(); // break; } else { //no anotam els casos en què no es troba solució solucionaJocActual_CalculaArbreJoc_escriuMoviments(); p_movimentsUndoStack->undo(); /*jocsRealitzats++;*/} }//for }///if inicial } //void Tauler::solucionaJocActual_CalculaArbreJocComplet_Inici(QProgressDialog *progres, // int numFitxesInicialsJoc){ //QStringList movimentsActuals=solucionaJocActual_CalculaArbreJocComplet_Inici_CalculaMoviments(); //if(!progres->wasCanceled()){ //int movimentAtzar=0; ////if(movimentsActuals.count()>0){ //// movimentAtzar= qrand() % movimentsActuals.count();} //for(int i=0;iwasCanceled()){ // QStringList movimentsItem=QStringList(movimentsActuals.value( // (movimentAtzar+i) % movimentsActuals.count()).split(" ")); // ferMoviment2(movimentsItem.value(0).toInt() // ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); // progres->setValue(p_movimentsUndoStack->count()); // progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(progres->maximum())); // qApp->processEvents(); // //Iteram // solucionaJocActual_CalculaArbreJocComplet_Inici(progres,numFitxesInicialsJoc); // } // if (jocResolt ==2){ // qApp->processEvents(); //// p_frmPrinci->desaSolucions1(); // //Això no es fa per evitar la pèrdua de temps de carregar continuament les // //solucions. //// p_frmPrinci->veureSolucionsSlot(); // solucionaJocActual_CalculaArbreJoc_escriuMoviments(); // qApp->processEvents(); //// QString missatge=QString("%1 %2 %3").arg(jocsRealitzats). //// arg(jocsAmbSolucio). //// arg(p_frmPrinci->rellotgeLabel->retornaTemps(1)) //// ; //// qCritical("%s",qPrintable(missatge)); // p_frmPrinci->mostraMissatge(100); // jocResolt=0; // p_movimentsUndoStack->undo(); //// break; // } // else { // //no anotam els casos en què no es troba solució // solucionaJocActual_CalculaArbreJoc_escriuMoviments(); // p_movimentsUndoStack->undo(); // /*jocsRealitzats++;*/} // }//for // }///if inicial //} /* Càlcul dels moviments possibles sense restriccions. Ho fa servir * solucionaJocActual_CalculaArbreJocComplet_Inici * el mètode de força bruta */ QStringList Tauler::solucionaJocActual_CalculaArbreJocComplet_Inici_CalculaMoviments(){ solucionaJocActual_CalculaMovimentsPosibles(); QStringList llistaMoviments; QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext()){ iterator_fitxes.next(); if ( iterator_fitxes.value()->estat()==1){ int index_fitxaInicial= iterator_fitxes.value()->coordenades().x()*100+ iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ llistaMoviments.append(QString("%1 %2 %3").arg( index_fitxaInicial).arg( index_fitxaBotada).arg( index_fitxaFinal)); }//if }//for }//if estat }//while //return solucionaJocActual_CalculaNumeroMovimentsPosteriors(llistaMoviments); return llistaMoviments; } /* Selecció de moviments per la majoria de jocs Clàssic i Europeu*/ void Tauler::solucionaJocActual_CalculaArbreJocComplet_Selectiu(QProgressDialog *progres, int numFitxesInicialsJoc, int mantenirMoviment){ //qDebug("divisio %f",jocsRealitzats / maximNombreDeProves); if (jocResolt !=2 && !progres->wasCanceled() && continuar){ QStringList movimentsActuals=solucionaJocActual_CalculaArbreJocComplet_CalculaMoviments(); // qDebug("movimentsActuals.count() %d", movimentsActuals.count()); if(!progres->wasCanceled() && jocResolt !=2){ int movimentAtzar=0; if(movimentsActuals.count()>0 && (numFitxesInicialsJoc<=40 || (numFitxesInicialsJoc> 40 && p_movimentsUndoStack->index()<35) ) /*&& p_movimentsUndoStack->index()>numFitxesInicialsJoc*0.3*/){ movimentAtzar=qrand() % movimentsActuals.count(); } for(int i=0;iwasCanceled() && continuar){ /* Això és per evitar problemes amb els jocs amb final marcat*/ if(p_movimentsUndoStack->index()maximum()){ progres->setValue(p_movimentsUndoStack->index()); progres->setLabelText(p_frmPrinci->missatgeNumeroMoviments(progres->maximum())); } qApp->processEvents();} int numeroDeConjuntsActual=0; int numeroDeFitxesAilladesActual=0; // int numeroDeConjuntsDispersosActuals=0; int distanciaMaximaDelsConjunts=0; // if(jocAmbFinalMarcat()==0){ numeroDeConjuntsActual=solucionaJocActual_FitxesAillades_PerConjunts(); numeroDeFitxesAilladesActual=solucionaJocActual_numeroFitxesAillades(); // numeroDeConjuntsDispersosActuals=solucionaJocActual_conjuntsDispersos(numeroDeConjuntsActual); // if(numFitxesInicialsJoc< 40){ distanciaMaximaDelsConjunts=solucionaJocActual_conjuntsAillats(numeroDeConjuntsActual); // } //Classic Asimètric // numeroDeConjuntsActual<=1 && numeroDeFitxesAilladesActual<=0 && numeroDeConjuntsDispersosActuals<=1 if( (numFitxesInicialsJoc<=21 ) || (numFitxesInicialsJoc<=40 && numeroDeConjuntsActual<=2 && numeroDeFitxesAilladesActual<=0 && distanciaMaximaDelsConjunts<=3) || (numFitxesInicialsJoc> 100 && distanciaMaximaDelsConjunts<=3 && numeroDeFitxesAilladesActual==0 /*&& numeroDeConjuntsDispersosActuals ==0*/ && numeroDeConjuntsActual<=3 ) || (jocAmbFinalMarcat()>0 && ocuparFitxesFinalJoc() ) ){ //Iteram solucionaJocActual_CalculaArbreJocComplet_Selectiu(progres,numFitxesInicialsJoc,mantenirMoviment); } if(!progres->wasCanceled() && jocResolt !=2 && p_movimentsUndoStack->index()>mantenirMoviment){ p_movimentsUndoStack->undo(); jocsRealitzats++; if(jocsRealitzats>=maximNombreDeProves){ continuar=false; // qDebug("jocsRealitzats for %d", jocsRealitzats); jocsRealitzats=0; } } }//for }///if inicial } else if (continuar){ progres->cancel(); progres->setVisible(false); } if(jocsRealitzats>=maximNombreDeProves){ continuar=false; jocsRealitzats=0; } } /* Comprova si el joc te el final marcat*/ int Tauler::jocAmbFinalMarcat(){ int finalMarcat=0; QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext()){ iterator_fitxes.next(); if ( iterator_fitxes.value()->fitxaFinalJoc()){ finalMarcat++; // qDebug("final marcat!"); // break; }//if estat }//while return finalMarcat; } /* Dels moviments passats, selecciona els que tenen una fitxa marcada com a final * de joc com a final de moviment*/ QStringList Tauler::solucionaJocActual_seleccionarMovimentsAmbFitxesFinalsDeJoc(QStringList moviments){ QStringList movimentsAmbFitxaFinalJoc1,movimentsAmbFitxaFinalJoc2, movimentsAmbFitxaFinalJoc3,movimentsAmbFitxaFinalJoc0;/*movimentsAmbFitxaFinalJoc4*/ for(int v=0 ; vfitxaFinalJoc() && !m_fitxes.value(fitxes.value(1).toInt())->fitxaFinalJoc()){ movimentsAmbFitxaFinalJoc1.append(moviments.value(v)); } //La fitxa final és final de joc (les altres dues no ho son) else if (!m_fitxes.value(fitxes.value(0).toInt())->fitxaFinalJoc() && !m_fitxes.value(fitxes.value(1).toInt())->fitxaFinalJoc() && m_fitxes.value(fitxes.value(2).toInt())->fitxaFinalJoc() ){ movimentsAmbFitxaFinalJoc1.append(moviments.value(v)); movimentsAmbFitxaFinalJoc2.append(moviments.value(v)); } //La fitxa mitjana és final de joc (les altres dues no ho son) else if (!m_fitxes.value(fitxes.value(0).toInt())->fitxaFinalJoc() && m_fitxes.value(fitxes.value(1).toInt())->fitxaFinalJoc() && !m_fitxes.value(fitxes.value(2).toInt())->fitxaFinalJoc() ){ // movimentsAmbFitxaFinalJoc1.append(moviments.value(v)); movimentsAmbFitxaFinalJoc3.append(moviments.value(v)); } //La primera final de joc, la segona no i la tercera si else if (m_fitxes.value(fitxes.value(0).toInt())->fitxaFinalJoc() && !m_fitxes.value(fitxes.value(1).toInt())->fitxaFinalJoc() && m_fitxes.value(fitxes.value(2).toInt())->fitxaFinalJoc()){ movimentsAmbFitxaFinalJoc2.append(moviments.value(v)); } //La primera final de joc, les altres dues no else if (m_fitxes.value(fitxes.value(0).toInt())->fitxaFinalJoc() && !m_fitxes.value(fitxes.value(1).toInt())->fitxaFinalJoc() && !m_fitxes.value(fitxes.value(2).toInt())->fitxaFinalJoc()){ movimentsAmbFitxaFinalJoc1.append(moviments.value(v)); movimentsAmbFitxaFinalJoc3.append(moviments.value(v)); } } //Si no és possible acabar el joc, no tornam moviments if(!ocuparFitxesFinalJoc()){ return movimentsAmbFitxaFinalJoc0; } //else if(movimentsAmbFitxaFinalJoc2.count()>0){ // return movimentsAmbFitxaFinalJoc2;} //else if(movimentsAmbFitxaFinalJoc1.count()>0){ // return movimentsAmbFitxaFinalJoc1;} //else if(movimentsAmbFitxaFinalJoc3.count()>0){ // return movimentsAmbFitxaFinalJoc3;} //else return moviments; else if(movimentsAmbFitxaFinalJoc1.count()>0){ return movimentsAmbFitxaFinalJoc1; // return solucionaJocActual_CalculaNumeroMovimentsPosteriors(movimentsAmbFitxaFinalJoc1); } else if (movimentsAmbFitxaFinalJoc3.count()>0){ return movimentsAmbFitxaFinalJoc3; } else if (movimentsAmbFitxaFinalJoc2.count()>0){ return movimentsAmbFitxaFinalJoc2; } //else if (movimentsAmbFitxaFinalJoc4.count()>0){ // return movimentsAmbFitxaFinalJoc4; // } else return moviments; } /* Selecció de moviments. Ho fa servir Tauler::solucionaJocActual_CalculaArbreJocComplet_Selectiu*/ QStringList Tauler::solucionaJocActual_CalculaArbreJocComplet_CalculaMoviments(){ solucionaJocActual_CalculaMovimentsPosibles(); QStringList llistaMoviments; QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext()){ iterator_fitxes.next(); if ( iterator_fitxes.value()->estat()==1){ int index_fitxaInicial= iterator_fitxes.value()->coordenades().x()*100+ iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ llistaMoviments.append(QString("%1 %2 %3").arg( index_fitxaInicial).arg( index_fitxaBotada).arg( index_fitxaFinal)); }//if }//for }//if estat }//while if (jocAmbFinalMarcat()>10 ){ return solucionaJocActual_seleccionarMovimentsAmbFitxesFinalsDeJoc(llistaMoviments); } else if (numeroDeMovimentsJoc()<=25){ return llistaMoviments; } else if(p_movimentsUndoStack->index()index()<37 ){ return solucionaJocActual_CalculaNumeroMovimentsPosteriors(llistaMoviments); } else return llistaMoviments; } /* Escriu els moviments realitzats a un joc. Es fa servir en el procd. * de forçaBruta per deixar en un arxiu de text els jocs fets * o les solucions trobades*/ void Tauler::solucionaJocActual_CalculaArbreJoc_escriuMoviments(){ // qDebug("jocsRealitzats %d",jocsRealitzats); QString solucioActual, nomesMoviments; solucioActual.append(p_frmPrinci->rellotgeLabel->retornaTemps(1)+" "); for(int j=0;jcount()-1;j++){ solucioActual.append(QString("%1 %2 "). arg(j+1). arg(coordenadesAMoviment(p_movimentsUndoStack->text(j)))) ; nomesMoviments.append(QString("%1 %2"). arg(p_movimentsUndoStack->count()). arg(coordenadesAMoviment(p_movimentsUndoStack->text( p_movimentsUndoStack->count()-1)))) ; } /*04/02/11 Eliminats els espais buits del final */ solucioActual.append(QString("%1 %2"). arg(p_movimentsUndoStack->count()). arg(coordenadesAMoviment(p_movimentsUndoStack->text( p_movimentsUndoStack->count()-1)))) ; if(jocResolt==2){ solucioActual.prepend("*"); qCritical("%s Solució!",qPrintable(p_frmPrinci->rellotgeLabel->retornaTemps(1))); // jocsAmbSolucio++; } else solucioActual.prepend(" "); // qCritical("%s", qPrintable(solucioActual)); if(!darrerEscriuMoviments.contains(nomesMoviments)){ if(jocResolt==2){jocsAmbSolucio++;} jocsRealitzats++; solucioActual.prepend(QString("%1 ").arg(jocsRealitzats)); QString missatge=QString("%1 %2 %3 \n").arg(jocsRealitzats). arg(jocsAmbSolucio). arg(p_frmPrinci->rellotgeLabel->retornaTemps(1)) ; if(jocResolt==2 || 1==1){ QString nomArxiu=p_frmPrinci->nomArxiuJoc(5); QFile arxiu(nomArxiu); if (arxiu.open(QIODevice::Append)){ QTextStream entrada(&arxiu); //per escriure totes les solucions completes entrada<<(QString("%1\n").arg(solucioActual)) ; //per escriure el nombre de moviments realitzats, solucions trobades //i temps emprat // entrada<<(missatge) ; } arxiu.close(); } darrerEscriuMoviments.clear(); darrerEscriuMoviments.append(nomesMoviments); } // //tornam enrrera el darrer moviment // p_movimentsUndoStack->undo(); } /* Per a cada un dels moviments passats, calcula el nombre de moviments posibles després de fer els moviments passats. Retorna la clau del Has de la fitxa amb més moviments */ QStringList Tauler::solucionaJocActual_CalculaNumeroMovimentsPosteriors(QStringList movimentsPosibles){ //qDebug("solucionaJocActual_CalculaNumeroMovimentsPosteriors"); QList llistaNumeroMoviments; for(int j=0 ; jsetEstat(0); m_fitxes.value(moviment.value(1).toInt())->setEstat(0); m_fitxes.value(moviment.value(2).toInt())->setEstat(1); llistaNumeroMoviments.append(solucionaJocActual_MovimentsPosiblesActuals()); //desfem el moviment m_fitxes.value(moviment.value(0).toInt())->setEstat(1); m_fitxes.value(moviment.value(1).toInt())->setEstat(1); m_fitxes.value(moviment.value(2).toInt())->setEstat(0); }//if p_tipusMoviment != 2 else { m_fitxes.value(moviment.value(0).toInt())->setEstat(0); m_fitxes.value(moviment.value(1).toInt())->setEstat(1); m_fitxes.value(moviment.value(2).toInt())->setEstat(1); //Ara calculam el número de moviments possibles amb aquesta situació llistaNumeroMoviments.append(solucionaJocActual_MovimentsPosiblesActuals()); //desfem el moviment m_fitxes.value(moviment.value(0).toInt())->setEstat(1); m_fitxes.value(moviment.value(1).toInt())->setEstat(0); m_fitxes.value(moviment.value(2).toInt())->setEstat(0); }//else p_tipusMoviment != 2 }//for return solucionaJocActual_SeleccionaNumeroMovimentsPosteriors(movimentsPosibles,llistaNumeroMoviments); } /* Dels moviments possibles, selecciona els que tenen el major nombre de moviments * posteriors */ QStringList Tauler::solucionaJocActual_SeleccionaNumeroMovimentsPosteriors(QStringList llistaMovimentsMaxims, QList llistaNumeroMoviments){ /* Màxim nombre de moviments*/ int maximNombreDeMoviments=0; for(int j=0 ; jmaximNombreDeMoviments){ maximNombreDeMoviments=llistaNumeroMoviments.value(j); // qDebug("maximNombreDeMoviments %d", maximNombreDeMoviments); } } /* Seleccionam els moviments que maximitzam el nombre de moviments posteriors*/ QStringList movimentsMaxims; for(int j=0 ; j=maximNombreDeMoviments){ movimentsMaxims.append(llistaMovimentsMaxims.value(j)); } } //qDebug("movimentsMaxims.count() %d", movimentsMaxims.count()); return movimentsMaxims; } /* Dels moviments possibles, selecciona aquells que redueixen el nombre de * conjunts de fitxes No es fa servir però podria ésser útil */ QStringList Tauler::solucionaJocActual_SeleccionaMovimentsRedueixenConjuntsFitxes(QStringList movimentsPosibles){ QStringList movimentsSeleccionats; int numeroConjuntsActual=solucionaJocActual_FitxesAillades_PerConjunts(); for(int j=0 ; jundo();} else { movimentsSeleccionats.clear(); return movimentsSeleccionats;} }//if p_tipusMoviment != 2 else { m_fitxes.value(moviment.value(0).toInt())->setEstat(0); m_fitxes.value(moviment.value(1).toInt())->setEstat(1); m_fitxes.value(moviment.value(2).toInt())->setEstat(1); if(numeroConjuntsActualsetEstat(1); m_fitxes.value(moviment.value(1).toInt())->setEstat(0); m_fitxes.value(moviment.value(2).toInt())->setEstat(0); }//else p_tipusMoviment != 2 }//for return movimentsSeleccionats; } /* Simplement, selecciona a l'atzar alguns moviments i els retorna. * Es fa una reducció dels moviments que es provaran No es fa servir */ QStringList Tauler::solucionaJocActual_RedueixLlistaDeMoviments(QStringList movimentsPosibles){ QStringList movimentsSeleccionats; int seleccio=qrand() % movimentsPosibles.count(); for(int j=0 ; j iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); int numeroFitxesActives=0; while (iterator_fitxes.hasNext()) { iterator_fitxes.next(); if ( iterator_fitxes.value()->estat()==1){ ++numeroFitxesActives;} } bool finalDeJoc=false; if( (numeroFitxesActives==1) && (p_tipusMoviment != 2) && (comptadorFitxesFinalJoc==0) ){finalDeJoc=true;} else if ((nomesQuedenFitxesMarcadesFinalJoc()) && (p_tipusMoviment != 2)){finalDeJoc=true;} else if ( (numeroFitxesActives==numeroDeMovimentsJoc()+1) ) {finalDeJoc=true;} return finalDeJoc; } /* Per el moviment passat per paràmetre, comprova si hi ha moviments posteriors Cal tenir en compte que pot ésser el darrer moviment!!! 19/11/12 Aquest proc. no pareix ésser eficaç. Ara no es fa servir bool Tauler::solucionaJocActual_CalculaMovimentsPosteriors(QString moviment){ int numeroMoviments=0; //Primer "simulam" el moviment QStringList fitxes=QStringList(moviment.split(" ")); if ( (p_tipusMoviment != 2) && (p_tipusMoviment != 5)){ m_fitxes.value(fitxes.value(0).toInt())->setEstat(0); m_fitxes.value(fitxes.value(1).toInt())->setEstat(0); m_fitxes.value(fitxes.value(2).toInt())->setEstat(1); //Ara calculam el número de moviments possibles amb aquesta situació numeroMoviments=solucionaJocActual_MovimentsPosiblesActuals(); //desfem el moviment m_fitxes.value(fitxes.value(0).toInt())->setEstat(1); m_fitxes.value(fitxes.value(1).toInt())->setEstat(1); m_fitxes.value(fitxes.value(2).toInt())->setEstat(0);} else { m_fitxes.value(fitxes.value(0).toInt())->setEstat(0); m_fitxes.value(fitxes.value(1).toInt())->setEstat(1); m_fitxes.value(fitxes.value(2).toInt())->setEstat(1); //Ara calculam el número de moviments possibles amb aquesta situació numeroMoviments=solucionaJocActual_MovimentsPosiblesActuals(); //desfem el moviment m_fitxes.value(fitxes.value(0).toInt())->setEstat(1); m_fitxes.value(fitxes.value(1).toInt())->setEstat(0); m_fitxes.value(fitxes.value(2).toInt())->setEstat(0);} //Comprovam si estem al final del joc // if(arribatFinalJoc()){numeroMoviments=qMax(numeroMoviments,1);} return numeroMoviments>0; } */ /* Calcula el nombre de moviments reals de la configuració actual */ int Tauler::solucionaJocActual_MovimentsPosiblesActuals(){ QMapIterator iterator_fitxes(m_fitxes); // QHashIterator iterator_fitxes(m_fitxes); int movimentsPosibles=0; int numeroFitxesActives=0; while (iterator_fitxes.hasNext()) { iterator_fitxes.next(); int index_fitxaInicial=iterator_fitxes.value()->coordenades().x()*100+iterator_fitxes.value()->coordenades().y(); //només comprovam les fitxes actives if ( m_fitxes.value(index_fitxaInicial)->estat()==1){ ++numeroFitxesActives; for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0) ){ ++movimentsPosibles; } } //for }//if inicial estat==1 } if (arribatFinalJoc()){movimentsPosibles=qMax(movimentsPosibles,1);} return movimentsPosibles; } /* Comprova si hi ha alguna fitxa "aïllada" o sigui fitxes en estat 1 que no tenen cap moviment que es pugui fer efectiu o be cap moviment en què la fitxa mitjancera pugui passar a estat 1 desprès d'un moviment 18/11/12 aques proc. no pareix molt eficaç 03/09/16 Substituït pel procediement solucionaJocActual_FitxesAillades1() a la versió 2.1 * bool Tauler::solucionaJocActual_FitxesAillades(){ qDebug("Inici aillades*************"); // Aquest procediment no és eficient // amb la modalitat inversa if(p_tipusMoviment==2){return false;} solucionaJocActual_CalculaMovimentsPosibles(); // 22/08/16 Això no es fa servir per res //int nivellAillamentFitxes=0; int numeroFitxesAillades=0; //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); QString moviments; //posam totes les fitxes a no aïllades //while ( iterator_fitxes.hasNext() ){ // iterator_fitxes.next(); // iterator_fitxes.value()->setFitxaAillada(false); //} //iterator_fitxes.toFront(); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); int index_fitxaInicial= iterator_fitxes.value()->coordenades().x()*100+iterator_fitxes.value()->coordenades().y(); int index_fitxaBotada; int index_fitxaFinal; moviments.clear(); m_fitxes.value(index_fitxaInicial)->calculaMovimentsFitxa(); //Només poden estar "aïllades" les fitxes actives //(sí ho poden estar si son fitxes finals de joc!) //Tampoc pot estar aïllada una fitxa que és la mitjana d'un moviment posible if( (m_fitxes.value(index_fitxaInicial)->estat()==1) || (!(m_fitxes.value(index_fitxaInicial)->fitxaFinalJoc()) && (m_fitxes.value(index_fitxaInicial)->estat()==1) ) ){ for(int j=0 ; jmovimentsPossibles.count();++j){ index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); //fitxa activa possibilitat de fer un moviment if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && (m_fitxes.value(index_fitxaBotada)->estat() ==p_estatFitxaMitjana) && (m_fitxes.value(index_fitxaFinal)->estat()==0)){ moviments.append("1"); //break; } else moviments.append("0"); if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && (m_fitxes.value(index_fitxaBotada)->estat() != p_estatFitxaMitjana) ){ //Cal mirar si la fitxa botada es el final d'un moviment possible if ( (!movimentPosibleFitxaFinal(index_fitxaBotada)) ){ moviments.append("0"); } else {moviments.append("1"); // break; } } //La fitxa pot ésser la mitjana d'un moviment possible if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) ){ if ( (!movimentPosibleFitxaMitjana(index_fitxaInicial)) ){ moviments.append("0"); } else {moviments.append("1"); // break; } } if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && m_fitxes.value(index_fitxaInicial)->movimentsFitxa.count()<1){ if ( (!movimentPosibleFitxaMitjana(index_fitxaInicial)) ){ moviments.append(""); } else {moviments.append("0"); // break; } } }//final del for if ( !(moviments.contains("1")) ){ m_fitxes.value(index_fitxaInicial)->setFitxaAillada(true); if (m_fitxes.value(index_fitxaInicial)->nivellAillament()==1){ numeroFitxesAillades=numeroFitxesAillades+1;} } else { m_fitxes.value(index_fitxaInicial)->setFitxaAillada(false); } qApp->processEvents(); }//final del if inicial del while else { m_fitxes.value(index_fitxaInicial)->setFitxaAillada(false); } //if(m_fitxes.value(index_fitxaInicial)->estat()==1){ m_fitxes.value(index_fitxaInicial)->calculaMovimentsFitxa(); qDebug("m_fitxes.value(index_fitxaInicial)->movimentsFitxa() %d", m_fitxes.value(index_fitxaInicial)->movimentsFitxa.count()); if(m_fitxes.value(index_fitxaInicial)->movimentsFitxa.count()<1){ m_fitxes.value(index_fitxaInicial)->setFitxaAillada(true); qDebug("Fitxa sense moviments!********"); } } if(m_fitxes.value(index_fitxaInicial)->estat()==1){ qDebug("m_fitxes.value(index_fitxaInicial)->movimentsFitxa() %d", m_fitxes.value(index_fitxaInicial)->movimentsFitxa.count()); } // nivellAillamentFitxes=nivellAillamentFitxes+m_fitxes.value(index_fitxaInicial)->nivellAillament(); }//final while qDebug("p_numFitxesAillades %d", p_numFitxesAillades); qDebug("numeroFitxesAillades %d", numeroFitxesAillades); //pausa(3000); return (numeroFitxesAillades>p_numFitxesAillades); //return (numeroFitxesAillades>0); } */ /* Nou procediment per a la versió 2.2 Comprova si hi ha alguna fitxa "aïllada" o sigui fitxes en estat 1 que no tenen cap moviment que es pugui fer efectiu o be que no tenen altres fitxes (o buits en el cas de la modalitat inversa) que permetin que es moguin Es fa servir per controlar la marxa del joc marcant la situació de les fitxes. No es fa servir en l'executable final. */ bool Tauler::solucionaJocActual_FitxesAillades1(){ /* Aquest procediment no és eficient * amb la modalitat inversa 03/09/16 A la versió 2.1 s'ha fet per la modalitat inversa */ //if(p_tipusMoviment==2){return false;} solucionaJocActual_CalculaMovimentsPosibles(); /* 22/08/16 Això no es fa servir per res*/ //int nivellAillamentFitxes=0; int numeroFitxesAillades=0; //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); /* Calcula els moviments actuals (reals) de la fitxa*/ iterator_fitxes.value()->calculaMovimentsFitxa(); /* Només poden estar "aïllades" les fitxes actives sense moviments. * Poden estar aïllades les fitxes que son fitxes finals de joc*/ if( ((iterator_fitxes.value()->estat()==1) && (iterator_fitxes.value()->movimentsFitxa.count()==0) ) && (!(iterator_fitxes.value()->fitxaFinalJoc())) ){ /* Es calcula la distància (del taxi) de la fitxa actual a altres fitxes * i també en diagonal si el moviment és en diagonal */ QPoint distancies=distanciaDeUnaFitxaAAltres(iterator_fitxes.value()->coordenades()); /* distancies.x() fitxes proximes * distancies.y() distància mínima */ if(distancies.x()==0 || distancies.y() >= 3 ){ iterator_fitxes.value()->setFitxaAillada(true); numeroFitxesAillades=numeroFitxesAillades+1; qApp->processEvents(); //pausa(2000); } else iterator_fitxes.value()->setFitxaAillada(false); }//final del if inicial del while else { iterator_fitxes.value()->setFitxaAillada(false); } }//final while return (numeroFitxesAillades>=2); //return (numeroFitxesAillades>=p_numFitxesAillades); } /* Nou procediment per a la versió 2.1 Comprova si hi ha alguna fitxa "aïllada" o sigui fitxes en estat 1 que no tenen cap moviment que es pugui fer efectiu o be que no tenen altres fitxes (o buits en el cas de la modialitat inversa) que permetin que es moguin */ bool Tauler::solucionaJocActual_FitxesAillades2(){ /* Aquest procediment no és eficient * amb la modalitat inversa 03/09/16 A la versió 2.1 s'ha fet per la modalitat inversa */ //if(p_tipusMoviment==2){return false;} solucionaJocActual_CalculaMovimentsPosibles(); /* 22/08/16 Això no es fa servir per res*/ //int nivellAillamentFitxes=0; int numeroFitxesAillades=0; //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); /* Calcula els moviments actuals (reals) de la fitxa*/ iterator_fitxes.value()->calculaMovimentsFitxa(); /* Només poden estar "aïllades" les fitxes actives sense moviments. * Poden estar aïllades les fitxes que son fitxes finals de joc*/ if( ((iterator_fitxes.value()->estat()==1) && (iterator_fitxes.value()->movimentsFitxa.count()==0) ) && (!(iterator_fitxes.value()->fitxaFinalJoc())) ){ /* Es calcula la distància (del taxi) de la fitxa actual a altres fitxes * i també en diagonal si el moviment és en diagonal */ QPoint distancies=distanciaDeUnaFitxaAAltres(iterator_fitxes.value()->coordenades(),3); /* distancies.x() fitxes proximes * distancies.y() distància mínima */ if(distancies.x()<2 || distancies.y() > 2 ){ // if(distancies.x()==0 || distancies.y() > 2 ){ iterator_fitxes.value()->setFitxaAillada(true); numeroFitxesAillades=numeroFitxesAillades+1; qApp->processEvents(); //pausa(2000); } else iterator_fitxes.value()->setFitxaAillada(false); }//final del if inicial del while else { iterator_fitxes.value()->setFitxaAillada(false); } }//final while //qDebug("p_numFitxesAillades %d", p_numFitxesAillades); //qDebug("numeroFitxesAillades %d", numeroFitxesAillades); //pausa(3000); return (numeroFitxesAillades>qMax(3,p_numFitxesAillades)); //return (numeroFitxesAillades>qMax(p_numFitxesAillades,1)); //return (numeroFitxesAillades>0); } /* Retorna el nombre de fitxes aïllades i les marca en la propietat * de la fitxa*/ int Tauler::solucionaJocActual_numeroFitxesAillades(){ solucionaJocActual_CalculaMovimentsPosibles(); int numeroFitxesAillades=0; QMapIterator iterator_fitxes(m_fitxes); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); /* Calcula els moviments actuals (reals) de la fitxa*/ iterator_fitxes.value()->calculaMovimentsFitxa(); /* Només poden estar "aïllades" les fitxes actives sense moviments. * Poden estar aïllades les fitxes que son fitxes finals de joc*/ if( ((iterator_fitxes.value()->estat()==1) && (iterator_fitxes.value()->movimentsFitxa.count()==0) ) && (!(iterator_fitxes.value()->fitxaFinalJoc())) ){ /* Es calcula la distància (del taxi) de la fitxa actual a altres fitxes * i també en diagonal si el moviment és en diagonal */ QPoint distancies=distanciaDeUnaFitxaAAltres(iterator_fitxes.value()->coordenades()); /* distancies.x() número de fitxes proximes * distancies.y() distància mínima */ if(distancies.x()==0 || distancies.y() >= 3 ){ iterator_fitxes.value()->setFitxaAillada(true); numeroFitxesAillades++; qApp->processEvents(); //pausa(2000); } else iterator_fitxes.value()->setFitxaAillada(false); }//final del if inicial del while else { iterator_fitxes.value()->setFitxaAillada(false); } }//final while return numeroFitxesAillades; } /* Per a cada fitxa, comprova si hi ha alguna altra fitxa pròxima * i assigna un nombre de conjunt a totes les fitxes pròximes entre si. * Retorna el nombre de conjunts del total de fitxes. En el cas de les * modalitats inverses, ho fa amb els buits*/ int Tauler::solucionaJocActual_FitxesAillades_PerConjunts(){ /*Posam a zero les fitxes*/ QMapIterator iterator_fitxes1(m_fitxes); while ( iterator_fitxes1.hasNext() ){ iterator_fitxes1.next(); iterator_fitxes1.value()->setConjuntAillament(0); iterator_fitxes1.value()->setDistanciaAillament(-1); iterator_fitxes1.value()->setDistanciaAillamentConjunt(20); } int estatFitxaInicial; //qDebug("p_tipusMoviment %d", p_tipusMoviment); /*Moviment invers*/ if (p_tipusMoviment==2){ estatFitxaInicial=0; } /*Moviment directe i diagonal*/ else estatFitxaInicial=1; QMapIterator iterator_fitxes(m_fitxes); int contador=0; while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); /* Només poden estar "aïllades" les fitxes actives (si el tipus de moviment * és directe) o els espais buits (si el tipus de moviment és invers). * Poden estar aïllades les fitxes que son fitxes finals de joc. Si s'ha arribat a una situació que ya no té més moviments (fitxes vermelles, també cal tenir-ho en compte*/ if( ((iterator_fitxes.value()->estat()==estatFitxaInicial || iterator_fitxes.value()->estat()==5 ) && (!(iterator_fitxes.value()->fitxaFinalJoc())) )){ if(iterator_fitxes.value()->conjuntAillament()==0){ contador++; iterator_fitxes.value()->setConjuntAillament(contador); } fitxesProximesAUnAltra(iterator_fitxes.value()->coordenades(),contador,contador); } }//final while iterator_fitxes1.toFront(); QList conjunts; while ( iterator_fitxes1.hasNext() ){ iterator_fitxes1.next(); if( ( (iterator_fitxes1.value()->estat()==estatFitxaInicial || iterator_fitxes1.value()->estat()==5 ) && (!(iterator_fitxes1.value()->fitxaFinalJoc())) )){ if (!conjunts.contains(iterator_fitxes1.value()->conjuntAillament())){ conjunts.append(iterator_fitxes1.value()->conjuntAillament()); } fitxaDistanciaAillament(iterator_fitxes1.value()->coordenades(),iterator_fitxes1.value() ); } } //solucionaJocActual_conjuntsAillats(conjunts.count()); return conjunts.count(); } /* Retorna el nombre de conjunts dispesos: conjunts de fitxes que estan * massa aïllats dels altres conjunts*/ int Tauler::solucionaJocActual_conjuntsDispersos(int numeroConjuntsActual){ QMapIterator iterator_fitxes(m_fitxes); QList conjuntsDispersos; for(int c=0 ; cdistanciaAillament()>1){ // qDebug("conjuntsDispersos %d", conjuntsDispersos.count()); conjuntsDispersos.replace(iterator_fitxes.value()->conjuntAillament()-1, conjuntsDispersos.value(iterator_fitxes.value()->conjuntAillament()-1)+1); } if(iterator_fitxes.value()->distanciaAillament()>4){ fitxaMasssaAillada4++; } else if (iterator_fitxes.value()->distanciaAillament()==3){ fitxaMasssaAillada3++; } else if (iterator_fitxes.value()->distanciaAillament()==2){ fitxaMasssaAillada2++; } } int numeroConjuntsDispersos=0; for(int j=0 ; j2){ numeroConjuntsDispersos++; } } //qDebug("numeroConjuntsDispersos %d", numeroConjuntsDispersos); //if(numeroConjuntsDispersos>1){ // pausa(2000); //} if (fitxaMasssaAillada4>0 || fitxaMasssaAillada3>2 || fitxaMasssaAillada2>5){ // numeroConjuntsDispersos=10; numeroConjuntsDispersos=numeroConjuntsDispersos+1; } return numeroConjuntsDispersos; } /* Calcula la distància mínima entre conjunts de fitxes */ int Tauler::solucionaJocActual_conjuntsAillats(int numeroConjuntsActual){ //no val la pena fer res en aquest cas! if(numeroConjuntsActual<=1){ return 0; } QMapIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes2(m_fitxes); //int contador1=0; //int contador2=0; while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); // contador1++; if ( (p_tipusMoviment == 2 && iterator_fitxes.value()->estat()==0) || (iterator_fitxes.value()->estat()==1) ){ while ( iterator_fitxes2.hasNext() ){ iterator_fitxes2.next(); // contador2++; if ( (p_tipusMoviment == 2 && iterator_fitxes2.value()->estat()==0) || (iterator_fitxes2.value()->estat()==1) ){ if( iterator_fitxes.value()->conjuntAillament() != iterator_fitxes2.value()->conjuntAillament()){ int distancia=distanciaEntreDuesFitxes(iterator_fitxes.value()->coordenades(), iterator_fitxes2.value()->coordenades()); if(iterator_fitxes.value()->distanciaAillamentConjunt()>distancia){ iterator_fitxes.value()->setDistanciaAillamentConjunt(distancia); } if(iterator_fitxes2.value()->distanciaAillamentConjunt()>distancia){ iterator_fitxes2.value()->setDistanciaAillamentConjunt(distancia); } } } } } iterator_fitxes2.toFront(); } iterator_fitxes.toFront(); int distanciaMaximaDeTotsElsConjunts=0; for(int j=0 ; jconjuntAillament()==j+1){ if(iterator_fitxes.value()->distanciaAillamentConjunt()distanciaAillamentConjunt(); } } } iterator_fitxes.toFront(); if (distanciaMaximaDeTotsElsConjuntsprocessEvents(); //pausa(4000); return distanciaMaximaDeTotsElsConjunts; } /* Calcula la distància entre una fitxa i les altres per saber * si està aïllada */ QPoint Tauler::distanciaDeUnaFitxaAAltres(QPoint coordenades, int proximitat){ QMapIterator iterator_fitxes(m_fitxes); //int proximitat=3; int fitxesProximes=0; int distanciaMinima=10000; //qDebug("Fitxa %d %d", coordenades.x(),coordenades.y()); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); QPoint coordenadesAltraFitxa; bool continuar=false; /* només per a fitxes actives*/ if(p_tipusMoviment == 2 && /* Moviment invers*/ iterator_fitxes.value()->estat()==0){ coordenadesAltraFitxa=iterator_fitxes.value()->coordenades(); continuar=true; } else if (iterator_fitxes.value()->estat()==1){ coordenadesAltraFitxa=iterator_fitxes.value()->coordenades(); continuar=true; } if (continuar){ //qDebug("Altra fitxa %d %d", coordenadesAltraFitxa.x(),coordenadesAltraFitxa.y()); /* No es calcula la distància d'un fitxa a si mateixa */ if(coordenades != coordenadesAltraFitxa){ int distancia=abs(coordenades.x()-coordenadesAltraFitxa.x())+ abs(coordenades.y()-coordenadesAltraFitxa.y()); if (p_tipusMoviment==3){/* cas de moviments en diagonal * també es calcula les distàncies en diagonal*/ if(abs(coordenades.x()-coordenadesAltraFitxa.x())== abs(coordenades.y()-coordenadesAltraFitxa.y()) ){/*Les fitxes estan en la mateixa diagonal*/ int distanciaEnDiagonal=abs(coordenades.x()-coordenadesAltraFitxa.x()); /* en aquest cas, s'agafa la distància més curta */ distancia=qMin(distancia,distanciaEnDiagonal); } }/* if moviment en diagonal 3*/ distanciaMinima=qMin(distanciaMinima,distancia); //qDebug("distancia %d",distancia); if(distancia<=proximitat || distanciaMinima <= proximitat){ fitxesProximes++; } }/* if de igualtat de coordenades*/ }//if continuar }/* final del while */ /*qDebug("fitxesProximes %d",fitxesProximes); qDebug("distanciaMinima %d",distanciaMinima);*/ return QPoint(fitxesProximes,distanciaMinima); } /* Comprova quines fitxes estan pròximes a la passada per paràmetre * i assigna un número de conjunt.*/ void Tauler::fitxesProximesAUnAltra(QPoint coordenadesFitxaOriginal, int numConjuntAillament, int numContador ){ int proximitat=2; // int distanciaMinima=10000; QMapIterator iterator_fitxes(m_fitxes); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); QPoint coordenadesAltraFitxa; bool continuar=false; if( (p_tipusMoviment == 2 || p_tipusMoviment == 5 ) && /* Moviment invers i invers en diagonal */ (iterator_fitxes.value()->estat()==0 || iterator_fitxes.value()->estat()==5) ){ // qDebug("espai buit"); coordenadesAltraFitxa=iterator_fitxes.value()->coordenades(); continuar=true; } else if ( (p_tipusMoviment == 1 || p_tipusMoviment == 3 ) && /* Moviment directe i directe en diagonal */ (iterator_fitxes.value()->estat()==1 || iterator_fitxes.value()->estat()==5) ){ //qDebug("fitxa activa"); coordenadesAltraFitxa=iterator_fitxes.value()->coordenades(); continuar=true; } if (continuar && coordenadesAltraFitxa != coordenadesFitxaOriginal){ int distancia=abs(coordenadesFitxaOriginal.x()-coordenadesAltraFitxa.x())+ abs(coordenadesFitxaOriginal.y()-coordenadesAltraFitxa.y()); if (p_tipusMoviment==3){/* cas de moviments en diagonal * també es calcula les distàncies en diagonal*/ if(abs(coordenadesFitxaOriginal.x()-coordenadesAltraFitxa.x())== abs(coordenadesFitxaOriginal.y()-coordenadesAltraFitxa.y()) ){ /*Les fitxes estan en la mateixa diagonal*/ /*Les fitxes en diagonal, poden tenir fitxes «buides» (estat -1) enmig*/ int distanciaEnDiagonal=abs(coordenadesFitxaOriginal.x()-coordenadesAltraFitxa.x()); /* en aquest cas, s'agafa la distància més curta */ distancia=qMin(distancia,distanciaEnDiagonal); } }/* if moviment en diagonal 3*/ //distanciaMinima=qMin(distanciaMinima,distancia); //if(distancia<=proximitat || distanciaMinima < 3){ if(distancia<=proximitat ){ /* Afegim la fitxa al conjunt de fitxes pròximes*/ if(iterator_fitxes.value()->conjuntAillament() == 0){ iterator_fitxes.value()->setConjuntAillament(numConjuntAillament); fitxesProximesAUnAltra(iterator_fitxes.value()->coordenades(),numConjuntAillament,numContador); } } // }/* if de igualtat de coordenades*/ }//if continuar }//final while qApp->processEvents(); } /*Versió del procediment anterior*/ void Tauler::fitxaDistanciaAillament(QPoint coordenadesFitxaOriginal, Fitxa* fitxaOriginal){ QMapIterator iterator_fitxes(m_fitxes); while ( iterator_fitxes.hasNext() ){ iterator_fitxes.next(); QPoint coordenadesAltraFitxa; bool continuar=false; if( (p_tipusMoviment == 2 || p_tipusMoviment == 5 ) && /* Moviment invers i invers en diagonal */ (iterator_fitxes.value()->estat()==0 || iterator_fitxes.value()->estat()==5) ){ // qDebug("espai buit"); coordenadesAltraFitxa=iterator_fitxes.value()->coordenades(); continuar=true; } else if ( (p_tipusMoviment == 1 || p_tipusMoviment == 3 ) && /* Moviment directe i directe en diagonal */ (iterator_fitxes.value()->estat()==1 || iterator_fitxes.value()->estat()==5) ){ //qDebug("fitxa activa"); coordenadesAltraFitxa=iterator_fitxes.value()->coordenades(); continuar=true; } if (continuar && coordenadesAltraFitxa != coordenadesFitxaOriginal){ int distancia=abs(coordenadesFitxaOriginal.x()-coordenadesAltraFitxa.x())+ abs(coordenadesFitxaOriginal.y()-coordenadesAltraFitxa.y()); if (p_tipusMoviment==3){/* cas de moviments en diagonal * també es calcula les distàncies en diagonal*/ if(abs(coordenadesFitxaOriginal.x()-coordenadesAltraFitxa.x())== abs(coordenadesFitxaOriginal.y()-coordenadesAltraFitxa.y()) ){ /*Les fitxes estan en la mateixa diagonal*/ /*Les fitxes en diagonal, poden tenir fitxes «buides» (estat -1) enmig*/ int distanciaEnDiagonal=abs(coordenadesFitxaOriginal.x()-coordenadesAltraFitxa.x()); /* en aquest cas, s'agafa la distància més curta */ distancia=qMin(distancia,distanciaEnDiagonal); } }/* if moviment en diagonal 3*/ // qDebug("distancia %d %d", distancia,fitxaOriginal->distanciaAillament()); if(fitxaOriginal->distanciaAillament()==-1 || (distanciadistanciaAillament() && distancia != 0) ){ fitxaOriginal->setDistanciaAillament(distancia); //qDebug("dins if distancia %d %d", distancia,fitxaOriginal->distanciaAillament()); } // }/* if de igualtat de coordenades*/ }//if continuar }//final while qApp->processEvents(); } /* Calcula la distància entre dues fitxes a partir de les seves coordenades*/ int Tauler::distanciaEntreDuesFitxes(QPoint coordenades1, QPoint coordenades2){ int distancia=abs(coordenades1.x()-coordenades2.x())+ abs(coordenades1.y()-coordenades2.y()); // qDebug("coordenades1 %d %d",coordenades1.x(),coordenades1.y()); // qDebug("coordenades2 %d %d",coordenades2.x(),coordenades2.y()); // qDebug("distancia a %d", distancia); if (p_tipusMoviment==3){ if(abs(coordenades1.x()-coordenades2.x())== abs(coordenades1.y()-coordenades2.y()) ){ /*Les fitxes estan en la mateixa diagonal*/ /*Les fitxes en diagonal, poden tenir fitxes «buides» (estat -1) enmig*/ int distanciaEnDiagonal=abs(coordenades1.x()-coordenades2.x()); /* en aquest cas, s'agafa la distància més curta */ distancia=qMin(distancia,distanciaEnDiagonal); } } // qDebug("distancia b %d", distancia); return distancia; } /* Comprova si hi ha algun moviment posible que tengui com a fitxa final la fitxa passada per paràmetre. No es fa servir */ bool Tauler::movimentPosibleFitxaFinal(int fitxaMijana){ bool resultat=false; QMapIterator iterator_fitxes(m_fitxes); //QHashIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext() && (! resultat) ) { iterator_fitxes.next(); int index_fitxaInicial=iterator_fitxes.value()->coordenades().x()*100+iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ if (resultat){break;} int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && ( index_fitxaFinal==fitxaMijana) ){ resultat=true; } //miram si la fitxa botada és el final d'un moviment posible else if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && !(m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && ( index_fitxaFinal==fitxaMijana) ){ if (movimentPosibleFitxaFinal1(index_fitxaBotada) ) { resultat=true;} } } } return resultat; } /* No es fa servir*/ bool Tauler::movimentPosibleFitxaFinal1(int fitxaMijana){ bool resultat=false; //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext() && (! resultat) ) { iterator_fitxes.next(); int index_fitxaInicial=iterator_fitxes.value()->coordenades().x()*100+iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ if (resultat){break;} int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && ( index_fitxaFinal==fitxaMijana) ){ resultat=true; } } } return resultat; } /* Comprova si hi ha algun moviment possible que tengui la fitxa passada per paràmetre com a fitxa botada. No es fa servir */ bool Tauler::movimentPosibleFitxaMitjana(int fitxaMitjana){ bool resultat=false; //QHashIterator iterator_fitxes(m_fitxes); QMapIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext() && (! resultat)) { iterator_fitxes.next(); int index_fitxaInicial=iterator_fitxes.value()->coordenades().x()*100+iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ if (resultat){break;} int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); //int index_fitxaFinal=iterator_fitxes.value()->movimentsPossibles.at(j).y(); if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && ( index_fitxaBotada==fitxaMitjana) ){ resultat=true; } } } return resultat; } /* No es fa servir Determina si la posició central bool Tauler::movimentFitxaCentral(){ //QPoint(3,3); bool resultat=false; int fitxaCentral=303; QHashIterator iterator_fitxes(m_fitxes); while (iterator_fitxes.hasNext() && !resultat ) { iterator_fitxes.next(); int index_fitxaInicial=iterator_fitxes.value()->coordenades().x()*100+iterator_fitxes.value()->coordenades().y(); for(int j=0 ; jmovimentsPossibles.count();++j){ int index_fitxaBotada=iterator_fitxes.value()->movimentsPossibles.at(j).x(); if ( (m_fitxes.value(index_fitxaInicial)->estat()==1) && (m_fitxes.value(index_fitxaBotada)->estat()==p_estatFitxaMitjana) && fitxaCentral==iterator_fitxes.value()->movimentsPossibles.at(j).y() ){ // qDebug("fitxa central SI"); resultat= true; } } } // qDebug("fitxa central NO"); return resultat; } */ /* Posa totes les fitxes vermelles * a color blau */ void Tauler::eliminaFitxesVermelles(){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); while (i.hasNext()) { i.next(); if (i.value()->estat()==5){ i.value()->setEstat(1); } } } /* Posa totes les fitxes actives * a color blau */ void Tauler::eliminaFitxesVerdes(){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); while (i.hasNext()) { i.next(); if (i.value()->estat()==4){ i.value()->setEstat(1); } } } QString Tauler::configuracioActual(bool comptarFitxes){ // QHashIterator p(m_fitxes); QMapIterator p(m_fitxes); QString configuracioActual; if (comptarFitxes){ comptadorFitxesJoc=0; comptadorFitxesEstatZeroJoc=0; comptadorFitxesFinalJoc=0; } int contador=0; while (p.hasNext()) { p.next(); configuracioActual.append(QString("%1").arg((p.value()->estat()))); //qCritical("configuracioActual %s",qPrintable(configuracioActual)); //qDebug("Key %d estat %d",p.key(),p.value()->estat()); if (comptarFitxes){ if (p.value()->estat()==1){++comptadorFitxesJoc;} if (p.value()->estat()==0){++comptadorFitxesEstatZeroJoc;} if (p.value()->fitxaFinalJoc()){ ++comptadorFitxesFinalJoc; } } ++contador; } /* Això cal quan es modifica un joc del programa * i s'han eliminat fitxes. */ configuracioActual.remove("6"); //qDebug("contador %d",contador); //qCritical("configuracioActual %s",qPrintable(configuracioActual)); return configuracioActual; } /* Retorna la configuració actual de les fitxes amb les * fitxes finals de joc marcades amb - * 10/02/13 Al final no es fa servir QString Tauler::configuracioInicialAmbFitxesMarcades(){ QHashIterator i(m_fitxes); QString configuracioActual; while (i.hasNext()) { i.next(); configuracioActual.append(QString("%1").arg((i.value()->estat()))); if (i.value()->fitxaFinalJoc()){ configuracioActual.append("-"); } } return configuracioActual; }*/ //Carrega la configuració passada void Tauler::carregaConfiguracio(QString configuracio){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); int contador=0; while (i.hasNext()) { i.next(); QString valor=configuracio.at(contador); i.value()->setEstat(valor.toInt()); contador ++; } } /* Canvia l'estat de les fitxes a l'atzar Es fa servir quan el joc està en pausa NO es fa servir: es va eliminar per la sensibilitat al color */ //void Tauler::estatFitxesAtzar(){ // qsrand(QTime::currentTime().msec()); // //QHashIterator i(m_fitxes); // QMapIterator i(m_fitxes); // while (i.hasNext()) { // i.next(); // i.value()->setEstat(qrand() % 5); // } // } /* Retorna el número de moviments que cal fer en el joc (en funció del tipus de moviment) */ int Tauler::numeroDeMovimentsJoc(){ /* qDebug("p_tipusMoviment %d",p_tipusMoviment); qDebug("comptadorFitxesFinalJoc %d",comptadorFitxesFinalJoc); qDebug("comptadorFitxesJoc %d",comptadorFitxesJoc); qDebug("comptadorFitxesFinalJoc %d",comptadorFitxesFinalJoc);*/ if (p_tipusMoviment !=2){ if(comptadorFitxesFinalJoc<2){ return comptadorFitxesJoc-1; } else return comptadorFitxesJoc-comptadorFitxesFinalJoc; } // qDebug("num, mov. %d",comptadorFitxesJoc-qMax(1,comptadorFitxesFinalJoc)); // return comptadorFitxesJoc-qMax(1,comptadorFitxesFinalJoc);} else { // qDebug("m_fitxes.count() %d",m_fitxes.count()); // qDebug("comptadorFitxesJoc %d",comptadorFitxesJoc); // 10/01/13 modificat return comptadorFitxesEstatZeroJoc-1; } } /* Retorna el missatge del número de moviments realitzats i el total No es fa servir QString Tauler::missatgeNumeroMoviments(){ return QString(tr("Moviment %1 de %2 ")).arg(p_movimentsUndoStack->index()).arg(numeroDeMovimentsJoc()); } */ void Tauler::setModalitatJocActual(QString valor){ p_modalitatJocActual=valor; setSolitariEspecial(p_modalitatJocActual); } void Tauler::setEstatDelJoc(EstatsDelJoc valor){ if(p_estatDelJoc != valor){ p_estatDelJoc=valor; } } /* Conserva el codi (per la traducció) * del joc actual */ void Tauler::setCodiNomJocActual (QString codi){ p_codiNomJocActual=codi; } /* En la generació d'un joc a l'atzar * marca les fitxes que s'ha fet servir per * generar el joc */ void Tauler::solitariAtzar_MarcaFitxaUsada(int fitxa,bool marcaFitxaFinal){ m_fitxes.value(fitxa)->setfitxaUsadaGeneracioSolitariAtzar(true); m_fitxes.value(fitxa)->setFitxaFinalJoc(marcaFitxaFinal); } /* En la generació d'un joc a l'atzar * retorna l'estat de les fitxes del * joc generat a l'atzar */ QString Tauler::solitariAtzar_dadesEstatFitxes(int files, int columnes){ //QHashIterator i(m_fitxes); QMapIterator i(m_fitxes); QString dadesFitxes; QStringList dadesFitxesList; //omplim la llista for(int j=0; jfitxaUsadaGeneracioSolitariAtzar()){ //Si està marcada com a final del joc if(i.value()->fitxaFinalJoc()){ dadesFitxesList.replace( i.value()->coordenades().x()*columnes+ i.value()->coordenades().y(), QString("1%1").arg(i.value()->estat())); } else dadesFitxesList.replace( i.value()->coordenades().x()*columnes+ i.value()->coordenades().y(), QString("%1").arg(i.value()->estat())); } else {dadesFitxesList.replace( i.value()->coordenades().x()*columnes+ i.value()->coordenades().y(), QString("-1")); } } dadesFitxes.clear(); //passam les dades de la llista a una cadena for(int j=0; j i(m_fitxes); QMapIterator i(m_fitxes); i.toFront(); while (i.hasNext()) { i.next(); if( (i.value()->coordenades().x()>=minFila) && (i.value()->coordenades().x()<=maxFila) && (i.value()->coordenades().y()>=minCol) && (i.value()->coordenades().y()<=maxCol) ){ //els estats 6 no cal reemplaçar-los //(ja hi ha -1 per defecte) if (i.value()->estat() != 6){ dadesFitxesList.replace( (i.value()->coordenades().x()-minFila)*columnes+ i.value()->coordenades().y()-minCol, QString("%1").arg(i.value()->estat())); //Això per les fitxes marcades com a final de joc if(i.value()->fitxaFinalJoc()){ dadesFitxesList.replace( (i.value()->coordenades().x()-minFila)*columnes+ i.value()->coordenades().y()-minCol, QString("1%1").arg(i.value()->estat())); } } } }//final while //passam les dades de la llista a una cadena QString dadesFitxes; for(int j=0; j i(m_fitxes); QMapIterator i(m_fitxes); int minFila=1000, maxFila=0,minCol=1000,maxCol=0; while (i.hasNext()) { i.next(); //Si la fitxa s'ha fet servir if(i.value()->estat() != 6){ minFila=qMin(minFila,i.value()->coordenades().x()) ; maxFila=qMax(maxFila,i.value()->coordenades().x()) ; minCol=qMin(minCol,i.value()->coordenades().y()) ; maxCol=qMax(maxCol,i.value()->coordenades().y()) ; } } QString filesColumnes; filesColumnes.append(QString("%1 %2 ").arg(minFila).arg(maxFila)); filesColumnes.append(QString("%1 %2").arg(minCol).arg(maxCol)); //QString missatge=QString(filesColumnes.value(0)+" "+filesColumnes.value(1)); //qCritical("%s", qPrintable(filesColumnes)); return filesColumnes; } /* Estableix si s'està jugant un solitari personalitzat */ void Tauler::setSolitariPersonalitzat(bool valor){ p_SolitariPersonalitzat=valor; } /* Estableix si s'està jugant un solitari modificat */ void Tauler::setSolitariModificat(bool valor){ p_SolitariModificat=valor; } /* Marcam totes les fitxes com a personalitzades * (segons el valor passat) */ void Tauler::marcaFitxesSolitariPersonalitzat(bool valor){ QMapIterator i(m_fitxes); //QHashIterator i(m_fitxes); while (i.hasNext()) { i.next(); i.value()->setFitxaSolitariPersonalitzat(valor); } } /* Comprova si hi ha alguna fitxa del solitari marcada * com a personalitzada * 10/02/13 Finalment, no es fa servir això bool Tauler::solitariPersonalitzat_hiHaFitxesMarcades(){ QHashIterator i(m_fitxes); bool valor=false; while (i.hasNext()) { i.next(); if(i.value()->fitxaSolitariPersonalitzat()){ valor=true; break; } } return valor; }*/ peg-solitaire-2.2/scr/fitxa.cpp0000644000175000017500000004421313113035231016635 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ //#include #include #include "fitxa.h" #include "frmprincipal.h" #include "tauler.h" #include "rellotge.h" Fitxa::Fitxa(Tauler* taulerJoc, QGraphicsItem* parent) : QGraphicsEllipseItem(0, 0, 32, 32, parent), m_taulerJoc(taulerJoc) { m_estat=1; //Estat inicial normal p_tipusMoviment=1; p_esMou=false; p_aillada=false; p_nivellAillament=0; p_fitxaFinalJoc=false; p_fitxaUsadaGeneracioSolitariAtzar=false; p_numConjunt=0; setFitxaSolitariPersonalitzat(false); } void Fitxa::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *){ QLinearGradient gradientLinear(0, 0, 0, 30); gradientLinear.setColorAt(0, QColor(Qt::white)); gradientLinear.setColorAt(1, QColor(Qt::blue)); painter->setBrush(gradientLinear); QRadialGradient gradientRadial(QPointF( 15,15),15); gradientRadial.setColorAt(0, QColor(Qt::white)); gradientRadial.setColorAt(1, QColor(Qt::lightGray)); //Marcar les fitxes que son final obligat del joc if (p_fitxaFinalJoc){ painter->setPen(QPen(Qt::darkBlue,3) ); } else if (p_fitxaUsadaGeneracioSolitariAtzar){ painter->setPen(QPen(Qt::red) ); } else painter->setPen( Qt::NoPen ); // switch (m_estat) { // case -1: //lloc buit sense dibuixar // painter->setPen( Qt::red); case 0: // Lloc buit painter->setBrush(gradientRadial); painter->drawEllipse(1,1,30,30); // painter->setPen( Qt::NoPen ); break; case 1: //estat normal de la fitxa painter->setBrush(gradientLinear); painter->drawEllipse(1,1,30,30); // painter->setPen( Qt::blue ); break; case 2: //Fitxa Seleccionada per a un moviment gradientLinear.setColorAt(1, QColor(Qt::yellow)); painter->setBrush(gradientLinear); painter->drawEllipse(1,1,30,30); // painter->setPen( Qt::NoPen ); break; case 3: //destí d'un moviment painter->setBrush(gradientRadial); painter->setPen(QPen(Qt::red,3)); painter->drawEllipse(1,1,30,30); break; case 4: //Fitxa al final de joc resolt gradientLinear.setColorAt(1, QColor(Qt::green)); painter->setBrush(gradientLinear); painter->drawEllipse(1,1,30,30); // painter->setPen( Qt::NoPen ); break; case 5: //El joc s'ha acabat ja que no hi ha més moviments gradientLinear.setColorAt(1, QColor(Qt::red)); painter->setBrush(gradientLinear); painter->drawEllipse(1,1,30,30); // painter->setPen( Qt::NoPen ); break; case 6: //Lloc disponible per posar fitxes (joc personalitzat) gradientLinear.setColorAt(1, QColor(Qt::black)); painter->setBrush(Qt::NoBrush); painter->setPen( Qt::black ); painter->drawRect(1,1,30,30); break; default: //estat normal de la fitxa painter->setPen( Qt::blue ); painter->drawEllipse(1,1,30,30); } /* if (p_esMou){ painter->drawRect(0,0,30,30); } */ if (p_aillada){ painter->setBrush(Qt::magenta); } // if(p_numConjunt>0){ // if(p_numConjunt==1){ // painter->setPen( Qt::blue ); // painter->setBrush(Qt::blue); // if(p_distanciaAillament>1){ // painter->setPen( Qt::darkBlue ); // painter->setBrush(Qt::darkBlue); // } // painter->drawEllipse(1,1,30,30); // } // else if(p_numConjunt==2){ // painter->setPen(Qt::yellow); // painter->setBrush(Qt::yellow); // if(p_distanciaAillament>1){ // painter->setPen(Qt::darkYellow); // painter->setBrush(Qt::darkYellow); // } // painter->drawEllipse(1,1,30,30); // } // else if(p_numConjunt==3){ // painter->setPen(Qt::green); // painter->setBrush(Qt::green); // if(p_distanciaAillament>1){ // painter->setPen(Qt::darkGreen); // painter->setBrush(Qt::darkGreen); // } // painter->drawEllipse(1,1,30,30); // } // else if(p_numConjunt==4){ // painter->setPen(Qt::cyan); // painter->setBrush(Qt::cyan); // if(p_distanciaAillament>1){ // painter->setPen(Qt::darkCyan); // painter->setBrush(Qt::darkCyan); // } // painter->drawEllipse(1,1,30,30); // } // else if(p_numConjunt==5){ // painter->setPen(Qt::gray); // painter->setBrush(Qt::gray); // if(p_distanciaAillament>1){ // painter->setPen(Qt::darkGray); // painter->setBrush(Qt::darkGray); // } // painter->drawEllipse(1,1,30,30); // } // painter->setPen( Qt::black ); //// painter->drawText(QPoint(5,10),QString("%1 %2").arg(p_numConjunt).arg(p_distanciaAillament)); // painter->drawText(QPoint(5,10),QString("%1 %2").arg(p_numConjunt).arg(p_distanciaAillamentConjunt)); // } // if (m_estat==6){ // painter->setBrush(Qt::NoBrush); // painter->setPen( Qt::black ); // painter->drawRect(1,1,30,30);} // else{ // painter->drawEllipse(1,1,30,30); // } } void Fitxa::mousePressEvent(QGraphicsSceneMouseEvent* event) { if ( (event->modifiers().testFlag ( Qt::ControlModifier )) && !(m_taulerJoc->p_rellotge->rellotgeEnMarxa()) ){ /* S'està fent una modificació del solitari * (de l'ítem Personalitzat o bé d'un joc d'arbre) */ m_taulerJoc->setSolitariModificat(true); /* Això és important per permetre que, després * de fer les modificacions, sigui possible jugar */ p_fitxaSolitariPersonalitzat=true; /* Ara es modifica l'estat de la fitxa i d'altres propietats * que permeten controlar el tipus de modificació */ switch (m_estat) { case 0: if(p_fitxaSolitariPersonalitzat && p_fitxaFinalJoc){ p_fitxaFinalJoc=false; setEstat(6); } else if(p_fitxaSolitariPersonalitzat){ setEstat(10);} else setEstat(1); break; case 1: if( p_fitxaFinalJoc){ p_fitxaFinalJoc=false; setEstat(0); } else if(p_fitxaSolitariPersonalitzat){ setEstat(11);} else setEstat(0); break; case 6: setEstat(1); setFitxaSolitariPersonalitzat(true); break; } }//final if plantejament problema else{ if ( !m_taulerJoc->p_rellotge->rellotgeEnMarxa()){ /* 02/01/12 * Si es clica sobre una fitxa de joc personalitzat, * abans de deixar jugar, cal recalcular el joc */ if(p_fitxaSolitariPersonalitzat){ m_taulerJoc->p_frmPrinci->solitariPersonalitzat_dadesFitxes(); return; } /* 02/01/12 * Afegida aquesta condició per assegurar que en els jocs personalitzats * si es juga directament, s'actualitzi el nombre de fitxes del joc. * La condició està per evitar que es posi "en marxa" el joc * quan no hi ha fitxes actives */ if( (m_estat > -1) && (m_estat < 6) ){ m_taulerJoc->configuracioActual(true); m_taulerJoc->p_rellotge->iniciaRellotge(); m_taulerJoc->p_movimentsUndoStack->clear(); } } switch (m_estat) { case 3: // Lloc buit final d'un moviment. La fitxa és el destí d'un moviment que cal fer ferMoviment(); //Eliminam marques de moviments m_taulerJoc->eliminaMarquesMoviments(m_coordenades); break; case 1: //Fitxa activa. Cal iniciar un moviment setEstat(2); calculaMovimentsFitxa(); m_taulerJoc->marcaMovimentsFitxa(movimentsFitxa); break; case 2: // Fitxa seleccionada prèviament per a un moviment. S'anula la selecció setEstat(1); //Eliminam marques de moviments anteriors m_taulerJoc->eliminaMarquesMoviments(m_coordenades); break; } } QGraphicsEllipseItem::mousePressEvent(event); } bool Fitxa::esPotMoure(){ calculaMovimentsFitxa(); return movimentsFitxa.size()>0; } /* Calcula els possibles moviments de la fitxa i els conserva a la llista movimentsFitxa */ void Fitxa::calculaMovimentsFitxa(){ movimentsFitxa.clear(); int estatFitxaFinal = 0; int estatFitxaBotada = 1; switch (p_tipusMoviment) { case 2: estatFitxaBotada = 0; break; case 5: estatFitxaBotada = 0; break; } //Eliminam marques de moviments anteriors m_taulerJoc->eliminaMarquesMoviments(m_coordenades); for (int fila = -1; fila < 2; ++fila) { for (int columna = -1; columna < 2; ++columna) { QPoint coord(fila,columna); if( ( (m_taulerJoc->estatFitxaJoc(coord*2+m_coordenades)==estatFitxaFinal) && (m_taulerJoc->estatFitxaJoc(coord+m_coordenades)==estatFitxaBotada) ) ) { //Això per garantir que la fitxa destí està a la mateixa fila o columna que la clicada if( (columna*2+m_coordenades.x()==m_coordenades.x() || fila*2+m_coordenades.y()==m_coordenades.y()) && (p_tipusMoviment < 3) ) { movimentsFitxa.append(coord*2+m_coordenades) ; } //estan permesos els movimens en diagonal else if (p_tipusMoviment>=3){ movimentsFitxa.append(coord*2+m_coordenades) ; } } } } } /* Realitza un moviment del qual la fitxa actual és el destí */ void Fitxa::ferMoviment(){ int estatFitxaInicial =2; //fitxa marcada com a destí del moviment int estatFitxaBotada = 1; switch (p_tipusMoviment) { case 2: estatFitxaBotada = 0; break; case 5: estatFitxaBotada = 0; break; } for (int fila = -1; fila < 2; ++fila) { for (int columna = -1; columna < 2; ++columna) { QPoint coord(fila,columna); if( ( (m_taulerJoc->estatFitxaJoc(coord*2+m_coordenades)==estatFitxaInicial) && (m_taulerJoc->estatFitxaJoc(coord+m_coordenades)==estatFitxaBotada) ) ) { //Això per garantir que la fitxa destí està a la mateixa fila o columna que la clicada if( (columna*2+m_coordenades.x()==m_coordenades.x() || fila*2+m_coordenades.y()==m_coordenades.y()) && (p_tipusMoviment < 3) ){ m_taulerJoc->ferMoviment( (coord*2+m_coordenades).x()*100+(coord*2+m_coordenades).y(), (coord+m_coordenades).x()*100+(coord+m_coordenades).y(), m_coordenades.x()*100+m_coordenades.y()); } //estan permesos els movimens en diagonal else if (p_tipusMoviment>2){ m_taulerJoc->ferMoviment( (coord*2+m_coordenades).x()*100+(coord*2+m_coordenades).y(), (coord+m_coordenades).x()*100+(coord+m_coordenades).y(), m_coordenades.x()*100+m_coordenades.y()); } } } } } void Fitxa::calculaMovimentsPosiblesFitxa(){ movimentsPossibles.clear(); for (int fila = -1; fila < 2; ++fila) { for (int columna = -1; columna < 2; ++columna) { QPoint coord(fila,columna); if( (m_taulerJoc->estatFitxaJoc(coord*2+m_coordenades)>-1) && (m_taulerJoc->estatFitxaJoc(coord+m_coordenades)>-1) && (coord != QPoint(0,0))) { //Això per garantir que la fitxa destí està a la mateixa fila o columna que la clicada if( (columna*2+m_coordenades.x()==m_coordenades.x() // || fila*2+m_coordenades.y()==m_coordenades.y()) && (p_tipusMoviment != 3) ) { || fila*2+m_coordenades.y()==m_coordenades.y()) && (p_tipusMoviment < 3) ) { //posam l'index de la fitxa botada i de la fitxa final movimentsPossibles.append(QPoint( (coord+m_coordenades).x()*100+(coord+m_coordenades).y(), (coord*2+m_coordenades).x()*100+(coord*2+m_coordenades).y() )); } //estan permesos els moviments en diagonal else if (p_tipusMoviment>=3){//posam l'index de la fitxa botada i de la fitxa final movimentsPossibles.append(QPoint( (coord+m_coordenades).x()*100+(coord+m_coordenades).y(), (coord*2+m_coordenades).x()*100+(coord*2+m_coordenades).y() )); } } } } setPreferenciaMoure(movimentsPossibles.count()); /* 21/06/12 * Les fitxes que són final de joc * tendràn preferència major * (seran les darreres en intentar moure) */ if(p_fitxaFinalJoc){ setPreferenciaMoure(1000); } } /*************************************************/ //GESTIÓ DE LES PROPIETATS DE LA FITXA /* Lectura de la propietat estat */ /* int Fitxa::estat() const { return m_estat; } */ /* Estableix el valor de l'estat */ void Fitxa::setEstat( int nouValor , bool canviarFitxaFinalJoc) { //Fitxes que són final del joc // obligatori if ( (nouValor==10 ) || (nouValor==11) || (nouValor==-11)){ setFitxaFinalJoc(true); //es modifica el paràmetre pel //valor estandar switch (nouValor) { case 10: nouValor=0; break; case 11: nouValor=1; break; case -11: nouValor=-1; break; } } /* 26/01/13 No està clar que això sigui necessari * (de fet, ara no hi ha cap cridada que es faci amb true */ else if(canviarFitxaFinalJoc){ setFitxaFinalJoc(false);}; if( (nouValor < -1) || (nouValor > 6)) m_estat = 0; //17/12/12 Eliminat per permetre marcar les fitxes //com a final de joc en el solitari personalitzat // if( (m_estat != nouValor) || (nouValor==0) ){ m_estat = nouValor; //Si la fitxa es "mou", llavors reiniciam l'aïllament if(m_estat==0) {setFitxaAillada(false);} update();//} } QPoint Fitxa::coordenades() const{ return m_coordenades; } /* Estableix les coordenades de la fitxa en el joc */ void Fitxa::setCoordenades (QPoint coordenades){ m_coordenades = coordenades; update(); setToolTip(QString("(%1,%2)").arg(m_coordenades.x()). arg(m_coordenades.y())); } /* Indica la preferència en moure la fitxa en el joc */ void Fitxa::setPreferenciaMoure(int preferencia){ if( p_preferenciaMoure != preferencia ){ p_preferenciaMoure = preferencia;} } /* Controla el tipus de moviment 1: moviment directe (l'habitual del joc) 2: moviment invers 3: moviment en direcció perpendicular i diagonal 4: proposta de problema 5: moviment en direcció perpendicular/diagonal i invers (nou per a la generació a l'atzar) */ void Fitxa::setTipusMoviment (int nouTipus){ if( (nouTipus < 0) || (nouTipus > 5)) p_tipusMoviment = 0; if( p_tipusMoviment != nouTipus ){ p_tipusMoviment = nouTipus;} } void Fitxa::setEsMou(bool valor){ if(p_esMou != valor){ p_esMou=valor; } } /* Canvia la propietat fitxaFinalJoc que * determina si la fitxa és una posició * final del joc */ void Fitxa::setFitxaFinalJoc(bool valor){ if (p_fitxaFinalJoc != valor){ p_fitxaFinalJoc=valor; } } /* Canvia la propietat fitxaUsadaGeneracioSolitariAtzar * que determina si la fitxa s'ha fet servir en la generació * d'un solitari a l'atzar */ void Fitxa::setfitxaUsadaGeneracioSolitariAtzar(bool valor){ if (p_fitxaUsadaGeneracioSolitariAtzar != valor){ p_fitxaUsadaGeneracioSolitariAtzar=valor; } } /* Canvia el valor que controla si la fitxa * s'està fent servir a un solitari personalitzat */ void Fitxa::setFitxaSolitariPersonalitzat(bool valor){ p_fitxaSolitariPersonalitzat=valor; /* if(valor){ qDebug("S'ha marcat una fitxa com a personalitzada");} else qDebug("S'Ha marcat una fitxa com a NO personalitzada");*/ } void Fitxa::setFitxaAillada(bool valor){ if(p_aillada != valor){ p_aillada=valor; p_nivellAillament=0; update();} if (p_aillada){incrementaNivellAillament();} } void Fitxa::setNivellAillament( int valor){ if(p_nivellAillament != valor){ p_nivellAillament=valor;} } void Fitxa::incrementaNivellAillament(){ ++p_nivellAillament; } void Fitxa::setConjuntAillament(int numConjunt){ p_numConjunt=numConjunt; update(); } void Fitxa::setDistanciaAillament(int distancia){ if(p_distanciaAillament != distancia){ p_distanciaAillament=distancia; update();} } void Fitxa::setDistanciaAillamentConjunt(int distancia){ if(p_distanciaAillamentConjunt != distancia){ p_distanciaAillamentConjunt=distancia; // qDebug("%d", p_distanciaAillamentConjunt); update(); } } peg-solitaire-2.2/scr/tauler.h0000644000175000017500000002553213113035231016466 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef TAULER_H #define TAULER_H #include #include #include #include #include #include "constants.h" class frmPrincipal; class Rellotge; class Fitxa; class Tauler: public QGraphicsView { Q_GADGET public: Tauler( QUndoStack *movimentsUndoStack, Rellotge *rellotge,frmPrincipal *frmPrinci, QWidget *parent = 0); //QGraphicsScene* sceneJoc; void joc_llegeixArxiuData(); void joc_CarregaJoc( QString p_tipusJoc, QString p_filesColumnes, QString p_estatFitxes); int estatFitxaJoc(const QPoint& coordenades) const ; void marcaMovimentsFitxa(QList movimentsFitxa); void eliminaMarquesMoviments(const QPoint& coordenades); void ferMoviment(int fitxaInicial, int fitxaBotada, int fitxaFinal, bool missatge=true); bool ferMoviment2(int fitxaInicial, int fitxaBotada, int fitxaFinal, bool missatge=true); void marcaFinalDeJoc(int direccioMoviment=1, bool marcaFinal=false, bool aturaRellotge=false); //Canvia l'estat de les fitxes per tal de marcar un moviment void marcaMoviment (QString moviment); QMap m_fitxes; //QHash m_fitxes; QUndoStack *p_movimentsUndoStack; Rellotge *p_rellotge; //número total de fitxes actives del joc int comptadorFitxesJoc; //número total de fitxes amb estat 0 del joc int comptadorFitxesEstatZeroJoc; //número total de fitxes marcades //com a final de joc int comptadorFitxesFinalJoc; /* Comprova si el joc te el final marcat*/ int jocAmbFinalMarcat(); /* Dels moviments passats, selecciona els que tenen una fitxa marcada com a final * de joc com a final de moviment*/ QStringList solucionaJocActual_seleccionarMovimentsAmbFitxesFinalsDeJoc(QStringList moviments); void eliminaFitxesVermelles(); /* Posa totes les fitxes actives * a color blau */ void eliminaFitxesVerdes(); void solucionaJocActual_CalculaMovimentsPosibles(); // QStringList solucionaJocActual_CarregaMovimentsArbre3 // (int numeroInicialFitxesJoc, variables_recerca_solucio variablesSolucio); // QStringList solucionaJocActual_CarregaMovimentsArbre2 // (int numeroInicialFitxesJoc, // variables_recerca_solucio variablesSolucio); QStringList solucionaJocActual_CarregaMovimentsArbre1 (QStringList movimentsFets, QString darrerMoviment); QStringList solucionaJocActual_CarregaMovimentsArbre4(int numeroInicialFitxesJoc); void solucionaJocActual_CalculaArbreJoc(QProgressDialog *progres, int numFitxesInicialsJoc, int mantenirMoviment); void solucionaJocActual_CalculaArbreJocIteracio(QProgressDialog *progres, int numFitxesInicialsJoc, int mantenirMoviment=0); QStringList solucionaJocActual_CalculaArbreJoc_CalculaMoviments(); void solucionaJocActual_CalculaArbreJocComplet_Inici(QProgressDialog *progres, int numFitxesInicialsJoc); QStringList solucionaJocActual_CalculaArbreJocComplet_Inici_CalculaMoviments(); void solucionaJocActual_CalculaArbreJocComplet_Selectiu(QProgressDialog *progres, int numFitxesInicialsJoc, int mantenirMoviment); QStringList solucionaJocActual_CalculaArbreJocComplet_CalculaMoviments(); void solucionaJocActual_CalculaArbreJoc_escriuMoviments(); QStringList solucionaJocActual_CalculaNumeroMovimentsPosteriors(QStringList movimentsPosibles); QStringList solucionaJocActual_SeleccionaNumeroMovimentsPosteriors(QStringList llistaMovimentsMaxims, QList llistaNumeroMoviments); /* Dels moviments possibles, selecciona aquells que redueixen el nombre de * conjunts de fitxes */ QStringList solucionaJocActual_SeleccionaMovimentsRedueixenConjuntsFitxes(QStringList movimentsPosibles); /* Comprova si, desprès de fer el moviment passat per paràmetre, * és possible fer altres moviments * 20/11/12 S'ha eliminat: no és eficaç bool solucionaJocActual_CalculaMovimentsPosteriors(QString moviment); */ QStringList solucionaJocActual_RedueixLlistaDeMoviments(QStringList movimentsPosibles); int solucionaJocActual_MovimentsPosiblesActuals(); /* Comprova si hi ha alguna fitxa "aïllada" o sigui fitxes en estat 1 que no tenen cap moviment que es pugui fer efectiu o be cap moviment en què la fitxa mitjancera pugui passar a estat 1 desprès d'un moviment */ //bool solucionaJocActual_FitxesAillades(); eliminat a la versió 2.1 bool solucionaJocActual_FitxesAillades1(); bool solucionaJocActual_FitxesAillades2(); int solucionaJocActual_numeroFitxesAillades(); int solucionaJocActual_FitxesAillades_PerConjunts(); int solucionaJocActual_conjuntsDispersos(int numeroConjuntsActual); int solucionaJocActual_conjuntsAillats(int numeroConjuntsActual); QPoint distanciaDeUnaFitxaAAltres(QPoint coordenades, int proximitat=2); void fitxesProximesAUnAltra(QPoint coordenadesFitxaOriginal, int numConjuntAillament, int numContador); void fitxaDistanciaAillament(QPoint coordenadesFitxaOriginal, Fitxa *fitxaOriginal); /* Calcula la distància entre dues fitxes a partir de les seves coordenades*/ int distanciaEntreDuesFitxes(QPoint coordenades1, QPoint coordenades2); bool movimentPosibleFitxaFinal(int fitxaMijana); bool movimentPosibleFitxaFinal1(int fitxaMijana); bool movimentPosibleFitxaMitjana(int fitxaMitjana); //No es fa servir // bool movimentFitxaCentral(); QString configuracioActual(bool comptarFitxes=false); /*10/02/13 AL final no es fa servir QString configuracioInicialAmbFitxesMarcades();*/ //Carrega la configuració passada void carregaConfiguracio(QString configuracio); //Canvia l'estat de les fitxes a l'atzar //Es fa servir quan el joc està en pausa //No es fa servir pel tema de la sensibilitat al color // void estatFitxesAtzar(); int numeroDeMovimentsJoc(); //No es fa servir // QString missatgeNumeroMoviments(); void setModalitatJocActual(QString valor); QString modalitatJocActual()const{ return p_modalitatJocActual;} void setEstatDelJoc(EstatsDelJoc valor); EstatsDelJoc estatDelJoc() const{ return p_estatDelJoc;} /* Conserva el codi (per la traducció) * del joc actual */ QString p_codiNomJocActual; QString nomJocActual() const{ return p_codiNomJocActual; } void setCodiNomJocActual (QString codi); //Numero de fitxes aïllades permeses per a cada modalitat int p_numFitxesAillades; //Número de moviments a "conservar" en cercar una nova solució //a partir d'una altra int p_numMoviments; /* Tipus de moviment del joc actual * 1.directe 2.invers 3. Diagonal 5.Invers en diagonal? */ int p_tipusMoviment; /* * En els jocs amb fitxes finals marcades, * controla si el número de moviments per acabar * el joc permet deixar les fitxes finals ocupades */ bool ocuparFitxesFinalJoc(); /* Retorna el número de fitxes marcades com a final * del joc que estan sense ocupar */ int numeroFitxesFinalsSenseOcupar(); int numeroFitxesPerEliminar(); /* En la generació d'un joc a l'atzar * marca les fitxes que s'ha fet servir per * generar el joc */ void solitariAtzar_MarcaFitxaUsada(int fitxa, bool marcaFitxaFinal=false); /* En la generació d'un joc a l'atzar * retorna l'estat de les fitxes del * joc generat a l'atzar */ QString solitariAtzar_dadesEstatFitxes(int files, int columnes); /* Retorna les files i columnes, i les dades de les * fitxes d'un solitari personalitzat */ QStringList solitariPersonalitzat_dadesFitxes(); /* Retorna el número de files i columnes del joc * personalitzat */ QString solitariPersonalitzat_filesColumnes(); /* Marca els solitaris especials */ bool p_SolitariAtzar; bool p_SolitariPersonalitzat; void setSolitariAtzar(bool valor); void setSolitariPersonalitzat(bool valor); /* Estableix si s'està jugant amb * un solitari modificat */ void setSolitariModificat(bool valor); bool solitariModificat() const{ return p_SolitariModificat; } bool solitariAtzar() const{ return p_SolitariAtzar;} bool solitariPersonalitzat() const{ return p_SolitariPersonalitzat;} //per comprova si es tracta d'algun solitari //especial bool esSolitariEspecial() const{ return p_SolitariAtzar || p_SolitariPersonalitzat; } //Controla els tipus de joc especials void setSolitariEspecial(QString codiJoc); /* Marcam totes les fitxes com a personalitzades * (segons el valor passat) */ void marcaFitxesSolitariPersonalitzat(bool valor); /* Comprova si hi ha alguna fitxa del solitari marcada * com a personalitzada * 10/02/13 Finalment no es fa servir això bool solitariPersonalitzat_hiHaFitxesMarcades();*/ frmPrincipal *p_frmPrinci; bool jocFinalitzat(); int jocsRealitzats=0; int jocsAmbSolucio=0; int maximNombreDeProves=300; bool continuar=true; protected: virtual void resizeEvent(QResizeEvent* event); private: /* Codi de la modalitat de solitari * actual */ QString p_modalitatJocActual; int p_estatFitxaMitjana; bool nomesQuedenFitxesMarcadesFinalJoc(); /* Comprova si s'ha arribat al final del joc. Això * és molt útil en les modalitats que tenen el final * de joc marcat */ bool arribatFinalJoc(); void controlaRecords(); EstatsDelJoc p_estatDelJoc; /*Controla si el solitari és una modificació */ bool p_SolitariModificat; /* Procediments de les modalitats a l'atzar */ //Procediment inicial void solitariAtzar_generaJoc(); }; #endif // TAULER_H peg-solitaire-2.2/scr/moviment.cpp0000644000175000017500000001230313113035231017353 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #include #include "moviment.h" #include "tauler.h" #include "fitxa.h" Moviment::Moviment(int fitxaInicial, int fitxaBotada, int fitxaFinal, int direccioMoviment, Tauler *taulerJoc): p_fitxaInicial (fitxaInicial), p_fitxaBotada(fitxaBotada), p_fitxaFinal(fitxaFinal), p_direccioMoviment(direccioMoviment), p_taulerJoc(taulerJoc) { p_direccioMoviment=p_taulerJoc->m_fitxes.value(p_fitxaInicial)->tipusMoviment(); } /* Fa un moviment. Segons el tipusMoviment, determina * l'estat final de les fitxes (inicial, mitjana i final) */ void Moviment::redo(){ if (p_direccioMoviment==1){ fesMoviment(0,0,1); } else if (p_direccioMoviment==2){ fesMoviment(0,1,1); } else if (p_direccioMoviment==3){ fesMoviment(0,0,1); } else if (p_direccioMoviment==5){ fesMoviment(0,1,1); } /* Borram les marques de qualsevol moviment marcat * (ja que pot ésser que s'hagi clicat algun dels botons * d'endevant/enrrera */ eliminaMovimentMarcat(); marcaSituacioJoc(); } void Moviment::undo(){ //Les fitxes vermelles de final de joc es passen a blaves if(p_taulerJoc->p_movimentsUndoStack->index()== p_taulerJoc->p_movimentsUndoStack->count() ){ eliminaFitxesVermelles(); } //direccció normal if (p_direccioMoviment==1){ fesMoviment(1,1,0); } //moviment invers else if (p_direccioMoviment==2){ fesMoviment(1,0,0); } //moviments perpendiculars i en diagonal else if (p_direccioMoviment==3){ fesMoviment(1,1,0); } //moviments perpendiculars i en diagonal invers else if (p_direccioMoviment==5){ fesMoviment(1,0,0); } /* Borram les marques de qualsevol moviment marcat * (ja que pot ésser que s'hagi clicat algun dels botons * d'endevant/enrera */ eliminaMovimentMarcat(); marcaSituacioJoc(); } void Moviment::fesMoviment(int primera, int segona, int tercera){ p_taulerJoc->m_fitxes.value(p_fitxaInicial)->setEstat(primera); p_taulerJoc->m_fitxes.value(p_fitxaBotada)->setEstat(segona); p_taulerJoc->m_fitxes.value(p_fitxaFinal)->setEstat(tercera); // setText(QString("%1 %2 %3").arg(p_fitxaInicial).arg(p_fitxaBotada).arg(p_fitxaFinal)); setText(movimentACoordenades()); marcaSituacioJoc(); } void Moviment::eliminaFitxesVermelles(){ //QHashIterator i(p_taulerJoc->m_fitxes); QMapIterator i(p_taulerJoc->m_fitxes); while (i.hasNext()) { i.next(); if (i.value()->estat()==5){ i.value()->setEstat(1); } } } /* Quan es fan moviments enrrera/envant * cal assegurar-se que no hi ha cap moviment * "marcat" */ void Moviment::eliminaMovimentMarcat(){ //QHashIterator i(p_taulerJoc->m_fitxes); QMapIterator i(p_taulerJoc->m_fitxes); while (i.hasNext()) { i.next(); /* Tipus de moviment normal i diagonal */ if (p_direccioMoviment != 2){ /* Si la fitxa està seleccionada con inici * d'un moviment, la passam a normal */ if (i.value()->estat()==2){ i.value()->setEstat(1); } /* Si la fitxa està seleccionada com a final * d'un moviment, la passam a normal. */ if (i.value()->estat()==3){ i.value()->setEstat(0); } } /* * Moviment invers */ else { /* Si la fitxa està seleccionada com inici * d'un moviment, la passam a normal */ if (i.value()->estat()==2){ i.value()->setEstat(1); } /* Si la fitxa està seleccionada com a final * d'un moviment, la passam a normal * (en aquest cas, buida) */ if (i.value()->estat()==3){ i.value()->setEstat(0); } } } } QString Moviment::movimentACoordenades(){ return QString("(%1,%2) -> (%3,%4)").arg(p_fitxaInicial/100).arg(p_fitxaInicial % 100). arg(p_fitxaFinal/100).arg(p_fitxaFinal % 100); } void Moviment::marcaSituacioJoc(){ return; int numeroConjunts= p_taulerJoc->solucionaJocActual_FitxesAillades_PerConjunts(); p_taulerJoc->solucionaJocActual_FitxesAillades1(); p_taulerJoc->solucionaJocActual_conjuntsAillats(numeroConjunts); } peg-solitaire-2.2/scr/moviment.h0000644000175000017500000000336213113035231017025 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef MOVIMENT_H #define MOVIMENT_H #include class Tauler; class Fitxa; class Moviment : public QUndoCommand { Q_GADGET public: Moviment(int fitxaInicial, int fitxaBotada, int fitxaFinal, int direccioMoviment, Tauler *taulerJoc); virtual void redo();// moviment Endevant; virtual void undo(); //moviment Enrrera; void fesMoviment(int primera, int segona, int tercera); void eliminaFitxesVermelles(); /* Quan es fan moviments enrrera/envant * cal assegurar-se que no hi ha cap moviment * "marcat" */ void eliminaMovimentMarcat(); QString movimentACoordenades(); /*És per poder seguir el joc amb una solució carregada * Es pot marcar les fitxes, etc...*/ void marcaSituacioJoc(); private: int p_fitxaInicial; int p_fitxaBotada; int p_fitxaFinal; int p_direccioMoviment; Tauler *p_taulerJoc; }; #endif // MOVIMENT_H peg-solitaire-2.2/scr/constants.h0000644000175000017500000000433213113035231017201 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef CONSTANTS_H #define CONSTANTS_H enum EstatsDelJoc { joc = 0x0, solucio = 0x1 }; //struct variables_recerca_solucio { // int valorMinimMovimentsJoc; // int valorMinimIndexDeMovimentsPerMovimentsMassius; // int valorMaximIndexDeMovimentsPerMovimentsMassius; // int maximNumeroDeConjunts; // int maximNumeroDeFitxesAillades; // int minimIndexDeMoviments; // int minimNumeroDeConjuntsActual; // int minimNumeroDeFitxesAilladesActual; // int minimIndexMovimentsPerFiltrarMovimentsSeleccionats; //} ; /* Directoris */ const QString DIRECTORIS_LINUX="/usr/share/games/peg-solitaire"; const QString DIRECTORIS_LINUX_PROGRAMA="/games"; const QString DIRECTORIS_LINUX_AUXILIARS="/usr/share/games/peg-solitaire"; const QString DIRECTORI_ARXIU_GAMES_SOL="/games/data.sol"; const QString DIRECTORI_IMATGES="images"; const QString DIRECTORI_LOCALES="locales"; const QString DIRECTORI_DADES="games"; const QString DIR_HELP="help"; const QString ADRECA_WEB_REGISTRE="http://peg-solitaire.sourceforge.net/registre.html"; const QString ADRECA_WEB_PROGRAMA_1="http://peg-solitaire.sourceforge.net/"; const QString ADRECA_WEB_PROGRAMA_2="http://sourceforge.net/projects/peg-solitaire/"; const QString ADRECA_WEB_PROGRAMA_PECES="http://pecesjocdetangr.sourceforge.net/"; const QString ADRECA_CORREU="tangram.peces@gmail.com"; #endif // CONSTANTS_H peg-solitaire-2.2/scr/funcions.cpp0000644000175000017500000000534413113047546017364 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ //#include #include "funcions.h" #include "constants.h" /* Directoris linux 21/04/11 Modificat per permetre la coexistència de l'aplicació instal·lada i el codi font */ QString directoriLinux(){ QDir dirArxiu; if (dirArxiu.exists(QCoreApplication::applicationDirPath()+ QDir().separator()+ "images")){ return QCoreApplication::applicationDirPath(); } else if (dirArxiu.exists(DIRECTORIS_LINUX)){ return DIRECTORIS_LINUX; } else return QCoreApplication::applicationDirPath(); /* QString dirInicial=QCoreApplication::applicationDirPath().replace(DIRECTORIS_LINUX_PROGRAMA,""); dirInicial=dirInicial.append(DIRECTORIS_LINUX_AUXILIARS); QDir dirArxiu; if (dirArxiu.exists(DIRECTORIS_LINUX)){ return DIRECTORIS_LINUX; } else if (dirArxiu.exists(dirInicial)){ return dirInicial; } else return QCoreApplication::applicationDirPath(); */ } /* Número de fitxes de la configuració passada per parámetre */ int numeroConfiguracio(QString config){ int numero=0; for(int llista=0 ; llista .(\\d+),(\\d+)."); if (coord.exactMatch(coordenades)){ int fitxaBotada=((coord.cap(1).toInt()+coord.cap(3).toInt())/2)*100+ ((coord.cap(2).toInt()+coord.cap(4).toInt())/2); return QString("%1 %2 %3").arg(coord.cap(1).toInt()*100+coord.cap(2).toInt()). arg(fitxaBotada). arg(coord.cap(3).toInt()*100+coord.cap(4).toInt()); } else { return QString("");} } /* fa una pausa en milisegons*/ //void pausa(int temps){ // QTest::qSleep(temps); // qApp->processEvents(); //} peg-solitaire-2.2/scr/rellotge.cpp0000644000175000017500000000624713120000207017335 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #include #include #include #include "rellotge.h" Rellotge::Rellotge(QWidget * parent , Qt::WindowFlags) : QLabel(parent) { rellotgeQTimer = new QTimer(); connect(rellotgeQTimer, SIGNAL(timeout()), this, SLOT(actualitzaRellotge())); p_rellotgeEnMarxa=false; hores=0; minuts=0; segons=0; } void Rellotge::actualitzaRellotge(){ // milisegons10++; segons=segons+1; // if (milisegons10>=100){ // milisegons10=milisegons10-100; // segons=segons+1; // } if (segons>=60){ segons=segons-60; minuts=minuts+1; } if (minuts>=60){ minuts=minuts-60; hores=hores+1; } setText(retornaTemps()); } void Rellotge::iniciaRellotge(){ p_rellotgeEnMarxa= true; setText(retornaTemps()); rellotgeQTimer->start(1000); } //Fa que el rellotge aturat segueixi en marxa void Rellotge::reIniciaRellotge(){ rellotgeQTimer->start(1000); p_rellotgeEnMarxa= true; estableixTemps(retornaTemps()); setText(retornaTemps()); } void Rellotge::aturaRellotge(){ rellotgeQTimer->stop(); p_rellotgeEnMarxa=false; setText(retornaTemps()); update(); } void Rellotge::estableixTemps(QString temps){ QStringList list1 = temps.split(":"); hores=list1.at(0).toInt(); minuts=list1.at(1).toInt(); segons=list1.at(2).toInt(); setText(retornaTemps()); update(); } QString Rellotge::retornaTemps(int tipus){ QString sHores,sMinuts,sSegons; if (hores<10){ sHores= QString("0%1:").arg(hores); } else sHores= QString("%1:").arg(hores); if (minuts<10){ sMinuts= QString("0%1:").arg(minuts); } else sMinuts= QString("%1:").arg(minuts); if (segons<10){ sSegons= QString("0%1").arg(segons); } else sSegons= QString("%1").arg(segons); if (tipus==0){ if(rellotgeQTimer->isActive()){ return QString("

%1%2%3

").arg(sHores,sMinuts,sSegons); } else { return QString("

%1%2%3

").arg(sHores,sMinuts,sSegons); } } else { return QString("%1%2%3").arg(sHores,sMinuts,sSegons); } } bool Rellotge::rellotgeEnMarxa(){ return p_rellotgeEnMarxa; } /*Retorna el temps marcat en segons totals No es fa servir*/ int Rellotge::retornarSegonsTotals(){ return hores*3600+minuts*60+segons; } peg-solitaire-2.2/scr/frmprincipal.h0000644000175000017500000003227513113035231017662 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef FRMPRINCIPAL_H #define FRMPRINCIPAL_H #include #include #include #include #include #include #include #include #include #include #include #include "frmprincipal.h" #include "tauler.h" #include "rellotge.h" class frmPrincipal : public QMainWindow { Q_OBJECT public: frmPrincipal(); QFrame *jocFram; QTreeWidget *arbreModalitatsJocTreeWidget; QTreeWidget *arbreModalitatsJocPersonalitzatsTreeWidget; //Llista amb el contingut de l'arxiu data.sol QList dadesArxiuData; //Tab pels arbres de jocs i solucions QTabWidget *tabArbres; Tauler *taulerJoc; QUndoStack* movimentsUndoStack; Rellotge *rellotgeLabel; /* Llegeix i carrega les dades dels jocs * de l'arxiu games.dat a la llista * dadesArxiuData */ void llegeixArxiuData(); void carregaArbreModalitatsJoc(); /* Retorna el tipus de moviment en text * (invers/diagonal) */ QString afageixTipusMovimentNomJoc(QString tipus); /* Llegeix i carrega les dades dels jocs personalitzats * de l'arxiu /home/Solitari/games-per.dat a la llista * dadesArxiuData */ bool llegeixArxiuDataPersonalitzats(); /*Carrega les dades dels solitaris personalitzats */ void carregaArbreModalitatsJocPersonalitzats(); /* Posa l'icone OK al ítem de l'arbre si * ja hi ha un record */ QString posaIconeOK(QString codiJoc); /* Comprova si hi ha un record pel joc * i el retorna */ QString hihaRecordJoc(QString codiJoc); // int jocResolt; QStringList solucionaJocActual_movimentsEliminats; QStringList solucionaJocActual_movimentsJaRealitzats; QStringList solucionaJocActual_movimentsPosiblesActuals; QStringList solucioJocActual_configuracionsEliminades; QStringList solucioJocActual_configuracionsEliminadesPerDesar; QString solucioJocActual_configuracioInicial; QString jocActual_configuracioInicialFitxesMarcades; QString solucionaJocActual_darrerMoviment; void actualitzaConfiguracionsInicials(); QStringList solucionsTrobades; QAction *iniciSolucioAction; int retrocedeixMoviment=0; void desaSolucions(); //Desa la solució actual continguda a movimentsUndoStack void desaSolucions1(); //Mostra les solucions del joc actual void veureSolucionsSlot(); void comprovaArxiuSolucions(); /* Comprova si hi ha un arxiu amb solucions del joc actual * en el directorio /games * Es fa servir per saber si el programa aconsegueix resoldre * el joc sense fer servir dades de solucions prèvies*/ bool comprovaDadesSolucions(); QString missatgeNumeroMoviments(int maxim=0); //Visualitzador de solucions QTreeWidget *arbreSolucionsTreeWidget; //Mostra un missatge passat pel tauler del joc void mostraMissatge(int codi); //Solitari a l'atzar /* Determina si el solitari actual és o no * a l'atzar */ bool solitariAtzar_esAtzar(QString joc); //Solitari personalitzat /* Calcula les dades de les fitxes del solitari personalitzat */ void solitariPersonalitzat_dadesFitxes(); /* Determina si el solitari actual és o no * personalitzat */ bool solitariPersonalitzat_esPersonalitzat(QString joc); /* Quan es resol un solitari personalitzat * es desa a l'arbre de jocs personalitzats * (prèvia comprovació de que no està repetit) */ void solitariPersonalitzat_desarSolitari(); /* Elimina l'arxiu de la solució del solitari personalitzat * actual */ void solitariPersonalitzat_eliminaArxiuSolucio(); /* Controla si s'està jugat un joc del programa (valor 0) * o un joc personalitzat (valor 1) */ int tipusJocActual; /* Arbre del joc actual. * Es fa servir per saber quin tipus de joc * està actiu * 0: arbre dels jocs del programa * 1: arbre dels jocs personalitzats */ void setArbreJocsActual(int valor); int arbreJocsActual() const{ return p_arbreJocsActual;} QString nomArxiuJoc(int tipus); private slots: void closeEvent(QCloseEvent* event); /* Gestiona a quin arbre de jocs * (del programa o personalitzats) * cal seleccionar */ void gestioTipusDeJocASeleccionar(); /*Gestiona la selecció de la modalitat de joc *Conectat al canvi d'ítem de l'arbre de jocs */ void seleccioModalitatJoc(); /* Gestiona el canvi de la selecció de joc per controlar * el tipus de joc de generació a l'atzar * elimina les dades del ítem a l'atzar per permetre la * generació en tornar a seleccionar */ void canviItemArbreJoc(QTreeWidgetItem *actual, QTreeWidgetItem *anterior); /* Gestiona el canvi de selecció * de la fulla del tab amb els arbres de jocs * i solucions */ void canviTabSeleccionat( int tabSeleccionat); QString movimentACoordenades(QString inici,QString final); QString coordenadesAMoviment(QString coordenades); void veureRecordsPersonals(); void eliminaRecordsPersonals(); void canviaIdioma(QAction *action); void creditsProgramaSlot(); void webProgramaSlot(); void webProgramaPecesSlot(); void ajudaSlot(); void agraimentSlot(); /*Procediments de cerca de solició*/ void solucionaJocRapid(); bool comprovaExisteixenMovimentsPossibles(); void solucionaJocActual_carregaSolucio(); void solucionaJocActual_carregaSolucio1(); int solucionaJocActual_numeroDeFitxesDelJoc(); void solucionaJocActual_Inicia(); void solucionaJocActual_ControlJocPersonalitzatModificat(); void solucionaJocActual_CarregaMovimentsInicialsArbre(); void solucionaJocActual_comencaRecerca(); void solucionaJocActual_eliminaMovimentsPosteriors(); void solucionaJocActual_eliminaConfiguracionsPosteriors(QString config); void solucionaJocActual_RecercaIterativa_ExhaustivaInici(int numFitxesInicialsJoc, int mantenirMoviment=0); // void solucionaJocActual_RecercaIterativa_Exhaustiva(QProgressDialog *progres, int profunditat, // int numeroInicialFitxesJoc, variables_recerca_solucio variablesSolucio); void solucionaJocActual_RecercaIterativa_Exhaustiva1(QProgressDialog *progres, int numeroFitxesJoc); // variables_recerca_solucio solucioJocActual_carregaVariablesCercaSolucio(int numeroInicialFitxesJoc); /*cerca solucions per força bruta*/ void solucionaJoc_ForcaBruta(); void solucioJocActual_RecercaIterativa_escriuDesaMovimentRealitzat(int tabulacio,QString cadenaMoviment); //Desa les dades del joc personalitzat/modificat a l'arxiu games_per.dat //i l'afageix a l'arbre de jocs personalitzats void solucioJocActual_desarJocPersonalitzat(); //Aquesta funció no es fa servir // void solucionaJocActual_eliminaConfiguracions(); void desaConfiguracionsEliminades(int tipus=0); void carregaConfiguracionsEliminades(); void eliminaArxiuConfgEliminades(); /* Escriu a un arxiu el moviment passat * per paràmetre. Serveix per seguir els moviments * provats de la recerca iterativa de solució*/ void desaMovimentsJoc(QString moviment); /* Retorna el nombre de 1 de la configuració de fitxes del joc * passada pel paràmetre*/ int numeroFitxesConfiguracioActualJoc(QString configuracioActual); /* Elimina l'arxiu de moviments provats en la recerca de iterativa de solució. */ void eliminaArxiuMovimentsJoc(); /* Elimina l'arxiu adequat segons el codi passat 1 ".txt" 2 ".sol" 4 ".movi" 5 ".arbre"*/ void eliminaArxiu(int codi); void carregaSolucions(); bool comprovaArxiuDeSolucions(); //Carrega al movimentsUndoStack la solució actual void carregaSolucio(QTreeWidgetItem*, int); //Carrega efectivament la solució void carregaSolucio1(); void iniciSolucioSlot(int pmoviment=0); void iniciSolucioSlotIndex(int index=0); //Carrega una solució void finalSolucioSlot(bool marcaFinal=false); //Deixa el joc en pausa void pausaJocSlot(); //Suggereix el següent moviment a l'usuari void sugereixMovimentSlot(); //Ha passat a públic // void iniciSolucioSlot(); /* Gestiona el doble clic sobre l'ítem de la generació * a l'atzar de solitaris */ void dobleClickArbreJoc(QTreeWidgetItem *item, int columne); /* Gestiona la selecció dels jocs * personalitzats * arbreModalitatsJocPersonalitzatsTreeWidget */ void seleccioModalitatJocPersonalitzat(); private: void creaAcccions(); void creaMenus(); void creaIdiomaMenu(); void creaBarraTasques(); void comprovaDirectoriHome(); void comprovaRegistre(); void tradueixGUI(); /* Procediments dels solitaris a l'atzar */ void solitariAtzar_generaJoc(); int solitariAtzar_tipusMovimentGenerador(int tipusMoviementGenerat, QString &tipusFitxa); void solitariAtzar_carregaDadesArbreJoc(QString codi,QString FilesColumnes, QString dadesFitxes); QString solitariAtzar_inverteixSolucioJocGenerat(); QString solitariAtzar_coordenadesAMoviment(QString coordenades); /* Desa a un arxiu la solució del solitari * generat a l'atzar */ void solitariAtzar_desaSolucio(); void solitariAtzar_generaImatge(); void solitariAtzar_eliminaArxiuSolucio(); //Cadena amb la solució QString solitariAtzar_solucio; bool solitariAtzar_CarregaSolucio(); /********/ /* Procediments del solitari personalitzat */ /* Comprova si el solitari personalitzat ja està * a l'arbre de solitaris personalitzats */ void solitariPersonalitzat_comprovaArbre(); /* Afegeix un joc personalitzat a l'arbre */ QString solitariPersonalitzat_afegeixJoc(QStringList dadesJocList); /* Afegeix les dades del joc personalitzat a l'arxiu * de dades */ void solitariPersonalitzat_desaJocArxiu(QString codi,QStringList dadesFitxes, QString codiNom); /* Retorna el nou codi del solitari personalitzat */ QString solitariPersonalitzat_nouCodiJoc(bool nou); /* Conserva el següent codi de joc * que s'assignarà al nou joc personalitzat */ QString seguentCodiSolitariPersonalitzat; /* Renomena l'arxiu amb la solució del solitari * personalitzat nou */ void solitariPersonalitzat_renomenaArxiuSolucio(QString nouCodi); //****final solitari personalitzat /* Comprova si les dades de les fitxes es corresponen * amb una modalitat de final marcat */ bool esSolitariAmbFinalMarcat(QString dadesFitxes); /* Comprova si hi ha alguna solució a l'arbre * de solucions */ bool noHiHaSolucionsArbreSolucions(); /* Retorna el nom del joc * (sense afegitons segons el paràmetre) */ QString nomDelJoc(QString codi, bool complet=true); int p_arbreJocsActual; //Accions del programa QAction *surtAction; //tanca el programa QAction *veureRecordsPersonalsAction; QAction *eliminaRecordsPersonalsAction; QAction *reiniciaJocActual; QAction *undoAction; QAction *redoAction; QAction *pausaAction; QAction *sugereixMovimentAction; QAction *ajudaAction; QAction *colaboraPrograma; QAction *creditsPrograma; QAction *agraiment; QAction *webProgramaAction; QAction *webProgramaPecesAction; QAction *solucionaJocActual; // QAction *solucionaJocActualRapid; QAction *solucionaJocActualForcaBruta; //Eliminada 16/12/10 Ara les solucions // es veuen directament en el Tab de les // modalitats de joc // QAction *veureSolucions; QTranslator *frm_qt_translator; QTranslator *frm_Translator; QMenu *aplicacioMenu; QMenu *movimentsMenu; QMenu *idiomaMenu; QActionGroup *idiomaActionGroup; QMenu *ajudaMenu; QToolBar *aplicacioToolBar; QToolBar *veureSolucionsToolBar; //rellotge per generar els nombre aleatoris QTime rellotgeQTime; void actualitzaCodisArxiusDeSolucio(); protected: void resizeEvent ( QResizeEvent * event ); }; #endif // FRMPRINCIPAL_H peg-solitaire-2.2/scr/fitxa.h0000644000175000017500000001176713113035231016312 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef FITXA_H #define FITXA_H #include class Tauler; class Fitxa : public QGraphicsEllipseItem { Q_GADGET public: Fitxa( Tauler* taulerJoc, QGraphicsItem* parent=0); int estat() const{ return m_estat; } QPoint coordenades() const; int tipusMoviment() const{ return p_tipusMoviment;} int preferenciaMoure() const{ return p_preferenciaMoure; } int nivellAillament() const{ return p_nivellAillament;} //Conserva l'index (del QHash del tauler) de les fitxes botada i final dels //possibles moviments d'aquesta fitxa QList movimentsPossibles; void calculaMovimentsPosiblesFitxa(); //Conserva les coordenades de les fitxes destí de la fitxa actual QList movimentsFitxa; void calculaMovimentsFitxa(); bool fitxaFinalJoc() const{ return p_fitxaFinalJoc;} bool fitxaUsadaGeneracioSolitariAtzar() const{ return p_fitxaUsadaGeneracioSolitariAtzar;} void setFitxaSolitariPersonalitzat(bool valor); bool fitxaSolitariPersonalitzat() const{ return p_fitxaSolitariPersonalitzat;} void setConjuntAillament(int numConjunt); void setDistanciaAillament(int distancia); void setDistanciaAillamentConjunt(int distancia); int conjuntAillament()const{ return p_numConjunt;} int distanciaAillament() const{ return p_distanciaAillament;} int distanciaAillamentConjunt() const{ return p_distanciaAillamentConjunt;} public slots: //Propietats /* Controla l'estat de la fitxa: -2: No dibuixa la fitxa 10/02/13 No es fa servir això -1: No hi ha fitxa 0: Buit 10: Buit final de joc 1: Estat normal 11: Estat normal final de joc 2: Fitxa seleccionada 3: Destí d'un moviment 4: Joc resolt (verd) 5: El joc s'ha acabat ja que no hi ha més moviments (vermell) 6: Dibuixa un quadrat en la personalització/modificacíó Serà un joc sense fitxa (estat -1) */ void setEstat (int nouValor, bool canviarFitxaFinalJoc=false); void setCoordenades (QPoint coordenades); /* Controla el tipus de moviment 1: moviment directa (l'habitual del joc) 2: moviment invers 3: moviment en direcció perpendicular i obliqua 4: proposta de problema 10/02/13 ¿? No es fa servir això */ void setTipusMoviment (int nouTipus); void ferMoviment(); bool esPotMoure(); /* Les fitxes amb preferencia més petita * van primer per moure */ void setPreferenciaMoure(int preferencia); void setEsMou(bool valor); void setFitxaAillada(bool valor); void setNivellAillament( int valor); void incrementaNivellAillament(); void setFitxaFinalJoc(bool valor); //Marca les fitxes que s'ha fet servir en la //generació d'un solitari a l'atzar void setfitxaUsadaGeneracioSolitariAtzar(bool valor); protected: void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); virtual void mousePressEvent(QGraphicsSceneMouseEvent* event); private: //Estat de la fitxa per pintar-la int m_estat; //Coordenades de la fitxa en el joc QPoint m_coordenades; /*Tipus de moviment del joc * 1 clàssic * 2 invers * 3 diagonal */ int p_tipusMoviment; //Indica la preferència de la fitxa int p_preferenciaMoure; //Indica el nivell d'aillament actual de la fitxa int p_nivellAillament; //Controla si la fitxa està aïllada bool p_aillada; //controla si la fitxa s'ha mogut en algun moment bool p_esMou; //Controla si la fitxa és una posició final //del joc bool p_fitxaFinalJoc; //Controla si és una fitxa que s'ha fet servir //en la generació d'un solitari a l'atzar bool p_fitxaUsadaGeneracioSolitariAtzar; //Controla si la fitxa està en la //generació de solitari personalitzat bool p_fitxaSolitariPersonalitzat; int p_numConjunt; int p_distanciaAillament; int p_distanciaAillamentConjunt; //Tauler de joc al qual pertany la fitxa Tauler* m_taulerJoc; }; #endif // FITXA_H peg-solitaire-2.2/scr/frmprincipal.cpp0000644000175000017500000051566713117266666020256 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ //#include #include //#include //#include #include #include #include #include #include "frmprincipal.h" #include "constants.h" #include "funcions.h" #include "moviment.h" /* * Per actualitzar les cadenes de traducció * lupdate -verbose peg-solitaire.pro * al terminal */ extern QTranslator *qt_translator; extern QTranslator *appTranslator; const int numeroLiniesDadesJoc=4; const int alcadaMenuBarraTasques=60; QString localePrograma; int jocResolt; //Contador dels intents de trobar una solució //Evita els casos en què no es troba la solució //d'un problema que en té int intentsSolucio=0; /* Controla si s'està cercant una solució a partir * d'uns moviments inicials ja fets*/ bool cercaSolucioAPartirDeMovimentsInicials=false; /**************************************** * *16/12/10: canviat el sistema per mostrar les * marques personals (void veureRecordsPersonals()) * Ara es fa amb un diàleg per evitar els problemes * de la finestra flotant. * *16/12/10: canviat el sistema per mostrar les *solucions. Ara es fa a un Tab i s'ha eliminat *l'opció de menú *****************************************/ frmPrincipal::frmPrincipal() { localePrograma=QLocale::system().name(); qsrand(QTime::currentTime().msec()); //jocResolt=false; setWindowIcon(QIcon(":/peg-solitaire.png")); setWindowTitle( tr("Solitari")); setMinimumSize (QSize(600,330+alcadaMenuBarraTasques)); this->move(300,100); //Recuperam les dimensions del formulari restoreGeometry(QSettings().value(QString("General/geometry")).toByteArray()); jocFram=new QFrame(this); jocFram->setGeometry(0,alcadaMenuBarraTasques,300,300); jocFram->setFrameStyle(QFrame::WinPanel | QFrame::Raised); jocFram->setMinimumSize(QSize(300,300)); //rellotge rellotgeLabel = new Rellotge(jocFram); rellotgeLabel->setMinimumSize(QSize(300,10)); rellotgeLabel->move(QPoint(0,10)); rellotgeLabel->setAlignment(Qt::AlignHCenter); rellotgeLabel->estableixTemps("00:00:00"); //Tabs tabArbres= new QTabWidget(jocFram); tabArbres->setMinimumSize(QSize(290,250)); tabArbres->move(QPoint(0,50)); connect(tabArbres,SIGNAL(currentChanged(int)), this,SLOT(canviTabSeleccionat( int))); //arbre dels jocs arbreModalitatsJocTreeWidget= new QTreeWidget(jocFram); arbreModalitatsJocTreeWidget->setMinimumSize(QSize(280,210)); // arbreModalitatsJocTreeWidget->move(QPoint(0,70)); arbreModalitatsJocTreeWidget->expandAll(); // connect(arbreModalitatsJocTreeWidget,SIGNAL(itemClicked(QTreeWidgetItem*, int)), // this,SLOT(seleccioModalitatJoc(QTreeWidgetItem*, int))); connect(arbreModalitatsJocTreeWidget,SIGNAL(itemSelectionChanged()), this,SLOT(seleccioModalitatJoc())); connect(arbreModalitatsJocTreeWidget, SIGNAL(itemClicked ( QTreeWidgetItem *, int)), this, SLOT(seleccioModalitatJoc())); connect(arbreModalitatsJocTreeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(canviItemArbreJoc(QTreeWidgetItem*,QTreeWidgetItem*))); connect(arbreModalitatsJocTreeWidget, SIGNAL(itemDoubleClicked ( QTreeWidgetItem*, int)), this, SLOT(dobleClickArbreJoc(QTreeWidgetItem*, int))); //S'afegeix a un tab tabArbres->addTab(arbreModalitatsJocTreeWidget,""); tabArbres->setTabToolTip(0,tr("Modalitats del joc")); tabArbres->setTabIcon(0, QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/peg-solitaire.png")); //Visualitzador de solucions arbreSolucionsTreeWidget= new QTreeWidget(this); arbreSolucionsTreeWidget->setMinimumSize(QSize(280,220)); arbreSolucionsTreeWidget->setColumnCount(2) ; arbreSolucionsTreeWidget->setColumnHidden(1,true); connect(arbreSolucionsTreeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), this,SLOT(carregaSolucio(QTreeWidgetItem*, int))); /* solucionsDockWidget = new QDockWidget(tr("Solucions")); solucionsDockWidget->setWidget(arbreSolucionsTreeWidget); */ //S'afegeix a un tab tabArbres->addTab(arbreSolucionsTreeWidget, ""); tabArbres->setTabToolTip(1,tr("Solucions")); tabArbres->setTabIcon(1, QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/soluciona.png")); arbreModalitatsJocPersonalitzatsTreeWidget= new QTreeWidget(jocFram); arbreModalitatsJocPersonalitzatsTreeWidget->setMinimumSize(QSize(280,210)); arbreModalitatsJocPersonalitzatsTreeWidget->expandAll(); connect(arbreModalitatsJocPersonalitzatsTreeWidget, SIGNAL(itemSelectionChanged()),this,SLOT(seleccioModalitatJocPersonalitzat())); connect(arbreModalitatsJocPersonalitzatsTreeWidget, SIGNAL(itemClicked ( QTreeWidgetItem *, int)), this, SLOT(seleccioModalitatJocPersonalitzat())); //S'afegeix a un tab tabArbres->addTab(arbreModalitatsJocPersonalitzatsTreeWidget,""); tabArbres->setTabToolTip(2,tr("Jocs personalitzats")); tabArbres->setTabIcon(2, QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/peg-solitaire-per.png")); movimentsUndoStack = new QUndoStack(this); taulerJoc= new Tauler (movimentsUndoStack,rellotgeLabel,this,this); /* 26/12/12 S'ha afegit el +8 per evitar que les fitxes * s'aferrin als marges */ taulerJoc->move(QPoint(300,alcadaMenuBarraTasques+8)); //Rellotge per a les eleccions a l'atzar /* 21/08/16 Eliminada la següent linia: * l'objecte ja està declarat a .h * S'ha afegit la llavors a tots els qrand * (llevat dels de la generació de jocs a l'atzar) */ //QTime rellotgeQTime (0,0,0); rellotgeQTime.currentTime(); rellotgeQTime.start(); qsrand((QTime::currentTime().msecsSinceStartOfDay())); comprovaDirectoriHome(); actualitzaCodisArxiusDeSolucio(); //inicialment, el tipus de joc serà del programa tipusJocActual=0; creaAcccions(); creaMenus(); creaBarraTasques(); /* 19/01/13 Incorporat al procediment * de càrrega dels jocs */ //llegeixArxiuData(); /* 17/08/16 * Eliminats degut a què ja estan a tradueixGUI() i * s'executaven dues vegades */ // carregaArbreModalitatsJoc(); setArbreJocsActual(0); //carregaArbreModalitatsJocPersonalitzats(); /* 18/01/11 Eliminat (a Debian) per considerar-ho contrari a les "llibertats" */ comprovaRegistre(); } /* Carrega el contingut de l'arxiu data.sol a la llista dadesArxiuData */ void frmPrincipal::llegeixArxiuData(){ //obrim l'arxiu de jocs QString nomArxiu=directoriLinux()+DIRECTORI_ARXIU_GAMES_SOL; QFile arxiuData(nomArxiu); if (!arxiuData.open(QIODevice::ReadOnly | QIODevice::Text)){ QMessageBox::critical(this, tr("Solitari"), QString(tr("No s'ha trobat l'arxiu %1")).arg(nomArxiu) ); return ; } QTextStream entrada(&arxiuData); QString linia0 = entrada.readLine(); dadesArxiuData.clear(); while (!linia0.isNull()) { if ( ! (linia0.mid(0,1)=="#") ){ dadesArxiuData.append(linia0); //tipus de joc for(int dades=0 ; dades0){ //netejam arbreModalitatsJocTreeWidget->clear(); arbreModalitatsJocTreeWidget->setColumnCount(numeroLiniesDadesJoc+1); //Codi del joc, tipus de moviment arbreModalitatsJocTreeWidget->setColumnHidden(1,true); //files i columnes arbreModalitatsJocTreeWidget->setColumnHidden(2,true); //dades de les fitxes arbreModalitatsJocTreeWidget->setColumnHidden(3,true); //Codi de la cadena amb el nom del solitari arbreModalitatsJocTreeWidget->setColumnHidden(4,true); //posam la capçalera de l'arbre QTreeWidgetItem *item=new QTreeWidgetItem(); //07/01/12 Això no serveix per res! //item->setIcon(0,QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/hi_q.png")); // item->setText(0,tr(nomModalitatsJoc[0])); item->setText(0,nomDelJoc(0)); arbreModalitatsJocTreeWidget->setHeaderItem(item); //Això per controlar la numeració dels jocs que tenen //la mateixa cadena de nom QSettings *controlArxiu; controlArxiu=new QSettings( QSettings::IniFormat, QSettings::UserScope,"De Marchi", "nomsSol"); controlArxiu->clear(); int numSolMateixNom; QList itemsArbre; for(int llista=0 ; llistavalue(nomJoc,"1").toInt(); QString cadenaNomNumero; cadenaNomNumero=QString::number(numSolMateixNom); while (cadenaNomNumero.length()<3){cadenaNomNumero=" "+cadenaNomNumero;} //Comprovam si és una modalitat amb final marcat //per afegir un * al nom //12/01/13 Nova funció //if( (dadesArxiuData.value(llista*numeroLiniesDadesJoc+2).contains("11")) // ||(dadesArxiuData.value(llista*numeroLiniesDadesJoc+2).contains("10")) ){ if(esSolitariAmbFinalMarcat( dadesArxiuData.value(llista*numeroLiniesDadesJoc+2))){ cadenaNomNumero=cadenaNomNumero+" *" ; } // cadenaNomNumero=cadenaNomNumero+" ("+codi.value(0)+")"; /* 16/01/13 Nova funció que retorna el nom * del tipus de moviment (diagonal/invers) per * simplificar les cadenes de traducció */ item->setText(0,nomJoc+cadenaNomNumero); item->setToolTip(0,item->text(0)); //linea 0: codi joc, tipus moviment item->setText(1,dadesArxiuData.value(llista*numeroLiniesDadesJoc)); //linea 1: files i columnes item->setText(2,dadesArxiuData.value(llista*numeroLiniesDadesJoc+1)); //linea 2: estat de les fitxes if(solitariPersonalitzat_esPersonalitzat(dadesArxiuData.value(llista*numeroLiniesDadesJoc))){ QString dadesFitxes; while(dadesFitxes.length()<144*2){ dadesFitxes=dadesFitxes+"6 "; } dadesFitxes.simplified(); item->setText(3,dadesFitxes); } else item->setText(3,dadesArxiuData.value(llista*numeroLiniesDadesJoc+2)); //Codi del nom del solitari item->setText(4,dadesArxiuData.value( llista*numeroLiniesDadesJoc+3) ); //posam l'icone OK si hi ha un rècord item->setIcon(0,QIcon(posaIconeOK(codi.value(0)))); // item->setText(4,dadesArxiuData.value(llista*numeroLiniesDadesJoc+3)); numSolMateixNom++; controlArxiu->setValue(nomJoc,numSolMateixNom++); itemsArbre.append(item); } arbreModalitatsJocTreeWidget->insertTopLevelItems(0,itemsArbre); arbreModalitatsJocTreeWidget->expandAll(); arbreModalitatsJocTreeWidget->sortItems(0,Qt::AscendingOrder); //Seleccionam el darrer joc jugat en tancar el programa QSettings tipusJoc; bool trobat=false; int modalidadJoc=tipusJoc.value( QString("General/modalidadJoc"),1).toInt(); for(int i=0 ; itopLevelItemCount();++i){ QStringList modJoc= arbreModalitatsJocTreeWidget->topLevelItem(i)->text(1).split(" "); if (modJoc.value(0).toInt()==modalidadJoc){ arbreModalitatsJocTreeWidget->topLevelItem(i)->setSelected(true); //Aquesta linia posa en marxa la càrrega de les solucions a l'arbre de solucions arbreModalitatsJocTreeWidget->setCurrentItem(arbreModalitatsJocTreeWidget->topLevelItem(i)); trobat=true; break; } } if ((! trobat) && ( arbreModalitatsJocTreeWidget->topLevelItemCount()>0)) { arbreModalitatsJocTreeWidget->topLevelItem(0)->setSelected(true); tipusJocActual=0; arbreModalitatsJocTreeWidget->setCurrentItem(arbreModalitatsJocTreeWidget->topLevelItem(0)); } item->setText(0,item->text(0)+" ("+QString::number( arbreModalitatsJocTreeWidget->topLevelItemCount()) +")"); } QApplication::setOverrideCursor(Qt::ArrowCursor); } /* Gestiona a quin arbre de jocs * (del programa o personalitzats) * cal seleccionar */ void frmPrincipal::gestioTipusDeJocASeleccionar(){ solucionsTrobades.clear(); switch (tipusJocActual) { case 0: //joc del programa seleccioModalitatJoc(); break; case 1: //joc personalitzat //primer eliminan els arxius .sol i .txt de joc anterior //solitariPersonalitzat_eliminaArxiuSolucio(); seleccioModalitatJocPersonalitzat(); break; } } /* Gestiona la selecció de la modalitat de joc quan es clica sobre l'arbre de modalitats */ void frmPrincipal::seleccioModalitatJoc(){ statusBar()->clearMessage(); /*Necessari per controlar les solucions distintes*/ retrocedeixMoviment=0; if (arbreModalitatsJocTreeWidget->selectedItems().count()==1){ QTreeWidgetItem *item; item=arbreModalitatsJocTreeWidget->selectedItems().first(); //No s'ha clicat el nus arrel if (item->childCount()==0){ movimentsUndoStack->clear(); iniciSolucioAction->setEnabled(movimentsUndoStack->canUndo()); //Reinciam el número d'intents de trobar //la solució intentsSolucio=0; jocResolt=0; /* Tractament de la modalitat * generació a l'atzar */ if(item->text(3).length()==1){ //És l'ítem de solitari a l'atzar solitariAtzar_generaJoc(); //06/02/13 nou prod. actualitzaConfiguracionsInicials(); //solucioJocActual_configuracioInicial.clear(); //solucioJocActual_configuracioInicial.append(taulerJoc->configuracioActual(true)); } else { taulerJoc->joc_CarregaJoc(item->text(1),item->text(2),item->text(3)); taulerJoc->setCodiNomJocActual(item->text(4)); setArbreJocsActual(0); taulerJoc->setSolitariModificat(false); taulerJoc->setSolitariPersonalitzat(false); //es tracta d'un joc del programa tipusJocActual=0; //30/12/12 Nova funció hihaRecord() // QSettings records; QStringList tipusJoc = item->text(1).split(" "); QString record=hihaRecordJoc(tipusJoc.value(0)); // records.value( QString("%1/record").arg(tipusJoc.value(0)) , // QString("0")).toString(); //No mostrarem els records en els solitaris generats a l'atzar if ( (record != "0") && !(solitariAtzar_esAtzar(item->text(1))) ){ statusBar()->showMessage( QString(tr("Joc carregat. El vostre record actual és: %1")).arg(record)); } else statusBar()->clearMessage(); seguentCodiSolitariPersonalitzat.clear(); seguentCodiSolitariPersonalitzat.append( solitariPersonalitzat_nouCodiJoc(false)); //06/02/13 nou prod. actualitzaConfiguracionsInicials(); //Comprovam l'arxiu de solucions comprovaArxiuSolucions(); } qApp->processEvents(); //Si les solucions estan visibles, actualitzam veureSolucionsSlot(); taulerJoc->numeroDeMovimentsJoc(); mostraMissatge(4); } } } /* Retorna la cadena de la ruta de l'arxiu d'imatge OK * per marcar els joc que ja ha resolt l'usuari */ QString frmPrincipal::posaIconeOK(QString codiJoc){ //Comprovam si hi ha un rècord if(hihaRecordJoc(codiJoc) != "0"){ return directoriLinux()+QDir().separator()+"images"+QDir().separator()+"ok.png";} else return ""; } /* Comprova si hi ha un record pel joc * i el retorna */ QString frmPrincipal::hihaRecordJoc(QString codiJoc){ QSettings records; return records.value( QString("%1/record").arg(codiJoc) , QString("0")).toString(); } void frmPrincipal:: tradueixGUI(){ surtAction->setText(tr("&Surt")); veureRecordsPersonalsAction->setText(tr("Veure records")); ajudaAction->setText(tr("Ajuda")); creditsPrograma->setText(tr("Credits")); agraiment->setText(tr("Agraïments")); webProgramaAction->setText(tr("Web del programa")); webProgramaPecesAction->setText(tr("Web del tangram")); //undoAction->setToolTip(tr("Retrocedeix")); undoAction->setText(tr("Retrocedeix")); redoAction->setText(tr("Avança")); solucionaJocActual->setText(tr("Resol")); //29/05/17 Només per estudiat el joc // solucionaJocActualForcaBruta->setText(tr("Calcula el joc complet")); aplicacioMenu->setTitle(tr("Programa")); movimentsMenu->setTitle(tr("&Moviments joc")); idiomaMenu->setTitle(tr("Idioma")); ajudaMenu->setTitle(tr("Ajuda")); setWindowTitle( tr("Solitari")); veureRecordsPersonalsAction->setText(tr("Veure marques personals")); eliminaRecordsPersonalsAction->setText(tr("Elimina marques personals")); reiniciaJocActual->setText(tr("Reinicia el joc actual")); iniciSolucioAction->setText(tr("Inici solució")); solucionaJocActual->setText(tr("Resol")); /* 16/10/12 Eliminats veureSolucions->setText(tr("Veure solucions")); */ // tabArbres->setTabText(0,"");//tr("Modalitats del joc")); // tabArbres->setTabText(1,tr("Solucions")); tabArbres->setTabToolTip(0,tr("Modalitats del joc")); tabArbres->setTabToolTip(1,tr("Solucions")); tabArbres->setTabToolTip(2,tr("Jocs personalitzats")); //Això és necessari per eliminar l'arxiu de //solucions de les modalitats generades a l'atzar solitariAtzar_eliminaArxiuSolucio(); carregaArbreModalitatsJoc(); carregaArbreModalitatsJocPersonalitzats(); tabArbres->setCurrentIndex(0); } void frmPrincipal::creaAcccions() { /* Les noves accions que tenguin text, cal posar-les * a tradueixGUI(). */ surtAction = new QAction(tr("&Surt"), this); surtAction->setShortcut(tr("Ctrl+S")); surtAction->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/quit.png")); connect(surtAction, SIGNAL(triggered()), this, SLOT(close())); veureRecordsPersonalsAction = new QAction(tr("Veure marques personals"), this); connect(veureRecordsPersonalsAction, SIGNAL(triggered()), this, SLOT(veureRecordsPersonals())); eliminaRecordsPersonalsAction = new QAction(tr("Elimina marques personals"), this); connect(eliminaRecordsPersonalsAction, SIGNAL(triggered()), this, SLOT(eliminaRecordsPersonals())); reiniciaJocActual = new QAction(tr("Reinicia el joc actual"), this); reiniciaJocActual->setShortcut(tr("Ctrl+R")); reiniciaJocActual->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/view-refresh.png")); connect(reiniciaJocActual, SIGNAL(triggered()), this, SLOT(gestioTipusDeJocASeleccionar())); pausaAction= new QAction(tr("Pausa"), this); pausaAction->setShortcut(tr("Ctrl+P")); pausaAction->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/atura.png")); connect(pausaAction, SIGNAL(triggered()), this, SLOT(pausaJocSlot())); /* 07/02/11 Per ara, aixó queda aturat. Cal tenir més garanties sobre la seva efectivitat sugereixMovimentAction= new QAction(tr("Suggereix moviment"), this); sugereixMovimentAction->setShortcut(tr("Ctrl+M")); sugereixMovimentAction->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/sugereix.png")); connect(sugereixMovimentAction, SIGNAL(triggered()), this, SLOT(sugereixMovimentSlot())); */ //Això és degut al tema de les traduccions //25/07/12 //Quan carrega moviments, torna la traducció enrera!! //undoAction=movimentsUndoStack->createUndoAction(this,tr("Retrocedeix")); undoAction=movimentsUndoStack->createUndoAction(this); // undoAction->setText(tr("Retrocedeix")); // undoAction->setToolTip(tr("Retrocedeix")); undoAction->setShortcut(tr("Ctrl+Z")); undoAction->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/edit-undo.png")); //redoAction=movimentsUndoStack->createRedoAction(this,tr("Avança")); redoAction=movimentsUndoStack->createRedoAction(this); redoAction->setShortcut(tr("Shift+Ctrl+Z")); redoAction->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/edit-redo.png")); iniciSolucioAction= new QAction(tr("Inici solució"), this); connect(iniciSolucioAction, SIGNAL(triggered()), this, SLOT(iniciSolucioSlot())); iniciSolucioAction->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/go-first.png")); iniciSolucioAction->setEnabled(false); creditsPrograma= new QAction(tr("Credits"), this); connect(creditsPrograma, SIGNAL(triggered()), this, SLOT(creditsProgramaSlot())); ajudaAction= new QAction(tr("Ajuda"), this); connect(ajudaAction, SIGNAL(triggered()), this, SLOT(ajudaSlot())); webProgramaAction= new QAction(tr("Web del programa"), this); connect(webProgramaAction, SIGNAL(triggered()), this, SLOT(webProgramaSlot())); webProgramaPecesAction= new QAction(tr("Web del tangram"), this); connect(webProgramaPecesAction, SIGNAL(triggered()), this, SLOT(webProgramaPecesSlot())); solucionaJocActual = new QAction(tr("Resol"), this); solucionaJocActual->setIcon(QIcon(directoriLinux()+QDir().separator()+DIRECTORI_IMATGES+"/soluciona.png")); //connect(solucionaJocActual, SIGNAL(triggered()), this, SLOT(solucionaJocActual_Inicia())); connect(solucionaJocActual, SIGNAL(triggered()), this, SLOT(solucionaJocRapid())); //29/05/17 //Només per analitzar el joc // solucionaJocActualForcaBruta = new QAction(tr("Calcula el joc complet"), this); // solucionaJocActualForcaBruta->setIcon(QIcon(directoriLinux()+QDir().separator()+ // DIRECTORI_IMATGES+"/forca-bruta.png")); // connect(solucionaJocActualForcaBruta, SIGNAL(triggered()), this, SLOT(solucionaJoc_ForcaBruta())); agraiment= new QAction(tr("Agraïments"), this); connect(agraiment, SIGNAL(triggered()), this, SLOT(agraimentSlot())); /* 16/10/12 Eliminats veureSolucions= new QAction(tr("Veure solucions"), this); connect(veureSolucions, SIGNAL(triggered()), this, SLOT(veureSolucionsSlot())); */ } void frmPrincipal::creaBarraTasques() { aplicacioToolBar = addToolBar("Solitari"); aplicacioToolBar->setIconSize(QSize(22,22)); aplicacioToolBar->addAction(surtAction); aplicacioToolBar->addAction(reiniciaJocActual); aplicacioToolBar->addAction(pausaAction); /* 07/02/11 aplicacioToolBar->addAction(sugereixMovimentAction); */ aplicacioToolBar->addSeparator(); aplicacioToolBar->addAction(iniciSolucioAction); aplicacioToolBar->addAction(undoAction); aplicacioToolBar->addAction(redoAction); aplicacioToolBar->addSeparator(); aplicacioToolBar->addAction(solucionaJocActual); aplicacioToolBar->addSeparator(); //29/05/17 El métode de força bruta només es fa servir //per analitzar el joc // aplicacioToolBar->addAction(solucionaJocActualForcaBruta); // aplicacioToolBar->addAction(solucionaJocActualRapid); } void frmPrincipal::creaMenus() { aplicacioMenu = menuBar()->addMenu(tr("Programa")); aplicacioMenu->addAction(veureRecordsPersonalsAction); aplicacioMenu->addAction(eliminaRecordsPersonalsAction); /* 16/10/12 Eliminats aplicacioMenu->addSeparator(); aplicacioMenu->addAction(veureSolucions); */ aplicacioMenu->addSeparator(); aplicacioMenu->addAction(surtAction); movimentsMenu= menuBar()->addMenu(tr("&Moviments joc")); movimentsMenu->addAction(undoAction); movimentsMenu->addAction(redoAction); idiomaMenu = new QMenu(tr("Idioma")); menuBar()->addMenu(idiomaMenu); ajudaMenu= new QMenu(tr("Ajuda")); menuBar()->addMenu(ajudaMenu); ajudaMenu->addAction(ajudaAction); ajudaMenu->addAction(creditsPrograma); ajudaMenu->addAction(agraiment); ajudaMenu->addAction(webProgramaAction); ajudaMenu->addAction(webProgramaPecesAction); creaIdiomaMenu(); } /* Suggereix el següent moviment a l'usuari No es fa servir!! És només una idea */ void frmPrincipal::sugereixMovimentSlot(){ // if(rellotgeLabel->rellotgeEnMarxa()){ QStringList movimentsAnteriors; QString darrerMoviment; QStringList movimentsSuggerits; /* for(int j=0;jcount();j++){ movimentsAnteriors.append(QString("%1 %2"). arg(j+1). arg(coordenadesAMoviment(movimentsUndoStack->text(j)))) ; }*/ darrerMoviment.append(coordenadesAMoviment(movimentsUndoStack->text( movimentsUndoStack->index()-1))); carregaConfiguracionsEliminades(); //Cal carregar els moviments possibles de les fitxes taulerJoc->solucionaJocActual_CalculaMovimentsPosibles(); movimentsSuggerits.append( taulerJoc->solucionaJocActual_CarregaMovimentsArbre1(solucioJocActual_configuracionsEliminades, darrerMoviment)); /* qDebug("movimentsSuggerits %d", movimentsSuggerits.count()); qDebug("darrerMoviment %d", darrerMoviment.length()); qCritical("darrerMoviment %s", qPrintable(darrerMoviment)); qDebug("movimentsSuggerits.count() %d", movimentsSuggerits.count()); qCritical("movimentsSuggerits.value(0) %s", qPrintable(movimentsSuggerits.value(0))); */ qDebug("Moviments suggerits %d",movimentsSuggerits.count()); for (int i = 0; i < movimentsSuggerits.count(); ++i) { qCritical("%s", qPrintable(movimentsSuggerits.value(i))); } if (movimentsSuggerits.count()>0){ darrerMoviment.clear(); darrerMoviment.append(movimentsSuggerits.value(qrand() % movimentsSuggerits.count())); //Marcam el moviment seleccionat en el tauler de joc taulerJoc->marcaMoviment(darrerMoviment); qCritical("darrerMoviment %s", qPrintable(darrerMoviment)); } //} } /* Manté el joc en pausa */ void frmPrincipal::pausaJocSlot(){ //Si s'està jugant, s'atura el joc if(rellotgeLabel->rellotgeEnMarxa()){ QProgressDialog pausaProgres(tr("Pausa"), tr("Continua"),0,0 ,this); rellotgeLabel->aturaRellotge(); pausaProgres.setWindowModality(Qt::WindowModal); pausaProgres.setVisible(true); // QString configuracioJoc= taulerJoc->configuracioActual(); qApp->processEvents(); bool continua=true; taulerJoc->setVisible(false); /*18/03/17 Canviat degut als problemes dels fotosensibles*/ while (continua){ // taulerJoc->estatFitxesAtzar(); if (pausaProgres.wasCanceled()){ continua=false; taulerJoc->setVisible(true); // taulerJoc->carregaConfiguracio(configuracioJoc); } qApp->processEvents(); } pausaProgres.close(); rellotgeLabel->iniciaRellotge(); } } /* * Retorna totes les fitxes a la posició inicial del joc * (o fins el moviment passat per paràmetre) */ void frmPrincipal::iniciSolucioSlot(int pmoviment){ /*qDebug("movimentsUndoStack.count() %d",movimentsUndoStack->count()); qDebug("Reinicia*******");*/ if (pmoviment>0){ int contador=0; //while (movimentsUndoStack->canUndo() && movimentsUndoStack->index()> pmoviment ){ while (movimentsUndoStack->canUndo() && contador<= pmoviment ){ movimentsUndoStack->undo(); contador++; } qDebug("retroces iniciSolucio %d",contador); } else{ while (movimentsUndoStack->canUndo() ){ movimentsUndoStack->undo(); } } //Cal assegurar-se que totes les fitxes actives //queden en color blau. taulerJoc->eliminaFitxesVerdes(); taulerJoc->eliminaFitxesVermelles(); statusBar()->clearMessage(); //qDebug("Numero moviments %d", movimentsUndoStack->count()); //iniciSolucioAction->setEnabled(movimentsUndoStack->canUndo()); } void frmPrincipal::iniciSolucioSlotIndex(int index){ while (movimentsUndoStack->canUndo() && movimentsUndoStack->index()> index){ movimentsUndoStack->undo(); } //Cal assegurar-se que totes les fitxes actives //queden en color blau. taulerJoc->eliminaFitxesVerdes(); taulerJoc->eliminaFitxesVermelles(); statusBar()->clearMessage(); //qDebug("Numero moviments %d", movimentsUndoStack->count()); //iniciSolucioAction->setEnabled(movimentsUndoStack->canUndo()); } /* Carrega una solució a partir de la * pila de moviments * (es fa servir en els solitaris personalitzats) */ void frmPrincipal::finalSolucioSlot(bool marcaFinal){ while (movimentsUndoStack->canRedo() ){ movimentsUndoStack->redo();} taulerJoc->marcaFinalDeJoc(taulerJoc->p_tipusMoviment,marcaFinal); // if (marcaFinal){taulerJoc->marcaFinalDeJoc(taulerJoc->p_tipusMoviment,marcaFinal);} } /* Genera el menú de selecció d'idioma de l'aplicació */ void frmPrincipal::creaIdiomaMenu(){ idiomaActionGroup = new QActionGroup(this); connect(idiomaActionGroup, SIGNAL(triggered(QAction *)), this, SLOT(canviaIdioma(QAction *))); QDir dir(directoriLinux()+QDir().separator()+DIRECTORI_LOCALES); QStringList arxiusIdioma = dir.entryList(QStringList("solitari_*.qm")); /* 02/06/12 v. 1.3 * Afegit la càrrega del idioma ja seleccionat */ QString localeSys= QSettings().value("General/idioma",QLocale::system().name()).toString(); for (int i = 0; i < arxiusIdioma.size(); ++i) { QString locale = arxiusIdioma[i]; locale.remove(0, locale.indexOf('_') + 1); locale.truncate(locale.lastIndexOf('.')); QTranslator translator; translator.load(arxiusIdioma[i], directoriLinux()+QDir().separator()+DIRECTORI_LOCALES); QString language =translator.translate("Traduccio","English"); // QAction *action = new QAction(QString("&%1 %2").arg(i + 1).arg(language), this); QAction *action = new QAction(tr("&%1 %2").arg(i + 1).arg(language), this); action->setCheckable(true); action->setData(locale); idiomaMenu->addAction(action); idiomaActionGroup->addAction(action); //if (locale == QLocale::system().name()){ if (locale == localeSys){ action->setChecked(true); //a debian, sense això es carregan les cadenes //originals enlloc de les traduïdes canviaIdioma(action); } } } void frmPrincipal::canviaIdioma(QAction *action){ localePrograma = action->data().toString(); appTranslator->load("solitari_" + localePrograma, directoriLinux()+QDir().separator()+DIRECTORI_LOCALES); qt_translator->load(QLatin1String("qt_") + localePrograma, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); tradueixGUI(); /* 1.3 * Desam el idioma seleccionat */ QSettings().setValue("General/idioma",localePrograma); } void frmPrincipal::resizeEvent ( QResizeEvent * event ){ QSize augment=this->size()-this->minimumSize(); jocFram->resize(QSize(jocFram->minimumSize().width(), jocFram->minimumSize().height()+augment.height())); tabArbres->resize(QSize(tabArbres->minimumSize().width(), tabArbres->minimumSize().height()+augment.height())); arbreModalitatsJocTreeWidget->resize( QSize(arbreModalitatsJocTreeWidget->minimumSize().width(), arbreModalitatsJocTreeWidget->minimumSize().height()+augment.height())); taulerJoc->resize(QSize(taulerJoc->minimumSize()+augment)); } void frmPrincipal::closeEvent(QCloseEvent* event){ QStringList tipusJoc = arbreModalitatsJocTreeWidget->selectedItems().first()->text(1).split(" "); QSettings().setValue("General/modalidadJoc",tipusJoc.value(0)); /*12/03/12 Desam la disposició del formulari */ QSettings().setValue(QString("General/geometry"),saveGeometry()); //Eliminan els arxius de solucions dels solitaris //generats a l'atzar solitariAtzar_eliminaArxiuSolucio(); event->accept(); } void frmPrincipal::creditsProgramaSlot(){ QDate avui=QDate::currentDate () ; QString missatge=QString("

"+tr("Solitari")+ QString(" v. %1

").arg(qApp->applicationVersion())); if (avui.year()==2010){ missatge.append(QString("

© "+QString("2010")+" I. De Marchi
" )); } else { missatge.append(QString("

© "+QString("2010-%1").arg(avui.year())+" I. De Marchi
" )); } missatge.append(QString(tr("Sota llicència GPL 2.0 o posterior")+"
")); missatge.append(QString("%1
").arg(ADRECA_WEB_PROGRAMA_1)); missatge.append(QString("%1
").arg(ADRECA_WEB_PROGRAMA_2)); missatge.append(QString("%1
").arg(ADRECA_CORREU)); QMessageBox::about(this, QString(tr("Credits del %1").arg(qApp->applicationName())),missatge); } void frmPrincipal::webProgramaSlot(){ QDesktopServices::openUrl(ADRECA_WEB_PROGRAMA_1); } void frmPrincipal::webProgramaPecesSlot(){ QDesktopServices::openUrl(ADRECA_WEB_PROGRAMA_PECES); } void frmPrincipal::veureRecordsPersonals(){ if (arbreModalitatsJocTreeWidget->topLevelItemCount()==0){ return;} /* 08/12/2012 *Substituït per un arxiu html: els rècords no hi cabem en *un formulari about * QString missatge=QString("

"+ tr("Marques personals")+"

"); QSettings records; for(int i=0;i<=arbreModalitatsJocTreeWidget->topLevelItemCount()-1;i++){ QStringList tipusJoc = arbreModalitatsJocTreeWidget->topLevelItem(i)->text(1).split(" "); QString record=records.value( QString("%1/record"). arg(tipusJoc.value(0)) , QString("--")).toString(); if( !(record.compare("--")==0)){ missatge.append(QString("
"+arbreModalitatsJocTreeWidget->topLevelItem(i)->text(0)+ " -> "+record)); } // missatge.append(QString("

"+arbreModalitatsJocTreeWidget->topLevelItem(i)->text(0)+ // " -> "+record )) ; } QMessageBox::about(this,QString(tr("Marques personals")),missatge); */ /* Versió HTML * 08/12/12 */ comprovaDirectoriHome(); QString nomArxiu=QDir::homePath (); nomArxiu.append (QDir().separator()); nomArxiu.append (qApp->applicationName()); nomArxiu.append (QDir().separator()); nomArxiu.append (QString("records.html")); QFile arxiu(nomArxiu); QTextStream entrada(&arxiu); //capçalera de l'arxiu if (!arxiu.open(QIODevice::WriteOnly)){return;} entrada<<(QString("")); entrada<<(QString("\n")); entrada<<(QString("")); entrada<<(QString("\n")); entrada<<(QString("
")); entrada<<(QString("\n")); entrada<<(QString("%1").arg(tr("Marques personals"))); entrada<<(QString("\n")); entrada<<(QString("")); entrada<<(QString("\n")); entrada<<(QString("")); entrada<<(QString("\n")); entrada<<(QString("

"+ tr("Marques personals")+"

")); //Ara començam a escriure els rècords QSettings records; int contador=1; for(int i=0;i<=arbreModalitatsJocTreeWidget->topLevelItemCount()-1;i++){ QStringList tipusJoc = arbreModalitatsJocTreeWidget->topLevelItem(i)->text(1).split(" "); QString record=records.value( QString("%1/record"). arg(tipusJoc.value(0)) , QString("--")).toString(); if( !(record.compare("--")==0)){ entrada<<(QString("
%1       "+arbreModalitatsJocTreeWidget->topLevelItem(i)->text(0)+ " -> "+record).arg(contador)); contador++; entrada<<(QString("\n")); } } for(int j=0;j<=arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItemCount()-1;j++){ QStringList tipusJoc = arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItem(j)->text(1).split(" "); QString record=records.value( QString("%1/record"). arg(tipusJoc.value(0)) , QString("--")).toString(); if( !(record.compare("--")==0)){ entrada<<(QString("
%1       "+arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItem(j)->text(0)+ " -> "+record).arg(contador)); contador++; entrada<<(QString("\n")); } } //tancam l'arxiu entrada<<(QString("
")); entrada<<(QString("")); arxiu.close(); //Mostram l'arxiu QDesktopServices::openUrl(QUrl("file:///"+nomArxiu, QUrl::TolerantMode)); /* QTextEdit *texte = new QTextEdit (missatge ); texte->setReadOnly(true); QDockWidget *recordsPersonalsDockWidget = new QDockWidget(tr("Marques personals")); recordsPersonalsDockWidget->setWidget(texte); recordsPersonalsDockWidget->setMinimumSize(400,300); recordsPersonalsDockWidget->move(QPoint(this->pos().x()+50,this->pos().y()+200)); //solucionsDockWidget->setAllowedAreas(Qt::NoDockWidgetArea); addDockWidget(Qt::BottomDockWidgetArea, recordsPersonalsDockWidget); //addDockWidget(Qt::NoDockWidgetArea, solucionsDockWidget); recordsPersonalsDockWidget->setFloating(false); */ } /* Elimina tots els records personals */ void frmPrincipal::eliminaRecordsPersonals(){ QMessageBox missatgeBox; missatgeBox.setText(tr("Elimina les marques personals")); missatgeBox.setInformativeText(tr("De debó voleu eliminar les vostres marques?")); missatgeBox.setIcon(QMessageBox::Question); missatgeBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); missatgeBox.setDefaultButton(QMessageBox::No); if(missatgeBox.exec()==QMessageBox::Yes){ /* 21/09/16 Aqui es mantenia el sistema antic amb els rècords * a l'arxiu .ini i eliminava tota la informació de l'arxiu * No estava actualitzat al nou sistema amb l'arxiu .html */ comprovaDirectoriHome(); QString nomArxiu=QDir::homePath (); nomArxiu.append (QDir().separator()); nomArxiu.append (qApp->applicationName()); nomArxiu.append (QDir().separator()); nomArxiu.append (QString("records.html")); QFile arxiu(nomArxiu); arxiu.remove(); qApp->processEvents(); /* Eliminan les marques de l'arxiu de configuració El 100000 és una mica passat */ for(int i=0 ; i<50000;++i){ QSettings records; records.remove(QString("%1/record").arg(i)); } /*Recarregam els arbres de jocs per eliminar els *icones de marques*/ carregaArbreModalitatsJoc(); carregaArbreModalitatsJocPersonalitzats(); } } void frmPrincipal::ajudaSlot(){ QDir dirArxiu; QString directori=directoriLinux()+ QDir().separator()+ DIR_HELP+ QDir().separator()+ "index.html";//això no funciona "#es_ES";//+QLocale::system().name(); //qCritical("%s", qPrintable(directori)); if (dirArxiu.exists(directori)){ //Això evita problemes amb els espais als noms dels directoris QDesktopServices::openUrl(QUrl("file:///"+directori+"#"+localePrograma, QUrl::TolerantMode)); } else QDesktopServices::openUrl(QUrl("file:///"+directoriLinux()+ QDir().separator()+ DIR_HELP+ QDir().separator()+ "index.html", QUrl::TolerantMode)); } /* 01/12/12 Mostra l'arxiu html amb els agraïments */ void frmPrincipal::agraimentSlot(){ QDesktopServices::openUrl(QUrl("file:///"+directoriLinux()+ QDir().separator()+ DIR_HELP+ QDir().separator()+ "index.html", QUrl::TolerantMode)); } /* Comprova si existeixen moviments possibles */ bool frmPrincipal::comprovaExisteixenMovimentsPossibles(){ taulerJoc->solucionaJocActual_CalculaMovimentsPosibles(); solucionaJocActual_movimentsPosiblesActuals.clear(); solucionaJocActual_movimentsPosiblesActuals.append( taulerJoc->solucionaJocActual_CarregaMovimentsArbre1(solucionaJocActual_movimentsEliminats, solucionaJocActual_darrerMoviment)); return solucionaJocActual_movimentsPosiblesActuals.count()>0; } void frmPrincipal::solucionaJocActual_Inicia(){ /*if (!rellotgeLabel->rellotgeEnMarxa()){ rellotgeLabel->estableixTemps(QString("00:00:00")); rellotgeLabel->iniciaRellotge(); }*/ QApplication::setOverrideCursor(Qt::WaitCursor); statusBar()->clearMessage(); solucionaJocActual_ControlJocPersonalitzatModificat(); jocResolt=0; taulerJoc->solucionaJocActual_CalculaMovimentsPosibles(); if(taulerJoc->solucionaJocActual_MovimentsPosiblesActuals()<0){ return; } /*Si ja hi ha moviments fets, llavors es "conservan" i es busca la solució a partir de la situació actual*/ if(movimentsUndoStack->count()>0){ retrocedeixMoviment=movimentsUndoStack->index(); //cercaSolucioAPartirDeMovimentsInicials=true; solucionaJocActual_movimentsJaRealitzats.clear(); iniciSolucioSlot(); // solucioJocActual_configuracioInicial.append(taulerJoc->configuracioActual(true)); while (movimentsUndoStack->canRedo()){ solucionaJocActual_darrerMoviment=QString("%1 ").arg(movimentsUndoStack->index()+1); solucionaJocActual_darrerMoviment.append( coordenadesAMoviment(movimentsUndoStack->text(movimentsUndoStack->index()))); solucionaJocActual_movimentsJaRealitzats.append(solucionaJocActual_darrerMoviment); movimentsUndoStack->redo(); } } else { //06/02/13 nou prod. actualitzaConfiguracionsInicials(); //solucioJocActual_configuracioInicial.clear(); //solucioJocActual_configuracioInicial.append( // taulerJoc->configuracioActual(true)); retrocedeixMoviment=0; movimentsUndoStack->clear(); } // solucioJocActual_configuracioInicial.append(taulerJoc->configuracioActual(true)); solucioJocActual_configuracionsEliminades.clear(); solucioJocActual_configuracionsEliminadesPerDesar.clear(); solucionaJocActual_movimentsPosiblesActuals.clear(); carregaConfiguracionsEliminades(); // movimentsUndoStack->clear(); solucionaJocActual_CarregaMovimentsInicialsArbre(); // qApp->processEvents(); } void frmPrincipal::solucionaJocActual_ControlJocPersonalitzatModificat(){ if( (taulerJoc->solitariPersonalitzat() ) || (taulerJoc->solitariModificat() )){ /* S'eliminen les solucions de l'arbre per evitar que * s'afegeixin a l'arxiu de solucions del nou * solitari (personal o modificat) */ // arbreSolucionsTreeWidget->clear(); solucionsTrobades.clear(); carregaSolucions(); // veureSolucionsSlot(); taulerJoc->setModalitatJocActual(seguentCodiSolitariPersonalitzat); } } void frmPrincipal::solucionaJocActual_CarregaMovimentsInicialsArbre(){ rellotgeLabel->iniciaRellotge(); solucionaJocActual_comencaRecerca(); QApplication::setOverrideCursor(Qt::ArrowCursor); } void frmPrincipal::solucionaJocActual_comencaRecerca(){ // qDebug("sistema versio 2.1"); /*Això és pel problema a windows en què si es mou * la finestra de diàleg, llavors s'atura la cerca però * no el rellotge*/ //int numeroDeMovimentsJocInicial=taulerJoc->numeroDeMovimentsJoc(); //qDebug("numeroDeMovimentsJocInicial %d", numeroDeMovimentsJocInicial); //11/06/17 Eliminat tot i què quan es mou el diàleg a windows //s'atura el joc però no el rellotge // #if defined(Q_OS_WIN32) // QProgressDialog progres(tr("Cercant solució"), tr("Atura"), 0, // taulerJoc->numeroDeMovimentsJoc(),this, // Qt::FramelessWindowHint); // #else //S'ha posat aquest +1 al num.màx. per evitar problemes amb //els jocs que tenen el final marcat QProgressDialog progres(tr("Cercant solució"), tr("Atura"), 0, //taulerJoc->numeroDeMovimentsJoc(),this); taulerJoc->numeroDeMovimentsJoc()+1,this); //taulerJoc->comptadorFitxesJoc,this); /* 21/06/12 * Posar això altra (per les modalitats amb final marcat) * causa problemes amb el progress */ // taulerJoc->numeroDeMovimentsJoc() ,this); // #endif progres.setWindowModality(Qt::WindowModal); //Això quasi sempre és cert degut a què //s'ha carregat (parcialment) alguna solució if (movimentsUndoStack->index()>0){ progres.setValue(movimentsUndoStack->index()-1);} //qDebug("movimentsUndoStack if %d",movimentsUndoStack->index()-1);} //return;} //qDebug("movimentsUndoStack inici %d",movimentsUndoStack->index()-1); //progres.setValue(0); progres.setVisible(true); progres.setLabelText(missatgeNumeroMoviments()); qApp->processEvents(); int numMovimentsPerReiniciar=taulerJoc->numeroDeMovimentsJoc()*3; int numeroFitxesMajorConfigEliminada=0; int numeroMovimentsProvats=0; int contadorSenseMoviments=0; int maximNombreIntentsSenseMoviment=400;//qMin(taulerJoc->numeroDeMovimentsJoc()*4,200); bool reinicia=false; //int contador=0; while (jocResolt !=2){ /*Calcul i selecció dels moviments que es poden realitzar * segons la seva prioritat i els conserva a solucionaJocActual_movimentsPosiblesActuals */ if (comprovaExisteixenMovimentsPossibles()){ // qDebug("Hi ha moviments possibles"); } //contador++; //qDebug("contador %d", contador); QString configAct=taulerJoc->configuracioActual(); /*Aquesta condició és decisiva en el sistema de recerca de sol. *Afegida la condició del número de moviments del joc *degut a les modalitats amb un número de fitxes finals *major a 1 */ if (solucionaJocActual_movimentsPosiblesActuals.count()==0){contadorSenseMoviments++; //qDebug("contadorSenseMoviments %d",contadorSenseMoviments); } /* Si es compleixen les condicions per fer un moviment, es fa*/ if ((solucionaJocActual_movimentsPosiblesActuals.count()>0) && (jocResolt ==0) && !(solucioJocActual_configuracionsEliminades.contains(configAct)) /*aquest procediment no és eficient amb les modalitats inverses. Es retorna sempre false en aquestes modalitats 25/01/13 */ && !(taulerJoc->solucionaJocActual_FitxesAillades2()) && ( (movimentsUndoStack->index()-1)numeroDeMovimentsJoc()) && ( taulerJoc->ocuparFitxesFinalJoc() ) ){ int numeroItem=0; // qDebug("solucionaJocActual_movimentsPosiblesActuals %d",solucionaJocActual_movimentsPosiblesActuals.count()); /*Si hi ha més d'un moviment propossat, elegim un a l'atzar*/ if (solucionaJocActual_movimentsPosiblesActuals.count()>1){ //rellotgeQTime s'ha posat al principi del programa. És vigent per cada fil! qsrand(rellotgeQTime.msecsTo(QTime::currentTime())); numeroItem=qrand() % (solucionaJocActual_movimentsPosiblesActuals.count()); } /*Executam el moviment seleccionat*/ QStringList movimentsItem= QStringList(solucionaJocActual_movimentsPosiblesActuals.value( numeroItem).split(" ")); taulerJoc->ferMoviment(movimentsItem.value(0).toInt() ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); // qDebug("executat moviment! %d", numeroMovimentsProvats); ++numeroMovimentsProvats; progres.setValue(movimentsUndoStack->index()-1); progres.setLabelText(missatgeNumeroMoviments(taulerJoc->numeroDeMovimentsJoc())); qApp->processEvents(); solucionaJocActual_darrerMoviment=QString("%1 ").arg(movimentsUndoStack->index()); solucionaJocActual_darrerMoviment.append( solucionaJocActual_movimentsPosiblesActuals.value(numeroItem)); solucionaJocActual_movimentsJaRealitzats.append( solucionaJocActual_darrerMoviment); //qCritical("%s", qPrintable(solucionaJocActual_darrerMoviment)); } /* No es compleixen les condicions per fer un moviment*/ else { /* Hi ha moviments fets*/ if (movimentsUndoStack->index() !=0 ){ jocResolt=0; taulerJoc->eliminaFitxesVermelles(); // QString configAct=taulerJoc->configuracioActual(); numeroFitxesMajorConfigEliminada=qMax(numeroFitxesMajorConfigEliminada, numeroConfiguracio(configAct)); /* 09/02/13 Afegida la condició del 5 degut a què * s'afegien configuracions de final de joc */ /* S'afageix la posició actual de les fitxes en les configuracions eliminades * i es farà reiniciar el joc */ if ( (!solucioJocActual_configuracionsEliminades.contains(configAct)) && !configAct.contains("5")){ /* Aqui cal eliminar les configuracions posteriors de * solucioJocActual_configuracionsEliminades */ solucionaJocActual_eliminaConfiguracionsPosteriors(configAct); if( !solucioJocActual_configuracionsEliminadesPerDesar.contains(configAct)){ solucioJocActual_configuracionsEliminadesPerDesar.append(configAct); } solucioJocActual_configuracionsEliminades.prepend(configAct); reinicia=true; } if ( (solucionaJocActual_movimentsEliminats.indexOf(solucionaJocActual_darrerMoviment)==-1 ) && !(solucionaJocActual_darrerMoviment.isEmpty()) ){ solucionaJocActual_eliminaMovimentsPosteriors(); solucionaJocActual_movimentsEliminats.append(solucionaJocActual_darrerMoviment); } /* Es tornen enrrera el nombre de moviments seleccionats a l'atzar */ int contadorMovimentsRevertits=0; int movimentsARevertir=qrand() % 4; //(qMin(taulerJoc->comptadorFitxesJoc,4)); // qrand() % 5; while (contadorMovimentsRevertits< movimentsARevertir){ movimentsUndoStack->undo(); contadorMovimentsRevertits++; /* qDebug("contadorMovimentsRevertits %d", contadorMovimentsRevertits);*/ /* qDebug("movimentsUndoStack %d", movimentsUndoStack->count());*/ progres.setValue(movimentsUndoStack->index()-1); progres.setLabelText(missatgeNumeroMoviments(taulerJoc->numeroDeMovimentsJoc())); if (solucionaJocActual_movimentsJaRealitzats.size()>0){ solucionaJocActual_movimentsJaRealitzats.removeAt (solucionaJocActual_movimentsJaRealitzats.size()-1); } qApp->processEvents(); } solucionaJocActual_darrerMoviment=solucionaJocActual_movimentsJaRealitzats.value( solucionaJocActual_movimentsJaRealitzats.size()-contadorMovimentsRevertits); /* S'aplica el procediment més lent de la versió 2.0*/ if (cercaSolucioAPartirDeMovimentsInicials && // (contadorSenseMoviments>maximNombreIntentsSenseMoviment) && ( reinicia ) && retrocedeixMoviment != 0 && ((numeroMovimentsProvats % numMovimentsPerReiniciar) == 0) ){ contadorSenseMoviments=0; maximNombreIntentsSenseMoviment--; /* Es retorna a la posició de fitxes inicials*/ int contadorRetroces=0; while (movimentsUndoStack->canRedo() && contadorRetrocesundo(); contadorRetroces++; progres.setValue(movimentsUndoStack->index()-1); progres.setLabelText(missatgeNumeroMoviments(taulerJoc->numeroDeMovimentsJoc())); if (solucionaJocActual_movimentsJaRealitzats.size()>0){ solucionaJocActual_movimentsJaRealitzats.removeAt (solucionaJocActual_movimentsJaRealitzats.size()-1); } qApp->processEvents(); } /* iniciSolucioSlot(); solucionaJocActual_movimentsJaRealitzats.clear(); solucionaJocActual_darrerMoviment.clear();*/ progres.setValue(0); progres.setLabelText(missatgeNumeroMoviments(taulerJoc->numeroDeMovimentsJoc())); reinicia=false; // qDebug("procediment 2.0"); } /*S'aplica el nou procediment més ràpid de la versió 2.1 *(que no conserva els moviments inicials)*/ else if ((!cercaSolucioAPartirDeMovimentsInicials) && (contadorSenseMoviments>maximNombreIntentsSenseMoviment) ){ //qDebug("/* Càrrega de nova solució */"); contadorSenseMoviments=0; /* Cada vegada que es carregui de nou una solució, * la pròxima es farà més aviat*/ maximNombreIntentsSenseMoviment--; maximNombreIntentsSenseMoviment=qMax(maximNombreIntentsSenseMoviment,30); // qDebug("maximNombreIntentsSenseMoviment %d", maximNombreIntentsSenseMoviment); iniciSolucioSlot(); solucionaJocActual_movimentsJaRealitzats.clear(); solucionaJocActual_darrerMoviment.clear(); progres.setValue(0); progres.setLabelText(missatgeNumeroMoviments(taulerJoc->numeroDeMovimentsJoc())); /* carrega d'una nova solució*/ solucionaJocActual_carregaSolucio1(); // qDebug("procediment 2.1"); //reinicia=false; } //} }//final if movimentsUndoStack->index() !=0 else{ //movimentsUndoStack->index() ==0 progres.cancel(); //27/01/11 //Això pot ésser que millori el tema dels problemes //en què el programa no aconsegueix trobar la solució solucionaJocActual_movimentsEliminats.clear(); statusBar()->showMessage(tr("No ha estat possible trobar una solució!")); /*04/02/11 Pareix que això disminueix la freqüència en què el programa no aconsegueix trobar la solució al joc */ eliminaArxiuConfgEliminades(); // desaConfiguracionsEliminades(); /* 06/02/11 Això evita que no es trobi una solució Continuam amb la recerca de solució */ if (intentsSolucio<4){ //qDebug("Intents de solució %d",intentsSolucio ); //Algunes vegades, el rellotge es queda aturat //Això ho soluciona? rellotgeLabel->reIniciaRellotge(); //qDebug("intentsSolucio %d", intentsSolucio); intentsSolucio++; movimentsUndoStack->clear(); //iniciSolucioSlot(); solucionaJocActual_movimentsEliminats.clear(); solucionaJocActual_Inicia(); } /*En el cas del solitaris generats a l'atzar *si no troba solució, forçam la càrrega de la solució *(la condició és necessària degut al plantejament de "problemes" *d'altres modalitats de solitari) */ else if ( solitariAtzar_esAtzar( arbreModalitatsJocTreeWidget->selectedItems().first()->text(1)) ){ //Seleccionam un ítem de solució a l'atzar qsrand(rellotgeQTime.msecsTo(QTime::currentTime())); int itemSeleccionat= qrand() % arbreSolucionsTreeWidget->topLevelItemCount(); QTreeWidgetItem *item= arbreSolucionsTreeWidget-> topLevelItem(itemSeleccionat); arbreSolucionsTreeWidget->setCurrentItem(item); carregaSolucio1(); rellotgeLabel->aturaRellotge(); } rellotgeLabel->aturaRellotge(); return; } } if (progres.wasCanceled()){ rellotgeLabel->aturaRellotge(); desaConfiguracionsEliminades(1); solucionaJocActual_movimentsJaRealitzats.clear(); solucionaJocActual_movimentsEliminats.clear(); break;} }//final while inicial /* S'ha trobat una solució*/ if (jocResolt==2){ rellotgeLabel->aturaRellotge(); //qDebug("contadorSenseMoviments %d",contadorSenseMoviments); progres.cancel(); desaSolucions(); // qDebug("num conf eliminades %d", solucioJocActual_configuracionsEliminades.count()); // qCritical("temps %s ", qPrintable(rellotgeLabel->retornaTemps(1))); desaConfiguracionsEliminades(1); solucionaJocActual_movimentsJaRealitzats.clear(); solucionaJocActual_movimentsEliminats.clear(); retrocedeixMoviment=0; veureSolucionsSlot(); intentsSolucio=0; /* Si es tracta d'un solitari personalitzat * o bé és un joc modificat (de l'arbre de jocs * del programa o de l'arbre de jocs personalitzats) * es desen les dades */ solucioJocActual_desarJocPersonalitzat(); // if( (solitariPersonalitzat_esPersonalitzat( // arbreModalitatsJocTreeWidget->selectedItems().first()->text(1)) // && arbreJocsActual()==0 ) // || ( taulerJoc->solitariPersonalitzat() ) || // ( taulerJoc->solitariModificat() ) ){ // //){ // // && (tipusJocActual==0 || arbreJocsActual()==1 ) ){ // solitariPersonalitzat_desarSolitari(); // } //Comentar les 3 següents linies per evitar la repetició de recerca de solució /* iniciSolucioSlot(); if(taulerJoc->estatDelJoc()==solucio){movimentsUndoStack->clear();} solucionaJocActual_Inicia();*/ return; }//final if jocResolt==2 } //Desa les dades del joc personalitzat/modificat a l'arxiu games_per.dat //i l'afageix a l'arbre de jocs personalitzats void frmPrincipal::solucioJocActual_desarJocPersonalitzat(){ if( (solitariPersonalitzat_esPersonalitzat( arbreModalitatsJocTreeWidget->selectedItems().first()->text(1)) && arbreJocsActual()==0 ) || ( taulerJoc->solitariPersonalitzat() ) || ( taulerJoc->solitariModificat() ) ){ //){ // && (tipusJocActual==0 || arbreJocsActual()==1 ) ){ solitariPersonalitzat_desarSolitari(); } } void frmPrincipal::solucionaJocActual_eliminaMovimentsPosteriors(){ QStringList *darrerMoviment =new QStringList(solucionaJocActual_darrerMoviment.split(" ")); QStringList *darrerMovimentEliminat=new QStringList(solucionaJocActual_movimentsEliminats.value( solucionaJocActual_movimentsEliminats.size()-1).split(" ")); while (darrerMovimentEliminat->value(0).toInt()>darrerMoviment->value(0).toInt()){ solucionaJocActual_movimentsEliminats.removeAt(solucionaJocActual_movimentsEliminats.size()-1); darrerMovimentEliminat->clear(); darrerMovimentEliminat->append(solucionaJocActual_movimentsEliminats.value( solucionaJocActual_movimentsEliminats.size()-1).split(" ")); } delete(darrerMoviment); delete(darrerMovimentEliminat); } void frmPrincipal::solucionaJocActual_eliminaConfiguracionsPosteriors(QString config){ if (solucioJocActual_configuracionsEliminadesPerDesar.count()==0){ return;} int numConfiguracio=numeroConfiguracio(config); if(taulerJoc->p_tipusMoviment !=2){ while ( (numeroConfiguracio(solucioJocActual_configuracionsEliminadesPerDesar.value( solucioJocActual_configuracionsEliminadesPerDesar.count()-1))0) ){ solucioJocActual_configuracionsEliminadesPerDesar.removeLast();} } else{ while ( (numeroConfiguracio(solucioJocActual_configuracionsEliminadesPerDesar.value( solucioJocActual_configuracionsEliminadesPerDesar.count()-1))>numConfiguracio) && (solucioJocActual_configuracionsEliminadesPerDesar.count()>0) ){ solucioJocActual_configuracionsEliminadesPerDesar.removeLast();} } } /*Retorna el nombre de fitxes del joc*/ int frmPrincipal::solucionaJocActual_numeroDeFitxesDelJoc(){ QString configActual=taulerJoc->configuracioActual(true); int numeroFitxesJoc; if (taulerJoc->p_tipusMoviment==2){ numeroFitxesJoc=configActual.count("0")+movimentsUndoStack->count(); } else numeroFitxesJoc=configActual.count("1")+movimentsUndoStack->count(); return numeroFitxesJoc; } void frmPrincipal::solucionaJocActual_RecercaIterativa_ExhaustivaInici(int numFitxesInicialsJoc, int mantenirMoviment){ // qDebug("RecercaIterativa_ExhaustivaInici 2.1"); //Cal saber si és un joc personalitzat solucionaJocActual_ControlJocPersonalitzatModificat(); /*eliminam l'arxiu de moviments .movi per fer el seguiment del joc*/ //eliminaArxiuMovimentsJoc(); qApp->processEvents(); QProgressDialog *progresRecercaExahustiva =new QProgressDialog(this);; progresRecercaExahustiva->setLabelText(tr("Cercant solució")); progresRecercaExahustiva->setCancelButtonText(tr("Atura")); progresRecercaExahustiva->setMinimum(0); // progresRecercaExahustiva->setMaximum(taulerJoc->numeroDeMovimentsJoc()+retrocedeixMoviment); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); progresRecercaExahustiva->setParent(this); qApp->processEvents(); progresRecercaExahustiva->setWindowModality(Qt::WindowModal); progresRecercaExahustiva->setVisible(true); rellotgeLabel->iniciaRellotge(); qApp->processEvents(); int intentsSolucio=0; int numeroMaximDeIntents=500; while( (jocResolt !=2) && (!progresRecercaExahustiva->wasCanceled()) && (intentsSoluciop_tipusMoviment==3){ //Especial Solitari Estrella if(numFitxesInicialsJoc==23 || numFitxesInicialsJoc<15){ // qDebug("diagonal"); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); taulerJoc->solucionaJocActual_CalculaArbreJoc(progresRecercaExahustiva, numFitxesInicialsJoc, mantenirMoviment);} else { //Això és una mica estrany, però evita un problema amb el joc Anglès Antic //amb final marcat // qDebug("sdsds"); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); solucionaJocActual_RecercaIterativa_Exhaustiva1(progresRecercaExahustiva, numFitxesInicialsJoc); } } //Jocs amb final marcat que no es poden resoldre sense carregar solucions //(només son un parell jocs!) else if (taulerJoc->jocAmbFinalMarcat()>10){ // qDebug("aqui 2"); taulerJoc->maximNombreDeProves=1000; progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); taulerJoc->solucionaJocActual_CalculaArbreJocComplet_Selectiu(progresRecercaExahustiva, numFitxesInicialsJoc, mantenirMoviment); taulerJoc->jocsRealitzats=0; taulerJoc->continuar=true; } //Jocs amb final marcat amb menys de 10 fitxes finals //i més d'una (no es fa servir) else if (taulerJoc->jocAmbFinalMarcat()<=10 && taulerJoc->jocAmbFinalMarcat()>1 ){ // qDebug("aqui 1"); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); solucionaJocActual_RecercaIterativa_Exhaustiva1(progresRecercaExahustiva, numFitxesInicialsJoc); } else if ( ((numFitxesInicialsJoc>20 && numFitxesInicialsJoc<=28) //28 || (numFitxesInicialsJoc<16)) && (taulerJoc->jocAmbFinalMarcat()==0) ){ //això funciona! // qDebug("sense final marcat"); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); taulerJoc->solucionaJocActual_CalculaArbreJoc(progresRecercaExahustiva, numFitxesInicialsJoc, mantenirMoviment); } //La majoria de jocs de tipus clàssic i europeu //Inclou els jocs amb 1 fitxa final marcada else if ( (numFitxesInicialsJoc>15 && numFitxesInicialsJoc<40) || (taulerJoc->jocAmbFinalMarcat()>0)){ // qDebug("aqui"); if(numFitxesInicialsJoc<=35){//25 taulerJoc->maximNombreDeProves=1000;} progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); taulerJoc->solucionaJocActual_CalculaArbreJocComplet_Selectiu(progresRecercaExahustiva, numFitxesInicialsJoc, mantenirMoviment); // qDebug("jocsRealitzats %d", taulerJoc->jocsRealitzats); taulerJoc->jocsRealitzats=0; taulerJoc->continuar=true; } //Jocs amb més de 40 moviments else solucionaJocActual_RecercaIterativa_Exhaustiva1(progresRecercaExahustiva, numFitxesInicialsJoc); }//final while if (jocResolt==2){ progresRecercaExahustiva->cancel(); progresRecercaExahustiva->setVisible(false); rellotgeLabel->aturaRellotge(); // qCritical("%s",qPrintable(rellotgeLabel->retornaTemps(1))); qApp->processEvents(); desaSolucions1(); // retrocedeixMoviment=0; veureSolucionsSlot(); /* Si es tracta d'un solitari personalitzat * o bé és un joc modificat (de l'arbre de jocs * del programa o de l'arbre de jocs personalitzats) * es desen les dades */ solucioJocActual_desarJocPersonalitzat(); } else { if(retrocedeixMoviment>0){ //Retorna las fitxes a la posició inicial movimentsUndoStack->setIndex(retrocedeixMoviment); } //Un darrer intent de resoldre el joc carregant solucions if(!progresRecercaExahustiva->wasCanceled()){ progresRecercaExahustiva->cancel(); if(comprovaArxiuDeSolucions()){ retrocedeixMoviment=0; solucionaJocActual_carregaSolucio(); solucionaJocActual_Inicia(); } else { rellotgeLabel->aturaRellotge(); statusBar()->showMessage(tr("No ha estat possible trobar una solució!")); } } else { rellotgeLabel->aturaRellotge(); progresRecercaExahustiva->cancel(); statusBar()->showMessage(tr("No ha estat possible trobar una solució!")); } } } // Finalment, no es fa servir //void frmPrincipal::solucionaJocActual_RecercaIterativa_Exhaustiva(QProgressDialog *progres, int profunditat, // int numeroInicialFitxesJoc, // variables_recerca_solucio variablesSolucio){ // /* Carregam els moviments inicials*/ // profunditat++; //// taulerJoc->solucionaJocActual_CalculaMovimentsPosibles(); // QStringList solucionaJocActual_movimentsPosiblesActuals1; // /* Carregam els moviments seleccionats per la posició actual de les fitxes*/ // if(taulerJoc->p_tipusMoviment==3 && taulerJoc->numeroDeMovimentsJoc()>30){ // solucionaJocActual_movimentsPosiblesActuals1.append( // taulerJoc->solucionaJocActual_CarregaMovimentsArbre4(numeroInicialFitxesJoc)); //// taulerJoc->solucionaJocActual_CarregaMovimentsArbre2(numeroInicialFitxesJoc,variablesSolucio)); // } // /*Solitari estrella*/ // else if(taulerJoc->p_tipusMoviment==3 && taulerJoc->numeroDeMovimentsJoc()<=30){ // solucionaJocActual_movimentsPosiblesActuals1.append( // taulerJoc->solucionaJocActual_CarregaMovimentsArbre3(numeroInicialFitxesJoc,variablesSolucio)); // } // else if (taulerJoc->numeroDeMovimentsJoc()<15){ // solucionaJocActual_movimentsPosiblesActuals1.append( // taulerJoc->solucionaJocActual_CarregaMovimentsArbre2(numeroInicialFitxesJoc,variablesSolucio)); // } // else solucionaJocActual_movimentsPosiblesActuals1.append( // taulerJoc->solucionaJocActual_CarregaMovimentsArbre2(numeroInicialFitxesJoc,variablesSolucio)); // if(jocResolt == 2){ // qDebug("El joc està resolt"); // progres->cancel(); // } // else { // /*Fins que el joc no estigui resolt o bé s'aturi la recerca, es repeteix el mateix // * procediment*/ // while ( (jocResolt != 2) // && (solucionaJocActual_movimentsPosiblesActuals1.count()>0) // && (!progres->wasCanceled()) // ){ // bool fetMoviment=false; // int contadorMoviments=0; // for(int i=0;iwasCanceled()) ){ // if (i==0 ){ // fetMoviment=taulerJoc->ferMoviment2(movimentsItem.value(0).toInt() // ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); // } // else if ( // (taulerJoc->numeroDeMovimentsJoc()>15 && movimentsUndoStack->index()<40) //movimentsUndoStack->index()<28) // ){ // fetMoviment=taulerJoc->ferMoviment2(movimentsItem.value(0).toInt() // ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); // } // /*Eliminam el moviment que no funciona (per evitar la repetició)*/ // if(fetMoviment ){ // contadorMoviments++; // if (i==0 ){ // solucionaJocActual_movimentsPosiblesActuals1. // removeAt((movimentSeleccionat+i) % solucionaJocActual_movimentsPosiblesActuals1.count()); // } // else if (taulerJoc->numeroDeMovimentsJoc()>15 && movimentsUndoStack->index()<40) // { // solucionaJocActual_movimentsPosiblesActuals1. // removeAt((movimentSeleccionat+i) % solucionaJocActual_movimentsPosiblesActuals1.count()); // } // } // } // progres->setValue(movimentsUndoStack->count()); // progres->setLabelText(missatgeNumeroMoviments(progres->maximum())); // qApp->processEvents(); // } // //qDebug("contador %d", contadorMoviments); // /*Si el joc segueix sense està resolt i no s'ha cancel·lat la recerca // * es segueix amb la recerca iterativa*/ // if( (jocResolt != 2) && (!progres->wasCanceled()) ){ // solucionaJocActual_RecercaIterativa_Exhaustiva(progres, profunditat,numeroInicialFitxesJoc,variablesSolucio); // } // /*Si el codi torna aquí, llavors tornam enrera el moviment*/ // if( (jocResolt != 2) && (!progres->wasCanceled())){ // for(int i=0;iundo(); // } //// movimentsUndoStack->undo(); // progres->setValue(movimentsUndoStack->index()); // progres->setLabelText(missatgeNumeroMoviments(progres->maximum())); // qApp->processEvents(); // } // /*Si no queden més moviments per provar, cancel·lam la recerca*/ //// if(solucionaJocActual_movimentsPosiblesActuals1.count()<1){ //// //qDebug("Joc cancelat per manca de moviments*****"); //// //progres->cancel(); //// } // if (progres->wasCanceled()){ // rellotgeLabel->aturaRellotge(); // qApp->processEvents(); // break;} // }//final del while ///*El joc està resolt. Asseguram que el progres queda tancat*/ // if(jocResolt == 2){ // //qDebug("El joc està resolt"); // progres->cancel(); // } // } //} void frmPrincipal::solucionaJocActual_RecercaIterativa_Exhaustiva1(QProgressDialog *progres, int numeroFitxesJoc){ /* Carregam els moviments inicials*/ QStringList solucionaJocActual_movimentsPosiblesActuals1; /* Carregam els moviments seleccionats per la posició actual de les fitxes*/ solucionaJocActual_movimentsPosiblesActuals1.append( taulerJoc->solucionaJocActual_CarregaMovimentsArbre4(numeroFitxesJoc)); /*Fins que el joc no estigui resolt o bé s'aturi la recerca, es repeteix el mateix * procediment*/ while ( (jocResolt != 2) && (solucionaJocActual_movimentsPosiblesActuals1.count()>0) && (!progres->wasCanceled() /*&& taulerJoc->ocuparFitxesFinalJoc()*/) ){ /*Seleccionam un dels moviments i el realitzam*/ // int movimentSeleccionat=0; int movimentSeleccionat=qrand() % solucionaJocActual_movimentsPosiblesActuals1.count(); QStringList movimentsItem=QStringList(solucionaJocActual_movimentsPosiblesActuals1 .value((movimentSeleccionat) % solucionaJocActual_movimentsPosiblesActuals1.count()).split(" ")); bool movimentFet=taulerJoc->ferMoviment2(movimentsItem.value(0).toInt() ,movimentsItem.value(1).toInt(),movimentsItem.value(2).toInt()); // if(movimentFet){ solucionaJocActual_movimentsPosiblesActuals1. removeAt((movimentSeleccionat) % solucionaJocActual_movimentsPosiblesActuals1.count());/*}*/ // progres->setValue(movimentsUndoStack->count()); if(movimentsUndoStack->index()maximum()){ progres->setValue(movimentsUndoStack->index()); progres->setLabelText(missatgeNumeroMoviments(progres->maximum())); } // progres->setLabelText(missatgeNumeroMoviments(numeroFitxesJoc-1)); qApp->processEvents(); /*Si el joc segueix sense estar resolt i no s'ha cancel·lat la recerca * es segueix amb la recerca iterativa*/ if( (jocResolt != 2) && (!progres->wasCanceled()) ){ solucionaJocActual_RecercaIterativa_Exhaustiva1(progres, numeroFitxesJoc); } /*Si el codi torna aquí, llavors tornam enrera el moviment*/ if( (jocResolt != 2) && (!progres->wasCanceled()) && movimentFet){ movimentsUndoStack->undo(); // progres->setValue(movimentsUndoStack->count()); // progres->setValue(movimentsUndoStack->index()); // progres->setLabelText(missatgeNumeroMoviments(progres->maximum())); qApp->processEvents(); } if (progres->wasCanceled()){ // progres->setVisible(false); rellotgeLabel->aturaRellotge(); qApp->processEvents(); break;} }//final del while /*El joc està resolt. Asseguram que el progrés queda tancat*/ if(jocResolt == 2){ //qDebug("El joc està resolt"); // progres->setVisible(false); progres->cancel(); } } //variables_recerca_solucio frmPrincipal::solucioJocActual_carregaVariablesCercaSolucio(int numeroInicialFitxesJoc){ // variables_recerca_solucio variablesRecercaSolucio; // if(taulerJoc->p_tipusMoviment==3){ //moviment diagonal // variablesRecercaSolucio.maximNumeroDeConjunts=6; // variablesRecercaSolucio.maximNumeroDeFitxesAillades=2;//2 // variablesRecercaSolucio.minimIndexDeMoviments=40;//15 // variablesRecercaSolucio.minimNumeroDeConjuntsActual=3;//3 // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=2;//2 // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=40; // variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=60;//60 // variablesRecercaSolucio.valorMinimMovimentsJoc=15; // if(numeroInicialFitxesJoc<33){ // variablesRecercaSolucio.maximNumeroDeConjunts=2; // variablesRecercaSolucio.maximNumeroDeFitxesAillades=1; // variablesRecercaSolucio.minimNumeroDeConjuntsActual=2; // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=1; // } // } // else if(taulerJoc->p_tipusMoviment==1){ //moviment directe // if(numeroInicialFitxesJoc<18){//amb poques fitxes // variablesRecercaSolucio.maximNumeroDeConjunts=3;//<= // variablesRecercaSolucio.maximNumeroDeFitxesAillades=3; // variablesRecercaSolucio.minimIndexDeMoviments=0;//valor a partir del qual s'intenta trobar moviments // //que disminueixin el nombre de conjunts i/o de fitxes aïllades 5 // variablesRecercaSolucio.minimNumeroDeConjuntsActual=1;//>3 // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=0;//>5 // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=20;//28 // variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=18; // variablesRecercaSolucio.valorMinimMovimentsJoc=0; // } // else if(numeroInicialFitxesJoc>40){//Wiegleb // variablesRecercaSolucio.maximNumeroDeConjunts=2; // variablesRecercaSolucio.maximNumeroDeFitxesAillades=1; // variablesRecercaSolucio.minimIndexDeMoviments=30;//valor a partir del qual s'intenta trobar moviments // //que disminueixin el nombre de conjunts i/o de fitxes aïllades 5 // variablesRecercaSolucio.minimNumeroDeConjuntsActual=1; // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=0; // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=20; // variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=0;//60 // variablesRecercaSolucio.valorMaximIndexDeMovimentsPerMovimentsMassius=10; // variablesRecercaSolucio.valorMinimMovimentsJoc=15; // } // else if (numeroInicialFitxesJoc>38){// Diamant // variablesRecercaSolucio.maximNumeroDeConjunts=1; // variablesRecercaSolucio.maximNumeroDeFitxesAillades=1;//2 // variablesRecercaSolucio.minimIndexDeMoviments=35; // variablesRecercaSolucio.minimNumeroDeConjuntsActual=3;//3 // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=2;//2 // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=10;//15 // variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=0;//60; // variablesRecercaSolucio.valorMinimMovimentsJoc=15; //// variablesRecercaSolucio.maximNumeroDeConjunts=3; //// variablesRecercaSolucio.maximNumeroDeFitxesAillades=2; //// variablesRecercaSolucio.minimIndexDeMoviments=0; //// variablesRecercaSolucio.minimNumeroDeConjuntsActual=2; //// variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=0; //// variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=40; //// variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=40;//30 //// variablesRecercaSolucio.valorMinimMovimentsJoc=15; // } // else if (numeroInicialFitxesJoc>33){// Europeu // variablesRecercaSolucio.maximNumeroDeConjunts=1;//2 // variablesRecercaSolucio.maximNumeroDeFitxesAillades=0;//3 // variablesRecercaSolucio.minimIndexDeMoviments=30;// 30 o 36 // variablesRecercaSolucio.minimNumeroDeConjuntsActual=1;//>3 // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=0; // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=30; // variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=0;//30 // variablesRecercaSolucio.valorMinimMovimentsJoc=15; //// variablesRecercaSolucio.maximNumeroDeConjunts=2;//2 //// variablesRecercaSolucio.maximNumeroDeFitxesAillades=2; //// variablesRecercaSolucio.minimIndexDeMoviments=15;//15 30 //// variablesRecercaSolucio.minimNumeroDeConjuntsActual=1;//>3 //// variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=0; //// variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=0; //// variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=30; //// variablesRecercaSolucio.valorMinimMovimentsJoc=15; // } // else{ // variablesRecercaSolucio.maximNumeroDeConjunts=qMax(2,1+taulerJoc->solucionaJocActual_numeroFitxesAillades()); // variablesRecercaSolucio.maximNumeroDeFitxesAillades=qMax(1,taulerJoc->solucionaJocActual_numeroFitxesAillades()); // variablesRecercaSolucio.minimIndexDeMoviments=15;//valor a partir del qual s'intenta trobar moviments // //que disminueixin el nombre de conjunts i/o de fitxes aïllades 5 // variablesRecercaSolucio.minimNumeroDeConjuntsActual=1;//>3 // variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual=qMax(0,taulerJoc->solucionaJocActual_numeroFitxesAillades()); // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=10; // if(numeroInicialFitxesJoc<30){ // variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats=10; // } // variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius=15; // variablesRecercaSolucio.valorMinimMovimentsJoc=15; // } // } //// qDebug("maximNumeroDeConjunts %d", variablesRecercaSolucio.maximNumeroDeConjunts); //// qDebug("maximNumeroDeFitxesAillades %d", variablesRecercaSolucio.maximNumeroDeFitxesAillades); //// qDebug("minimIndexDeMoviments %d", variablesRecercaSolucio.minimIndexDeMoviments); //// qDebug("minimNumeroDeConjuntsActual %d", variablesRecercaSolucio.minimNumeroDeConjuntsActual); //// qDebug("minimNumeroDeFitxesAilladesActual %d", variablesRecercaSolucio.minimNumeroDeFitxesAilladesActual); //// qDebug("minimIndexMovimentsPerFiltrarMovimentsSeleccionats %d", variablesRecercaSolucio.minimIndexMovimentsPerFiltrarMovimentsSeleccionats); //// qDebug("valorMaximIndexDeMovimentsPerMovimentsMassius %d", variablesRecercaSolucio.valorMaximIndexDeMovimentsPerMovimentsMassius); //// qDebug("valorMinimIndexDeMovimentsPerMovimentsMassius %d", variablesRecercaSolucio.valorMinimIndexDeMovimentsPerMovimentsMassius); //// qDebug("valorMinimMovimentsJoc %d", variablesRecercaSolucio.valorMinimMovimentsJoc); // return variablesRecercaSolucio; //} /* Escriu el moviment realitzat en la recerca a un arxiu i a la finestra de sortides * del programa per facilitar el seguiment del joc No es fa servir però pot ésser útil */ void frmPrincipal::solucioJocActual_RecercaIterativa_escriuDesaMovimentRealitzat(int tabulacio,QString cadenaMoviment){ QString buits; int contador=0; while(contador< tabulacio){ buits.append(" "); contador++; } qCritical("%s",qPrintable(buits+cadenaMoviment)); desaMovimentsJoc(buits+cadenaMoviment+QString(" %1").arg(tabulacio)); } /* Retorna el nombre de 1 de la configuració de fitxes del joc * passada pel paràmetre*/ int frmPrincipal::numeroFitxesConfiguracioActualJoc(QString configuracioActual){ return configuracioActual.count("1"); } /* Busca una solució ha partir d'una altra solució */ void frmPrincipal::solucionaJocRapid(){ solitariPersonalitzat_dadesFitxes(); /* Amb la modalitat de joc personalitzat, cal preveure * la possibilitat que no hi hagi cap fitxa activa * L'opció de jocResolt està afegida per evitar que no es pugui * tornar a cercar una solució quan ja s'ha trobat una */ // if( (taulerJoc->numeroDeMovimentsJoc()<1) && // (jocResolt==0)){ // //No hi ha moviments // mostraMissatge(5); // // qDebug("numeroDeMovimentsJoc %d",taulerJoc->numeroDeMovimentsJoc()); // return; // } // else if(jocResolt==2){ // iniciSolucioSlot(); // } // //sense això, el programa fracasa si s'ha aturat la cerca // //en una situació sense moviments i es torna a intentar cercar // else if (taulerJoc->numeroDeMovimentsJoc()<1 ){ // //No hi ha moviments // mostraMissatge(5); // return; // } /* Controlam l'estat actual del joc: si ja està resolt (fitxes verdes), està finalitzat, sens moviments o és un joc personalitzat sense moviments, reiniciam el joc */ if(jocResolt==2 || (taulerJoc->numeroDeMovimentsJoc()<1 || taulerJoc->jocFinalitzat()) || (taulerJoc->solitariPersonalitzat() && taulerJoc->numeroDeMovimentsJoc()<1) ){ iniciSolucioSlot(); movimentsUndoStack->clear(); iniciSolucioAction->setEnabled(movimentsUndoStack->canUndo()); } //És possible que el joc no tengui moviments //El jugador pot haver deixat una situació sense moviments //o bé es un joc personalitzat/modificat que no te moviments taulerJoc->configuracioActual(true); if (taulerJoc->numeroDeMovimentsJoc()<1 ){ //No hi ha moviments mostraMissatge(5); return; } solucionaJocActual_movimentsJaRealitzats.clear(); solucionaJocActual_darrerMoviment.clear(); //reiniciam els intents intentsSolucio=0; taulerJoc->setEstatDelJoc(solucio); jocResolt=0; /*Posa a zero el rellotge 01/01/11 Si es clicava una segona vegada desprès d'obtenir una solució, llavors s'acumulava el temps*/ if (!rellotgeLabel->rellotgeEnMarxa()){ rellotgeLabel->estableixTemps(QString("00:00:00")); } cercaSolucioAPartirDeMovimentsInicials=false; qApp->processEvents(); //Actualitzam el comptador de les fitxes del joc taulerJoc->configuracioActual(true); int numeroFitxesJoc=taulerJoc->numeroDeMovimentsJoc(); // int numeroFitxesJoc=solucionaJocActual_numeroDeFitxesDelJoc()-1; // qDebug("numeroFitxesJoc %d", numeroFitxesJoc); if(comprovaExisteixenMovimentsPossibles()==0){ // qDebug("sense moviments"); //No hi ha moviments mostraMissatge(5); return; } /*Seleccionam el tipus de recerca a executar*/ /* Si no hi ha moviments fets*/ if(movimentsUndoStack->count()<1 ){ //La majoria dels jocs amb final marcat i generats a l'atzar //només es resoldran amb el sistema //de la versió 2.1 (que intenta fer servir solucions ja trobades) //comprovaDadesSolucions() indica si es fa servir la versió 2.1 //o la versió actual (poques modalitats es resolen amb aquesta opció) if( (taulerJoc->jocAmbFinalMarcat() && comprovaDadesSolucions() && taulerJoc->p_tipusMoviment != 3) || (solitariAtzar_esAtzar( arbreModalitatsJocTreeWidget->selectedItems().first()->text(1))) ){ retrocedeixMoviment=0; solucionaJocActual_carregaSolucio(); solucionaJocActual_Inicia(); } /*Si hi ha solucions anteriors*/ else if(comprovaArxiuDeSolucions() && !taulerJoc->jocAmbFinalMarcat()){ /*seleccionam a l'atzar el tipus de recerca*/ int atzar= qrand() % 10; //Encara no hi ha un procediment eficaç per a moltes fitxes! if (atzar<5 || (numeroFitxesJoc>40 && taulerJoc->p_tipusMoviment != 3) ){ /* Carrega i executa part dels moviments d'una solució */ retrocedeixMoviment=0; solucionaJocActual_carregaSolucio(); solucionaJocActual_Inicia(); } else { solucionaJocActual_RecercaIterativa_ExhaustivaInici(numeroFitxesJoc); } } else { //No hi ha dades (de solucions) o és un joc personalitzat o modificat solucionaJocActual_RecercaIterativa_ExhaustivaInici(numeroFitxesJoc); } // } }//if(movimentsUndoStack->index()<1) //Hi ha moviments fets i el joc està iniciat else if((rellotgeLabel->rellotgeEnMarxa()) ){ /*conservam l'índex del darrer moviment*/ // qDebug("movimentsUndoStack->count() %d", movimentsUndoStack->count()); retrocedeixMoviment=movimentsUndoStack->index(); solucionaJocActual_RecercaIterativa_ExhaustivaInici( numeroFitxesJoc+retrocedeixMoviment,retrocedeixMoviment); } /*Aqui no hauria d'arribat mai*/ else { gestioTipusDeJocASeleccionar(); solucionaJocRapid(); } } /* Soluciona el joc actual pel métode de la força * bruta. Deixa el resultat a un arxiu de tipus .arbre*/ void frmPrincipal::solucionaJoc_ForcaBruta(){ mostraMissatge(100); //Eliminam l'arxiu arbre anterior eliminaArxiu(5); solucionsTrobades.clear(); carregaSolucions(); taulerJoc->setEstatDelJoc(solucio); jocResolt=0; int numFitxesInicialsJoc=taulerJoc->numeroDeMovimentsJoc(); //int numFitxesInicialsJoc=solucionaJocActual_numeroDeFitxesDelJoc(); qApp->processEvents(); QProgressDialog *progresRecercaExahustiva =new QProgressDialog(this);; progresRecercaExahustiva->setLabelText(tr("Cercant solució")); progresRecercaExahustiva->setCancelButtonText(tr("Atura")); progresRecercaExahustiva->setMinimum(0); // progresRecercaExahustiva->setMaximum(taulerJoc->numeroDeMovimentsJoc()+retrocedeixMoviment); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); progresRecercaExahustiva->setParent(this); qApp->processEvents(); progresRecercaExahustiva->setWindowModality(Qt::WindowModal); progresRecercaExahustiva->setVisible(true); rellotgeLabel->iniciaRellotge(); qApp->processEvents(); //sistema de recerca exhaustiva //taulerJoc->p_movimentsUndoStack->undo(); progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); taulerJoc->jocsRealitzats=0; taulerJoc->jocsAmbSolucio=0; taulerJoc->solucionaJocActual_CalculaArbreJocComplet_Inici(progresRecercaExahustiva, numFitxesInicialsJoc);/*}*/ progresRecercaExahustiva->cancel(); rellotgeLabel->aturaRellotge(); iniciSolucioSlot(); QString missatge=QString("%1 %2 %3 %4").arg(rellotgeLabel->retornaTemps(1)+" ") .arg(taulerJoc->jocsRealitzats). arg(taulerJoc->jocsAmbSolucio). arg((double)taulerJoc->jocsAmbSolucio*100/taulerJoc->jocsRealitzats); qCritical("%s",qPrintable(missatge)); //Finalment, es carregan totes les solucions. Les solucions //no es carregan continuament degut a què el mètode //no trobarà solucions repetides //veureSolucionsSlot(); } //void frmPrincipal::solucionaJoc_ForcaBruta(){ //mostraMissatge(100); ////Eliminam l'arxiu arbre anterior //eliminaArxiu(5); //solucionsTrobades.clear(); //carregaSolucions(); //taulerJoc->setEstatDelJoc(solucio); //jocResolt=0; //int numFitxesInicialsJoc=taulerJoc->numeroDeMovimentsJoc(); ////int numFitxesInicialsJoc=solucionaJocActual_numeroDeFitxesDelJoc(); //qApp->processEvents(); //QProgressDialog *progresRecercaExahustiva =new QProgressDialog(this);; //progresRecercaExahustiva->setLabelText(tr("Cercant solució")); //progresRecercaExahustiva->setCancelButtonText(tr("Atura")); //progresRecercaExahustiva->setMinimum(0); //// progresRecercaExahustiva->setMaximum(taulerJoc->numeroDeMovimentsJoc()+retrocedeixMoviment); //progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); //progresRecercaExahustiva->setParent(this); //qApp->processEvents(); //progresRecercaExahustiva->setWindowModality(Qt::WindowModal); //progresRecercaExahustiva->setVisible(true); //rellotgeLabel->iniciaRellotge(); //qApp->processEvents(); ////sistema de recerca exhaustiva ////taulerJoc->p_movimentsUndoStack->undo(); //progresRecercaExahustiva->setMaximum(numFitxesInicialsJoc); //taulerJoc->jocsRealitzats=0; //taulerJoc->jocsAmbSolucio=0; //taulerJoc->solucionaJocActual_CalculaArbreJocComplet_Inici(progresRecercaExahustiva, numFitxesInicialsJoc);/*}*/ //progresRecercaExahustiva->cancel(); //rellotgeLabel->aturaRellotge(); //iniciSolucioSlot(); //QString missatge=QString("%1 %2 %3").arg(taulerJoc->jocsRealitzats). // arg(taulerJoc->jocsAmbSolucio). // arg((double)taulerJoc->jocsAmbSolucio*100/taulerJoc->jocsRealitzats); //qCritical("%s",qPrintable(missatge)); ////Finalment, es carregan totes les solucions. Les solucions ////no es carregan continuament degut a què el mètode ////no trobarà solucions repetides ////veureSolucionsSlot(); //} void frmPrincipal::solucionaJocActual_carregaSolucio(){ if(movimentsUndoStack->index()==0){ movimentsUndoStack->clear(); //Primer carregam les solucions disponibles //06/02/13 nou prod. actualitzaConfiguracionsInicials(); comprovaArxiuSolucions(); carregaSolucions(); /*Carregam la solució*/ if (solucionsTrobades.count()>0) { //Seleccionam una solució a l'atzar qsrand(rellotgeQTime.msecsTo(QTime::currentTime())); int selec=qrand() % (solucionsTrobades.count()); /* qDebug("qrand() %d",qrand()); qDebug("solució seleccionada %d",selec); qDebug("solucionsTrobades.count() %d",solucionsTrobades.count());*/ QStringList movimentsSolucio=solucionsTrobades.value(selec).split(" "); /*02/02/11 Això és per controlar les solucions incorrectes (que no tenen el nombre de moviments corresponents al joc 10/02/13 Pareix que això ja no passa mai 21/08/16 Eliminat */ /* while (movimentsSolucio.count() != taulerJoc->numeroDeMovimentsJoc()*4){ qCritical("%s", qPrintable(solucionsTrobades.value(selec))); solucionsTrobades.removeOne(solucionsTrobades.value(selec)); //solucionsTrobades.removeAt(selec); desaSolucions(); // qDebug("eliminada %d", selec); qsrand(rellotgeQTime.msecsTo(QTime::currentTime())); int selec=qrand() % (solucionsTrobades.count()); movimentsSolucio=solucionsTrobades.value(selec).split(" "); }*/ /*Ara seleccinam a l'atzar un número i es fan els moviments corresponents a la solució fins al número seleccionat */ /* 02/01/13 * Abans dividia per 8: si el joc tenia menys moviments,llavors * fallava (això pot passar en els jocs personalitzats * 21/08/16 * Ara es reinicia el joc de zero i taulerJoc->p_numMoviments * sempre es 0. * A més, s'ha eliminat la divisió per 4 */ // selec=qrand() % ((movimentsSolucio.count()/8)); qsrand(rellotgeQTime.msecsTo(QTime::currentTime())); //selec=qrand() % ((movimentsSolucio.count()/4)); selec=qrand() % ((movimentsSolucio.count()/4)); //qDebug("selec %d",selec); //qDebug("taulerJoc->p_numMoviments %d",taulerJoc->p_numMoviments); selec=qMax(selec,taulerJoc->p_numMoviments); /*qDebug("movimentsSolucio.count() %d",movimentsSolucio.count()/4); qDebug("moviment seleccionat %d",selec); qDebug("****************************");*/ QString mov; rellotgeLabel->iniciaRellotge(); // qDebug("taulerJoc->p_numMoviments %d",taulerJoc->p_numMoviments); for(int i=0;i<(movimentsSolucio.count()/4);i++){ if(i<(movimentsSolucio.count()/4)-selec){ taulerJoc->ferMoviment(movimentsSolucio.value(i*4+1).toInt(), movimentsSolucio.value(i*4+2).toInt(), movimentsSolucio.value(i*4+3).toInt());} if(i>taulerJoc->p_numMoviments){ mov=QString("%1 %2 %3 %4"). arg(movimentsSolucio.value(i*4)). arg(movimentsSolucio.value(i*4+1)). arg(movimentsSolucio.value(i*4+2)). arg((movimentsSolucio.value(i*4+3))); solucionaJocActual_movimentsEliminats.append(mov); } } solucionaJocActual_darrerMoviment.append(mov); } /*Final de carregam la solució*/ }//if inicial movimentsUndoStack->index()==0 else cercaSolucioAPartirDeMovimentsInicials=true; } /* Carrega una solució i fa un nombre determinat de moviments * de la solució (tot seleccionat a l'atzar) * Es fa servir quan es supera el màxim de vegades que no * hi ha moviments possibles */ void frmPrincipal::solucionaJocActual_carregaSolucio1(){ //if(movimentsUndoStack->index()==0){ movimentsUndoStack->clear(); //Primer carregam les solucions disponibles actualitzaConfiguracionsInicials(); //21/04/17 //Eliminades les dues linies següents per evitar que el progress //forci el focus en el programa // comprovaArxiuSolucions(); // carregaSolucions(); /*Carregam la solució*/ if (solucionsTrobades.count()>0) { //Seleccionam una solució a l'atzar qsrand(rellotgeQTime.msecsTo(QTime::currentTime())); int selec=qrand() % (solucionsTrobades.count()); /*qDebug("qrand() %d",qrand()); qDebug("solució seleccionada %d",selec); qDebug("solucionsTrobades.count() %d",solucionsTrobades.count());*/ QStringList movimentsSolucio=solucionsTrobades.value(selec).split(" "); /*Ara seleccinam a l'atzar un número i es fan els moviments corresponents a la solució fins al número seleccionat*/ selec=(qrand() % ((movimentsSolucio.count()/4))); /*Aquest valor mínim de selec és per evitar que es repeteixin //massa les solucions trobades (que no es carraguin molts moviments de la solució*/ //qDebug("moviment seleccionat %d",selec); //qDebug("movimentsSolucio.count() %d",movimentsSolucio.count()/4); /*El 0.10 és empíric: pareix que quantes més fitxes hi ha, *és millor que el nombre sigui més petit*/ while (selec<(movimentsSolucio.count()/4)*0.10){ selec=qrand() % (movimentsSolucio.count()/4); //qDebug("selec %d",selec); } //qDebug("selec %d",selec); //qDebug("taulerJoc->p_numMoviments %d",taulerJoc->p_numMoviments); //selec=qMax(selec,taulerJoc->p_numMoviments); //qDebug("movimentsSolucio.count() %d",movimentsSolucio.count()/4); // qDebug("moviment seleccionat %d",selec); // qDebug("****************************"); QString mov; // qDebug("taulerJoc->p_numMoviments %d",taulerJoc->p_numMoviments); for(int i=0;i<(movimentsSolucio.count()/4);i++){ if(i<(movimentsSolucio.count()/4)-selec){ taulerJoc->ferMoviment(movimentsSolucio.value(i*4+1).toInt(), movimentsSolucio.value(i*4+2).toInt(), movimentsSolucio.value(i*4+3).toInt()); solucionaJocActual_darrerMoviment=QString("%1 ").arg(movimentsUndoStack->index()); mov=QString("%1 %2 %3"). arg(movimentsSolucio.value(i*4+1)). arg(movimentsSolucio.value(i*4+2)). arg((movimentsSolucio.value(i*4+3))); solucionaJocActual_darrerMoviment.append(mov); solucionaJocActual_movimentsJaRealitzats.append( solucionaJocActual_darrerMoviment); // qDebug("Solucio: moviment %d",i); } if(i>taulerJoc->p_numMoviments){ mov=QString("%1 %2 %3 %4"). arg(movimentsSolucio.value(i*4)). arg(movimentsSolucio.value(i*4+1)). arg(movimentsSolucio.value(i*4+2)). arg((movimentsSolucio.value(i*4+3))); solucionaJocActual_movimentsEliminats.append(mov); } } // solucionaJocActual_darrerMoviment.append(mov); } /*Final de carregam la solució*/ // }//if inicial movimentsUndoStack->index()==0 } /* Elimina l'arxiu de configuracions eliminades. Es fa servir quan el programa no aconsegueix trobar una solucuió al joc */ void frmPrincipal::eliminaArxiuConfgEliminades(){ comprovaDirectoriHome(); QString nomArxiu=nomArxiuJoc(1); QFile arxiu(nomArxiu); arxiu.remove(nomArxiu); } void frmPrincipal::desaConfiguracionsEliminades(int tipus){ if (solucioJocActual_configuracionsEliminadesPerDesar.count()==0){ return;} int numero=0; QProgressDialog progres(tr("Desant dades"), tr("Atura"), 0,solucioJocActual_configuracionsEliminadesPerDesar.count() ,this); progres.setWindowModality(Qt::WindowModal); progres.setValue(numero); //progres.setVisible(true); qApp->processEvents(); comprovaDirectoriHome(); QString nomArxiu=nomArxiuJoc(1); QFile arxiu(nomArxiu); bool arxiuObert=false; if (tipus==0){ if (arxiu.open(QIODevice::Append)){arxiuObert=true;} } else if (arxiu.open(QIODevice::WriteOnly)){arxiuObert=true;} if (arxiuObert){ QTextStream entrada(&arxiu); for(int j=0;jprocessEvents(); } } arxiu.close(); } void frmPrincipal::carregaConfiguracionsEliminades(){ int numero=0; QString nomArxiu=nomArxiuJoc(1); QFile arxiu(nomArxiu); /*23/01/2011 Aqui hi havia una divisió per zero! Quan es fa un joc invers amb modificació de l'usuari */ int divisor=taulerJoc->numeroDeMovimentsJoc(); //Xapussa per evitar les divisions per zero if (divisor<0){divisor=1;} qint64 tamanyArxiu=arxiu.size()/divisor; /* if (taulerJoc->numeroDeMovimentsJoc()>0){ tamanyArxiu =1+arxiu.size()/(1+taulerJoc->numeroDeMovimentsJoc());} else tamanyArxiu =arxiu.size();*/ QProgressDialog progres(tr("Carregant dades"), tr("Atura"), 0,tamanyArxiu ,this); progres.setWindowModality(Qt::WindowModal); progres.setValue(numero); progres.setVisible(true); qApp->processEvents(); solucioJocActual_configuracionsEliminades.clear(); if (arxiu.open(QIODevice::ReadOnly)){ QTextStream entrada(&arxiu); QString linia0 = entrada.readLine(); while (!linia0.isNull()) { if ( ! solucioJocActual_configuracionsEliminadesPerDesar.contains(linia0)){ solucioJocActual_configuracionsEliminades.append(linia0); solucioJocActual_configuracionsEliminadesPerDesar.append(linia0); progres.setValue(++numero); progres.setLabelText(QString("Carregant dades: %1 de %2").arg(numero).arg(tamanyArxiu)); } linia0 = entrada.readLine(); if (progres.wasCanceled()) break; qApp->processEvents(); } arxiu.close(); progres.cancel(); /*07/09/16 Eliminat. Això es farà * en desar les dades desaConfiguracionsEliminades(1);*/ } } /* Escriu a un arxiu el moviment passat * per paràmetre. Serveix per seguir els moviments * provats de la recerca iterativa de solució*/ void frmPrincipal::desaMovimentsJoc(QString moviment){ comprovaDirectoriHome(); QString nomArxiu=nomArxiuJoc(4); QFile arxiu(nomArxiu); bool arxiuObert=false; if (arxiu.open(QIODevice::Append)){arxiuObert=true;} if (arxiuObert){ QTextStream entrada(&arxiu); entrada<numeroDeMovimentsJoc() %d",taulerJoc->numeroDeMovimentsJoc()); // qDebug("retrocedeixMoviment %d", retrocedeixMoviment); if ( (movimentsSolucio.count() == (taulerJoc->numeroDeMovimentsJoc()+retrocedeixMoviment)*4) || (movimentsSolucio.count() == solitariAtzar_solucio.count(" ")+1) ){ if (!solucionsTrobades.contains(linia0)){ solucionsTrobades.append(linia0); progres.setValue(contador++); if(contador>progres.maximum()-30){ progres.setMaximum(progres.maximum()*10); } // qDebug("carregada solucio"); } else { qCritical("Sol. rep. %s", qPrintable(linia0)); } } linia0 = entrada.readLine(); qApp->processEvents(); if(progres.wasCanceled()){ arxiu.close(); break;} // liniesLlegides++; // qDebug("liniesLlegides %d", liniesLlegides); /* 13/01/11 Aquesta linea provocava un error en la càrrrega de les dades de les solucions quan es feia un canvi ràpid en la selecció de la modalitar de joc*/ //qApp->processEvents(); } //qDebug("Items in list: %d", solucionsTrobades.size()); arxiu.close(); } // else qDebug("No s'obri l'arxiu!!"); //qDebug("Items in list: %d", solucionsTrobades.size()); } void frmPrincipal::desaSolucions(){ if (solucionaJocActual_movimentsJaRealitzats.count()==0){ qDebug("No hi ha solucions per desar!"); return;} /* 02/02/11 A vegades s'escriu malament la solució (no s'afageixen tots els moviments). Això evita aquest problema 10/02/13 Això pareix que ja no passa mai */ if(solucionaJocActual_movimentsJaRealitzats.count() != taulerJoc->numeroDeMovimentsJoc() ){ qDebug("problemes amb la solució %d",solucionaJocActual_movimentsJaRealitzats.count() ); qDebug("taulerJoc->numeroDeMovimentsJoc() %d",taulerJoc->numeroDeMovimentsJoc() ); return; } comprovaDirectoriHome(); QString nomArxiu; if( (taulerJoc->solitariPersonalitzat() )|| (taulerJoc->solitariModificat()) ){ /* Eliminam les solucions que hi pugui haver a l'arbre * de solucions per evitar que es carreguin solucions * del solitari sense modificar. */ // arbreSolucionsTreeWidget->clear(); // solucionsTrobades.clear(); veureSolucionsSlot(); } nomArxiu=nomArxiuJoc(2); //carregaSolucions(); QString solucioActual; for(int j=0;jshowMessage(tr("S'ha trobat una nova solució!")); //qDebug("desaSolucions()"); // solucionsTrobades.append(solucioActual); // qDebug("S'ha trobat una nova solució!"); arxiu.close(); } else qDebug("No es pot obrir l'arxiu de solucions per desar"); } } /* Desa la solució actual continguda a movimentsUndoStack Es fa servir des de taulerJoc */ void frmPrincipal::desaSolucions1(){ /*if (movimentsUndoStack->count()==0){ return; }*/ comprovaDirectoriHome(); QString nomArxiu; /* ?????? */ if(taulerJoc->solitariPersonalitzat()){ nomArxiu=nomArxiuJoc(2);} else nomArxiu=nomArxiuJoc(2); // qCritical("desaSolucions1 %s", qPrintable(nomArxiu)); // carregaSolucions(); QString solucioActual; for(int j=0;jcount()-1;j++){ solucioActual.append(QString("%1 %2 "). arg(j+1). arg(coordenadesAMoviment(movimentsUndoStack->text(j)))) ; } /*04/02/11 Eliminats els espais buits del final */ solucioActual.append(QString("%1 %2"). arg(movimentsUndoStack->count()). arg(coordenadesAMoviment(movimentsUndoStack->text( movimentsUndoStack->count()-1)))) ; /* 10/12/16 * Aqui no s'afegia la nova solució a la llista de solucions. * Hi ha solucions repetides als arxius de solucions*/ //if( !solucionsTrobades.contains(solucioActual)){ // qCritical("%s", qPrintable(solucioActual)); if( solucionsTrobades.indexOf(solucioActual)<0){ // qDebug("solucionsTrobades.indexOf(solucioActual) %d", solucionsTrobades.indexOf(solucioActual)); QFile arxiu(nomArxiu); if (arxiu.open(QIODevice::Append)){ QTextStream entrada(&arxiu); entrada<<(QString("%1\n").arg(solucioActual)) ; statusBar()->showMessage(tr("S'ha trobat una nova solució!")); } arxiu.close(); } } /* Carrega les solucions del joc actual * a l'arbre de solucions */ void frmPrincipal::veureSolucionsSlot(){ //while(!this->isVisible()){ //this->show(); //} QApplication::setOverrideCursor(Qt::WaitCursor); qApp->processEvents(); arbreSolucionsTreeWidget->clear(); //Carregam les solucions //solucionsTrobades.clear(); carregaSolucions(); qApp->processEvents(); int numeroSolucio=1; //qDebug("solucionsTrobades %d",solucionsTrobades.count()); if (solucionsTrobades.count()>0){ QProgressDialog progres(tr("Carregant dades"), tr("Atura"), 0,solucionsTrobades.count() ,this); progres.setWindowModality(Qt::WindowModal); progres.setVisible(true); //qDebug("Items in list: %d", solucionsTrobades.size()); //arbreSolucionsTreeWidget->clear(); for(int i=0;i itemsArbre; QStringList movimentsSolucio=solucionsTrobades.value(i).split(" "); for(int moviment=0 ; movimentsetText(0, movimentACoordenades(movimentsSolucio.value(4*moviment+1),movimentsSolucio.value(4*moviment+3))); item->setText(1,QString("%1 %2 %3").arg(movimentsSolucio.value(4*moviment+1)). arg(movimentsSolucio.value(4*moviment+2)). arg(movimentsSolucio.value(4*moviment+3)) ); itemsArbre.append(item); } itemSolucio->insertChildren(0,itemsArbre); itemSolucio->setText(0,tr("Solució %1").arg(numeroSolucio)); arbreSolucionsTreeWidget->insertTopLevelItem(numeroSolucio-1,itemSolucio); qApp->processEvents(); progres.setValue(i); ++numeroSolucio; // qDebug("numeroSolucio",numeroSolucio); arbreModalitatsJocTreeWidget->expandAll(); if (progres.wasCanceled()) { break; } } } progres.close(); } else { //qDebug("No s'ha trobat les solucions"); QTreeWidgetItem *itemSolucio=new QTreeWidgetItem(); itemSolucio->setText(0,tr("No hi ha solucions")); //arbreSolucionsTreeWidget->clear(); arbreSolucionsTreeWidget->insertTopLevelItem(numeroSolucio-1,itemSolucio); } QTreeWidgetItem *itemCapcalera=new QTreeWidgetItem(); QString textCapcalera; if(tipusJocActual==0){ textCapcalera=arbreModalitatsJocTreeWidget->selectedItems().first()->text(0);} else if (tipusJocActual ==1){ textCapcalera=arbreModalitatsJocPersonalitzatsTreeWidget->selectedItems().first()->text(0);} textCapcalera.append(" ("+QString("%1").arg(numeroSolucio-1)+")"); itemCapcalera->setText(0,textCapcalera); arbreSolucionsTreeWidget->setHeaderItem(itemCapcalera); tabArbres->setTabText(1," ("+QString("%1").arg(numeroSolucio-1)+")"); tabArbres->setTabToolTip(1,tr("Solucions")+" ("+QString("%1").arg(numeroSolucio-1)+")"); qApp->processEvents(); QApplication::setOverrideCursor(Qt::ArrowCursor); } void frmPrincipal::carregaSolucio(QTreeWidgetItem*, int){ if(arbreSolucionsTreeWidget->selectedItems().first()->childCount()>0){ QMessageBox missatgeBox; missatgeBox.setText(tr("Carregar ")+arbreSolucionsTreeWidget->selectedItems().first()->text(0)); missatgeBox.setInformativeText(tr("De debó voleu carregar la solució? Perdreu els moviments que heu fet!")); missatgeBox.setIcon(QMessageBox::Question); missatgeBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); missatgeBox.setDefaultButton(QMessageBox::No); if(missatgeBox.exec()==QMessageBox::Yes){ carregaSolucio1(); statusBar()->showMessage(tr("S'ha carregat la ")+arbreSolucionsTreeWidget->selectedItems().first()->text(0)+ tr(". Feu servir els botons Avança i Retrocedeix per veure la solució. ")); } } } /* Carrega una solució seleccionada de l'arbre de solucions */ void frmPrincipal::carregaSolucio1(){ taulerJoc->setEstatDelJoc(solucio); iniciSolucioSlot(); //06/02/13 nou prod. actualitzaConfiguracionsInicials(); // solucioJocActual_configuracioInicial.clear(); // solucioJocActual_configuracioInicial.append(taulerJoc->configuracioActual(true)); // QStringList llista; // QString cadena; for(int i=0;iselectedItems().first()->childCount();i++){ QStringList movimentsSolucio= arbreSolucionsTreeWidget->selectedItems().first()->child(i)->text(1).split(" "); taulerJoc->ferMoviment(movimentsSolucio.value(0).toInt(), movimentsSolucio.value(1).toInt(), movimentsSolucio.value(2).toInt()); } } /* Converteix les dades d'un moviment en número a coordenades */ QString frmPrincipal::movimentACoordenades(QString inici,QString final){ int numero_inici=inici.toInt(); int numero_final=final.toInt(); return QString("(%1,%2) -> (%3,%4)").arg(numero_inici/100).arg(numero_inici % 100). arg(numero_final/100).arg(numero_final % 100); } /* Converteix les dades d'un moviment en coordenades a números */ QString frmPrincipal::coordenadesAMoviment(QString coordenades){ QRegExp coord(".(\\d+),(\\d+). -> .(\\d+),(\\d+)."); if (coord.exactMatch(coordenades)){ int fitxaBotada=((coord.cap(1).toInt()+coord.cap(3).toInt())/2)*100+ ((coord.cap(2).toInt()+coord.cap(4).toInt())/2); return QString("%1 %2 %3").arg(coord.cap(1).toInt()*100+coord.cap(2).toInt()). arg(fitxaBotada). arg(coord.cap(3).toInt()*100+coord.cap(4).toInt()); } else { return QString("");} } /* Retorna el nom i directori de l'arxiu de dades/solucions del joc actual. tipus=1 -> arxiu amb les configuracions eliminades tipus=2 -> arxiu amb les solucions tipus=3 -> arxiu temporal de joc personalitzat tipus=4 -> arxiu de moviments provats en la recerca de solució .movi */ QString frmPrincipal::nomArxiuJoc(int tipus){ comprovaDirectoriHome(); QString nomArxiu=QDir::homePath (); QString extensio; if (tipus==1){ extensio=".txt";} else if (tipus==2){extensio=".sol";} else if (tipus==4){extensio=".movi";} else if (tipus==5){extensio=".arbre";} nomArxiu.append (QDir().separator()); nomArxiu.append (qApp->applicationName()); nomArxiu.append (QDir().separator()); // qCritical("codi joc actual desar arxiu %s",qPrintable(taulerJoc->modalitatJocActual())); if ( (taulerJoc->solitariPersonalitzat()) || (taulerJoc->solitariModificat()) ){ // qDebug("nomArxiuJoc solitari personalizat"); nomArxiu.append(QString(solucioJocActual_configuracioInicial+"_"+ QString("%1").arg(seguentCodiSolitariPersonalitzat)+extensio)); } else { // qDebug("nomArxiuJoc solitari NO personalizat"); nomArxiu.append (QString(solucioJocActual_configuracioInicial+"_"+ QString("%1").arg(taulerJoc->modalitatJocActual())+extensio)); } //qCritical("nomArxiu %s", qPrintable(nomArxiu)); return nomArxiu; } /* Comprova que existeix el directori /Solitari en el directori d'usuari */ void frmPrincipal::comprovaDirectoriHome(){ QDir dirArxiu(QDir::homePath ()); if (!dirArxiu.exists(qApp->applicationName())){ dirArxiu.mkdir(qApp->applicationName()); } } void frmPrincipal::comprovaRegistre(){ QSettings registre; // int reg=registre.value( QString("General/Registre"),0).toInt(); if (registre.value( QString("General/Registre"),0).toInt()==0){ if(QDesktopServices::openUrl(ADRECA_WEB_REGISTRE)){ QSettings().setValue("General/Registre",1); }; } } /* Retorna la cadena amb el missatge del número de moviments realitzats i total. Cal que s'hagi executat taulerJoc->numeroDeMovimentsJoc() per tenir acutalitzades les dades del nombre de fitxes del joc */ QString frmPrincipal::missatgeNumeroMoviments(int maxim){ QString numMovAct=QString("%1").arg(movimentsUndoStack->index()); //QString totalMovJoc=QString("%1").arg(taulerJoc->numeroDeMovimentsJoc()); QString totalMovJoc=QString("%1").arg(maxim); //qCritical("numMovAct %s", qPrintable(numMovAct)); //qCritical("totalMovJoc %s", qPrintable(totalMovJoc)); //if(movimentsUndoStack->index()>=maxim){ // qDebug("Problema!!!!!"); //} while (numMovAct.length()applicationName()); nomArxiuDesti.append (QDir().separator()); nomArxiuDesti.append(QString(solucioJocActual_configuracioInicial+"_"+ QString("%1").arg(taulerJoc->modalitatJocActual())+".sol")); QString nomArxiuInicial=directoriLinux(); nomArxiuInicial.append(QDir().separator()); nomArxiuInicial.append(DIRECTORI_DADES); nomArxiuInicial.append(QDir().separator()); nomArxiuInicial.append(QString(solucioJocActual_configuracioInicial+"_"+ QString("%1").arg(taulerJoc->modalitatJocActual())+".sol")); // qDebug("Directori Linux %s",qPrintable(nomArxiuInicial)); QFile arxiu(nomArxiuInicial); arxiu.copy(nomArxiuDesti); } /* Comprova si hi ha un arxiu amb solucions del joc actual * en el directorio /games * Es fa servir per saber si el programa aconsegueix resoldre * el joc sense fer servir dades de solucions prèvies*/ bool frmPrincipal::comprovaDadesSolucions(){ QString nomArxiuInicial=directoriLinux(); nomArxiuInicial.append(QDir().separator()); nomArxiuInicial.append(DIRECTORI_DADES); nomArxiuInicial.append(QDir().separator()); nomArxiuInicial.append(QString(solucioJocActual_configuracioInicial+"_"+ QString("%1").arg(taulerJoc->modalitatJocActual())+".sol")); // qCritical("%s",qPrintable(nomArxiuInicial)); QDir dirArxiu(QDir::homePath ()); if (!dirArxiu.exists(nomArxiuInicial)){ // qDebug("No existeix"); return false; } else return true; } /* Comprova si les dades de les fitxes es corresponen * amb una modalitat de final marcat */ bool frmPrincipal::esSolitariAmbFinalMarcat(QString dadesFitxes){ return ( dadesFitxes.contains("11")) ||(dadesFitxes.contains("10")); } /* Comprova si hi ha alguna solució a l'arbre * de solucions */ bool frmPrincipal::noHiHaSolucionsArbreSolucions(){ if(arbreSolucionsTreeWidget->topLevelItemCount()>0){ return arbreSolucionsTreeWidget->topLevelItem(0)->text(0). contains(tr("No hi ha solucions")) ;} else return true; } //Mostra un missatge passat pel tauler del joc void frmPrincipal::mostraMissatge(int codi){ switch (codi) { case 0: statusBar()->showMessage(tr("No hi ha més moviments: el joc ha finalitzat!")); break; case 1: statusBar()->showMessage(tr("Joc resolt!")); break; case 2: QMessageBox::information(this,tr("Nova marca personal"), tr("Heu establert un nou record personal en aquesta modalitat de joc")); if(arbreModalitatsJocTreeWidget->selectedItems().count()==1){ QTreeWidgetItem *item=arbreModalitatsJocTreeWidget->selectedItems().first(); QStringList dades=item->text(1).split(" "); item->setIcon(0,QIcon(posaIconeOK(dades.value(0)))); } break; case 3: statusBar()->showMessage(/* missatgeNumeroMoviments(0));*/ QString(tr("Moviment %1 de %2 ")).arg(movimentsUndoStack->index()). arg(taulerJoc->numeroDeMovimentsJoc())); break; case 4: statusBar()->showMessage(/*missatgeNumeroMoviments(0));*/ QString(tr("Moviment %1 de %2 ")) .arg(movimentsUndoStack->index()) .arg(taulerJoc->numeroDeMovimentsJoc())); // .arg(solucionaJocActual_numeroDeFitxesDelJoc()-1)); break; case 5: statusBar()->showMessage(tr("No hi ha moviments!")); break; case 100: statusBar()->showMessage(" "); break; } // if(codi>3){ // statusBar()->showMessage( // QString(tr("jocsRealitzats %1 ")).arg(codi));//} } /* Procediments dels solitaris a l'atzar */ void frmPrincipal::solitariAtzar_generaJoc(){ solitariAtzar_eliminaArxiuSolucio(); //Primer cal generar les dades per construir un joc a l'atzar //Tipus de moviment del solitari final int tipus_MovimentGenerat = (qrand() % 3); //tipus_MovimentGenerat=2; //Tipus de moviment en el procés de generació del joc int tipusMovimentGenerador; //Tipus de fitxa en l'inici de la generació del solitari QString tipusFitxa="10"; if (tipus_MovimentGenerat==0){tipus_MovimentGenerat=3;} //qDebug("tipus_MovimentGenerat %d",tipus_MovimentGenerat); //Retorna el tipus de moviment per generar el solitari //i el tipus de fitxa tipusMovimentGenerador= solitariAtzar_tipusMovimentGenerador(tipus_MovimentGenerat,tipusFitxa); //Assegurem que hi haurà un nombre mínim de files i columnes int minimFilesColumnes=5; int maximFilesColumnes=30; int maximNumeroFitxes=50; int num_Files= 0; while (num_Filesnum_Files+4) ){ num_Columnes=(qrand() % maximFilesColumnes)+1; } //Seleccionam la fitxa inicial per jugar int fitxa_Inicial=(qrand() % (num_Files*num_Columnes))+1; QString dades_Fitxes; bool fitxa=false; //generam les dades de les fitxes per al tauler de joc for(int j=0 ; jsetVisible(false); //Carregam el joc taulerJoc->joc_CarregaJoc(QString("1000 %1 100 0").arg(tipusMovimentGenerador), QString("%1 %2").arg(num_Files).arg(num_Columnes), dades_Fitxes.simplified()); //Aqui es comença a jugar per generar el solitari QStringList llistaMoviments; //Seleccionam a l'atzar el número de fitxes actives que tendrà el solitari //(garantint que hi haurà un mínim de fitxes! 14) int numeroFitxes=0; while ( (numeroFitxesmaximNumeroFitxes)){ numeroFitxes=(qrand() % qRound(num_Files*num_Columnes*0.3)); } //Ara es juga fins a assolir el nombre de fitxes actives for(int j=0 ; jsolucionaJocActual_CalculaMovimentsPosibles(); llistaMoviments= taulerJoc->solucionaJocActual_CarregaMovimentsArbre1(llistaMoviments,QString("")); //qDebug("llistaMoviments %d",llistaMoviments.count()); if (llistaMoviments.count()>0){ QStringList moviment=llistaMoviments .value(qrand() % llistaMoviments.count()).split(" "); taulerJoc->ferMoviment(moviment.value(0).toInt(), moviment.value(1).toInt(), moviment.value(2).toInt(),false); /* Si el tipus de moviment del joc és directe o diagonal, * és el primer moviment * i una vegada de cada 2, es marca la fitxa inicial com * a fitxa final de joc */ if ( (tipus_MovimentGenerat != 2) && ( (qrand() % 2) == 1) && (j==0) ){ taulerJoc->solitariAtzar_MarcaFitxaUsada(moviment.value(0).toInt(),true); } else taulerJoc->solitariAtzar_MarcaFitxaUsada(moviment.value(0).toInt()); taulerJoc->solitariAtzar_MarcaFitxaUsada(moviment.value(1).toInt()); taulerJoc->solitariAtzar_MarcaFitxaUsada(moviment.value(2).toInt()); } } //Generam les dades de les fitxes del solitari generat dades_Fitxes=taulerJoc->solitariAtzar_dadesEstatFitxes(num_Files,num_Columnes); statusBar()->showMessage(""); //qCritical("%s", qPrintable(dades_Fitxes)); //solitariAtzar_generaImatge(); //Carregam les dades a l'ítem de l'arbre del joc /*num_Files=8; num_Columnes=6; dades_Fitxes="-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 0 -1 -1 0 -1 0 0 1 1 1 0 -1 0 0 1 0 -1"; */ solitariAtzar_carregaDadesArbreJoc( QString("1000 %1 10 1").arg(tipus_MovimentGenerat), QString("%1 %2").arg(num_Files).arg(num_Columnes), dades_Fitxes); //qDebug("Files %d *****",num_Files); //qDebug("Columnes %d *****\n",num_Columnes); //qCritical("%s", qPrintable(dades_Fitxes)); //qDebug("*****"); solitariAtzar_solucio.clear(); solitariAtzar_solucio=solitariAtzar_inverteixSolucioJocGenerat(); //Carregam el joc seleccioModalitatJoc(); taulerJoc->setVisible(true); //desam la solució a un arxiu solitariAtzar_desaSolucio(); //La carregam a l'arbre de solucions veureSolucionsSlot(); } /* Retorna el tipus de moviment del joc * en el procés de generació del solitaria l'atzar * El paràmetre té els codis de les fitxes a l'inici * de la generació del solitari */ int frmPrincipal::solitariAtzar_tipusMovimentGenerador( int tipusMoviementGenerat, QString &tipusFitxa){ int tipusRetorn=1; switch (tipusMoviementGenerat) { case 1: tipusRetorn=2; tipusFitxa="10"; break; case 2: tipusRetorn=1; tipusFitxa="01"; break; case 3: tipusRetorn=5; tipusFitxa="10"; break; } return tipusRetorn; } /* Carrega les dades del solitari generat a l'ítem de l'arbre */ void frmPrincipal::solitariAtzar_carregaDadesArbreJoc(QString codi,QString FilesColumnes, QString dadesFitxes){ QTreeWidgetItem *item; item=arbreModalitatsJocTreeWidget->selectedItems().first(); item->setText(1,codi); item->setText(2,FilesColumnes); item->setText(3,dadesFitxes); } /* Abans de posar en marxa el procés de cercar solució * es comprova si estem en un solitari generat a l'atzar * En aquest cas, la solució ja és coneguda i, simplement * es carrega */ bool frmPrincipal::solitariAtzar_CarregaSolucio(){ bool retorn=false; QTreeWidgetItem *item; item=arbreModalitatsJocTreeWidget->selectedItems().first(); if(solitariAtzar_esAtzar(item->text(1))){ solucionsTrobades.clear(); solucionsTrobades.append(solitariAtzar_solucio); retorn=true; } return retorn; } /* En haver generat un joc, es transforma els moviments de * movimentsUndoStack en al solució del joc * (invertint els moviments) */ QString frmPrincipal::solitariAtzar_inverteixSolucioJocGenerat(){ //La pila de moviments està en el final de tot //Llegim la informació de la pila del final al principi QString movimentsSolucio; for(int j=0 ; jcount();j++){ movimentsSolucio.append(QString("%1 ").arg(j+1)); movimentsSolucio.append( solitariAtzar_coordenadesAMoviment( movimentsUndoStack->text(movimentsUndoStack->count()-j-1))); } return movimentsSolucio.simplified(); } /* Converteix les coordenades de un moviment a dades * però invertint el moviment * (simplement s'inverteixen les fitxes final i inicial */ QString frmPrincipal::solitariAtzar_coordenadesAMoviment(QString coordenades){ QRegExp coord(".(\\d+),(\\d+). -> .(\\d+),(\\d+)."); if (coord.exactMatch(coordenades)){ int fitxaBotada=((coord.cap(1).toInt()+coord.cap(3).toInt())/2)*100+ ((coord.cap(2).toInt()+coord.cap(4).toInt())/2); return QString("%1 %2 %3 ").arg(coord.cap(3).toInt()*100+coord.cap(4).toInt()). arg(fitxaBotada). arg(coord.cap(1).toInt()*100+coord.cap(2).toInt()) ; } else { return QString("");} } /* Desa a un arxiu la solució del solitari * generat a l'atzar */ void frmPrincipal::solitariAtzar_desaSolucio(){ comprovaDirectoriHome(); QString nomArxiu=nomArxiuJoc(2); carregaSolucions(); QFile arxiu(nomArxiu); if (arxiu.open(QIODevice::Append)){ QTextStream entrada(&arxiu); entrada<<(QString("%1\n").arg(solitariAtzar_solucio)) ; } arxiu.close(); } /* Gestiona el canvi de la selecció de joc per controlar * el tipus de joc de generació a l'atzar * elimina les dades del ítem a l'atzar per permetre la * generació en tornar a seleccionar */ void frmPrincipal::canviItemArbreJoc(QTreeWidgetItem *actual, QTreeWidgetItem *anterior){ if(anterior != NULL){ if(solitariAtzar_esAtzar(anterior->text(1))){ anterior->setText(3,"0"); //eliminam la solució anterior solitariAtzar_solucio.clear(); //eliminam l'arxiu de solucions i els //de suport solitariAtzar_eliminaArxiuSolucio(); } else if(solitariPersonalitzat_esPersonalitzat(anterior->text(1))){ //eliminam la solució anterior solitariAtzar_solucio.clear(); solitariPersonalitzat_eliminaArxiuSolucio(); } } } /* Gestiona el doble clic sobre l'ítem de la generació * a l'atzar de solitaris */ void frmPrincipal::dobleClickArbreJoc(QTreeWidgetItem *item, int columne){ //estem fent doble clic al node de generacíó //a l'atzar if(solitariAtzar_esAtzar(item->text(1))){ solitariAtzar_generaJoc(); } /* en cas contrari, carregam el joc * Això és necessari per als jocs * personalitzats */ else seleccioModalitatJoc(); } /* genera una imatge del primer pas del procés de generació * d'un joc a l'atzar */ void frmPrincipal::solitariAtzar_generaImatge(){ QPixmap pixMap = QPixmap::grabWidget(taulerJoc); pixMap.createMaskFromColor(Qt::white,Qt::MaskInColor); QString nomArxiuImatge="solitariAtzar.png"; pixMap.save(nomArxiuImatge); } /* Elimina l'arxiu de la solució del solitari actual */ void frmPrincipal::solitariAtzar_eliminaArxiuSolucio(){ if(arbreModalitatsJocTreeWidget->selectedItems().count()>0){ if(solitariAtzar_esAtzar( arbreModalitatsJocTreeWidget->selectedItems().first()->text(1))){ comprovaDirectoriHome(); QString nomArxiu=nomArxiuJoc(2); //Això és necessari per evitar eliminar arxius d'altres //jocs que tenguin solucions noves if(solitariAtzar_esAtzar(nomArxiu)){ QFile arxiu(nomArxiu); if (arxiu.exists()){ arxiu.remove(); qApp->processEvents(); nomArxiu=nomArxiuJoc(1); QFile arxiu1(nomArxiu); arxiu1.remove(); qApp->processEvents(); } } }//if arbre-text }//if arbre-count } /* Determina si el solitari actual és o no * a l'atzar */ bool frmPrincipal::solitariAtzar_esAtzar(QString joc){ /* La segona condició s'ha afegit per evitar errors * quan es fa la comprovació amb el nom de l'arxiu * de solucions */ return (joc.contains("1000") || joc.contains(" _1000") ); } /* Jocs personalitzats * Són els jocs inventats per l'usuari amb els ítems * Personalitzat (diagonal/invers) o bé modificaNT * un joc del programa. * Una vegada l'usuari ha generat les fitxes, en * començar a jugar o clicar el sistema de cerca de * solució, es recalculen les dades del nou joc. * Es controla si el joc és personalitzat amb els * codis de joc de l'arbreModalitatsJocTreeWidget, la * funció solitariPersonalitzat_esPersonalitzat, * la propietat taulerJoc.solitariPersonalitzat(), la * propietat taulerJoc.solitariModificat() i la propietat * fitxa.p_fitxaSolitariPersonalitzat. * Si s'aconseguix trobar una solució, llavors les dades * del nou joc s'afegeixen a l'arbre de jocs personalitzats * i a l'arxiu de dades /Solitari/game-per.dat * A cada nou joc personalitzat se li assigna un codi que * es va actualitzant a l'arxiu ini de conf (i comença amb 10000). * S'ha fet bastant complexe conservar les dades a l'arxiu de solucions */ /* Calcula les dades de les fitxes del solitari personalitzat * i carrega el joc */ void frmPrincipal::solitariPersonalitzat_dadesFitxes(){ //Cal actualitzar això primer taulerJoc->configuracioActual(true); /* Si ja hi ha una solució a l'arbre de solucions, * llavors no és necessari res de tot això */ if ( !noHiHaSolucionsArbreSolucions() && taulerJoc->solitariPersonalitzat()){ return;} /* 13/02/13 no pareix que això sigui necessari * S'ha eliminat */ /*else if ( (tipusJocActual==1) //|| (!taulerJoc->solitariModificat()) || (taulerJoc->solitariPersonalitzat()) ){ //Això és necessari per poder jugar taulerJoc->marcaFitxesSolitariPersonalitzat(false); return; }*/ else if (taulerJoc->numeroDeMovimentsJoc()<1){ return; } /*primer comprovam si es tracte d'un joc *personalitzat/mod.*/ if( (taulerJoc->solitariPersonalitzat()) || (taulerJoc->solitariModificat()) ){ //Això per si ja s'ha intentat trobar una solució per al solitari iniciSolucioSlot(); //obtenim les dades del solitari QStringList dadesFitxes=taulerJoc->solitariPersonalitzat_dadesFitxes(); //carregam el joc QString dades; if(p_arbreJocsActual==0){ //és un joc del programa dades=arbreModalitatsJocTreeWidget->selectedItems().first()->text(1);} else if (p_arbreJocsActual==1){ //és un joc de l'arbre de personalitzats/mod dades=arbreModalitatsJocPersonalitzatsTreeWidget->selectedItems().first()->text(1); } seguentCodiSolitariPersonalitzat.clear(); seguentCodiSolitariPersonalitzat.append(solitariPersonalitzat_nouCodiJoc(false)); taulerJoc->joc_CarregaJoc( dades, dadesFitxes.value(0), dadesFitxes.value(1)); taulerJoc->configuracioActual(true); //06/02/13 nou prod. actualitzaConfiguracionsInicials(); } //}//if arbreModalitatsJocTreeWidget } /* Quan es resol un solitari personalitzat * es desa a l'arbre de jocs personalitzats * (prèvia comprovació de que no està repetit) */ void frmPrincipal::solitariPersonalitzat_desarSolitari(){ /* Primer comprovam si el solitari ja està a l'arbre de solitaris * personalitzats */ solitariPersonalitzat_comprovaArbre(); } /* Comprova si el solitari personalitzat ja està * a l'arbre de solitaris personalitzats */ void frmPrincipal::solitariPersonalitzat_comprovaArbre(){ bool jocTrobat=false; //Capturam les dades del joc personalitzat actual //Primer cal tornar a l'inici del joc iniciSolucioSlot(); QStringList dadesFitxes=taulerJoc->solitariPersonalitzat_dadesFitxes(); if(arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItemCount()>0){ for(int i=0 ; itopLevelItemCount();++i){ QString tipusJoc=arbreModalitatsJocPersonalitzatsTreeWidget ->topLevelItem(i)->text(1).split(" ").value(1); tipusJoc=" "+tipusJoc+" "; if( (arbreModalitatsJocPersonalitzatsTreeWidget-> topLevelItem(i)->text(3)==dadesFitxes.value(1)) && (taulerJoc->p_tipusMoviment==tipusJoc.toInt()) ){ jocTrobat=true; } } } if(!jocTrobat){ QString nouCodi=solitariPersonalitzat_afegeixJoc(dadesFitxes); //renomenam l'arxiu de solucions solitariPersonalitzat_renomenaArxiuSolucio(nouCodi); //Eliminan els arxius .sol i .txt que hi pugui haver //de la modalitat de generació de solitaris solitariPersonalitzat_eliminaArxiuSolucio(); taulerJoc->setModalitatJocActual(nouCodi); //Tornam la situació al final de la solució finalSolucioSlot(true); } //Si el joc ja existeix, no té cap sentit conservar els arxius else {solitariPersonalitzat_eliminaArxiuSolucio(); //Tornam la situació al final de la solució //sense marcar el final del joc finalSolucioSlot(false);} } /* Afegeix un joc personalitzat a l'arbre */ QString frmPrincipal::solitariPersonalitzat_afegeixJoc(QStringList dadesJocList){ QTreeWidgetItem *item=new QTreeWidgetItem(); QString nouCodiSolitari=solitariPersonalitzat_nouCodiJoc(true); /* Capturam el nom del joc original * sense afegitons */ /*QString nomSolitari=nomDelJoc( arbreModalitatsJocTreeWidget->selectedItems().first()->text(4),false)+ afageixTipusMovimentNomJoc( arbreModalitatsJocTreeWidget->selectedItems().first()->text(1)) +" "+nouCodiSolitari;*/ QString nomSolitari=nomDelJoc( taulerJoc->nomJocActual(),false)+ afageixTipusMovimentNomJoc( QString(" %1 ").arg(taulerJoc->p_tipusMoviment)) // arbreModalitatsJocTreeWidget->selectedItems().first()->text(1)) +" "+nouCodiSolitari; if(esSolitariAmbFinalMarcat(dadesJocList.value(1))) { nomSolitari=nomSolitari+" *" ;} item->setText(0,nomSolitari); item->setToolTip(0,item->text(0)); //linea 0: codi joc, tipus moviment // QStringList dadesAntigues= // arbreModalitatsJocTreeWidget->selectedItems().first()->text(1).split(" "); //El codi del joc es reemplaça pel nou item->setText(1, QString("%1 %2 5 0").arg(nouCodiSolitari). arg(taulerJoc->p_tipusMoviment) ); //Actualitzat per els nous jocs //que són modificació d'altres ja existents // arg(dadesAntigues.value(1)) ); //linea 1: files i columnes item->setText(2,dadesJocList.value(0)); //linea 2: estat de les fitxes item->setText(3,dadesJocList.value(1)); //item->setText(4,arbreModalitatsJocTreeWidget->selectedItems().first()->text(4)); item->setText(4,taulerJoc->nomJocActual()); arbreModalitatsJocPersonalitzatsTreeWidget->addTopLevelItem(item); arbreModalitatsJocPersonalitzatsTreeWidget->expandAll(); arbreModalitatsJocPersonalitzatsTreeWidget->sortItems(0,Qt::AscendingOrder); //Actualitzam la capçalera QTreeWidgetItem *itemCapcalera=new QTreeWidgetItem(); QString textCapcalera; textCapcalera.append(tr("Jocs personalitzats")+" ("+ QString("%1").arg( arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItemCount())+")"); itemCapcalera->setText(0,textCapcalera); arbreModalitatsJocPersonalitzatsTreeWidget->setHeaderItem(itemCapcalera); //Ara ho afegim a l'arxiu de dades solitariPersonalitzat_desaJocArxiu(item->text(1),dadesJocList, item->text(4)); return nouCodiSolitari; } /* Afegeix les dades del joc personalitzat a l'arxiu * de dades /home/Solitari/game-per.dat */ void frmPrincipal::solitariPersonalitzat_desaJocArxiu(QString codi, QStringList dadesFitxes, QString codiNom){ comprovaDirectoriHome(); QString nomArxiu=QDir::homePath (); nomArxiu.append (QDir().separator()); nomArxiu.append (qApp->applicationName()); nomArxiu.append (QDir().separator()); nomArxiu.append ("game-per.dat"); QFile arxiu(nomArxiu); if (arxiu.open(QIODevice::Append)){ QTextStream entrada(&arxiu); entrada<<("######\n") ; entrada<<(codi+"\n") ; entrada<<(dadesFitxes.value(0)+"\n") ; entrada<<(dadesFitxes.value(1)+"\n") ; entrada<<(codiNom+"\n") ; } arxiu.close(); } /* Renomena l'arxiu amb la solució del solitari * personalitzat nou */ void frmPrincipal::solitariPersonalitzat_renomenaArxiuSolucio(QString nouCodi){ return; QString nomArxiu=nomArxiuJoc(2); QString nomArxiuModificat=nomArxiuJoc(2); nomArxiuModificat.replace("_"+taulerJoc->modalitatJocActual(),"_"+nouCodi); QFile::copy(nomArxiu,nomArxiuModificat); } /* Llegeix i carrega les dades dels jocs personalitzats * de l'arxiu /home/Solitari/games-per.dat a la llista * dadesArxiuData */ bool frmPrincipal::llegeixArxiuDataPersonalitzats(){ bool resultat=false; comprovaDirectoriHome(); QString arxiuData=QDir::homePath (); arxiuData.append (QDir().separator()); arxiuData.append (qApp->applicationName()); arxiuData.append (QDir().separator()); arxiuData.append ("game-per.dat"); QFile arxiu(arxiuData); if(arxiu.exists()){ if (arxiu.open(QIODevice::ReadOnly | QIODevice::Text)){ QTextStream entrada(&arxiu); QString linia0 = entrada.readLine(); dadesArxiuData.clear(); while (!linia0.isNull()) { if ( ! (linia0.mid(0,1)=="#") ){ dadesArxiuData.append(linia0); //tipus de joc for(int dades=0 ; dadesclearMessage(); /*Necessari per controlar les solucions distintes*/ retrocedeixMoviment=0; /*Això per preveure que es canvii dels jocs del programa *als jocs personalitzats sense haver eliminat *els arxius del joc personalitzat */ if( (tipusJocActual==0) && (noHiHaSolucionsArbreSolucions()) ){ solitariPersonalitzat_eliminaArxiuSolucio(); } // if (!arbreModalitatsJocTreeWidget->selectedItems().isEmpty()){ if (arbreModalitatsJocPersonalitzatsTreeWidget->selectedItems().count()==1){ QTreeWidgetItem *item; item=arbreModalitatsJocPersonalitzatsTreeWidget->selectedItems().first(); //No s'ha clicat el nus arrel if (item->childCount()==0){ movimentsUndoStack->clear(); iniciSolucioAction->setEnabled(movimentsUndoStack->canUndo()); //Reinciam el número d'intents de trobar //la solució intentsSolucio=0; jocResolt=0; //es tracta d'un joc personalitzat/modificat tipusJocActual=1; taulerJoc->joc_CarregaJoc(item->text(1),item->text(2),item->text(3)); taulerJoc->setCodiNomJocActual(item->text(4)); taulerJoc->setSolitariModificat(false); taulerJoc->setSolitariPersonalitzat(false); setArbreJocsActual(1); //30/12/12 Nova funció hihaRecord() QStringList tipusJoc = item->text(1).split(" "); QString record=hihaRecordJoc(tipusJoc.value(0)); if ( record != "0") { statusBar()->showMessage( QString(tr("Joc carregat. El vostre record actual és: %1")).arg(record)); } //06/02/13 nou prod. actualitzaConfiguracionsInicials(); //06/02/13 Innecessari! //comprovaArxiuSolucions(); veureSolucionsSlot(); } } } /*Carrega les dades dels solitaris personalitzats */ void frmPrincipal::carregaArbreModalitatsJocPersonalitzats(){ //Si no hi ha arxiu, no cal fer res! if ( !llegeixArxiuDataPersonalitzats()){ QTreeWidgetItem *item=new QTreeWidgetItem(); item->setText(0,tr("Cap joc personalitzat")); arbreModalitatsJocPersonalitzatsTreeWidget->setHeaderItem(item); return;} if (dadesArxiuData.size()>0){ QApplication::setOverrideCursor(Qt::WaitCursor); //netejam arbreModalitatsJocPersonalitzatsTreeWidget->clear(); arbreModalitatsJocPersonalitzatsTreeWidget->setColumnCount(numeroLiniesDadesJoc+1); arbreModalitatsJocPersonalitzatsTreeWidget->setColumnHidden(1,true); arbreModalitatsJocPersonalitzatsTreeWidget->setColumnHidden(2,true); arbreModalitatsJocPersonalitzatsTreeWidget->setColumnHidden(3,true); arbreModalitatsJocPersonalitzatsTreeWidget->setColumnHidden(4,true); //posam la capçalera de l'arbre QTreeWidgetItem *item=new QTreeWidgetItem(); item->setText(0,tr("Jocs personalitzats")); arbreModalitatsJocPersonalitzatsTreeWidget->setHeaderItem(item); QList itemsArbre; for(int llista=0 ; llistasetText(0,nomJoc); item->setToolTip(0,item->text(0)); //linea 0: codi joc, tipus moviment item->setText(1,dadesArxiuData.value(llista*(numeroLiniesDadesJoc))); //linea 1: files i columnes item->setText(2,dadesArxiuData.value(llista*(numeroLiniesDadesJoc)+1)); //linea 2: estat de les fitxes item->setText(3,dadesArxiuData.value(llista*(numeroLiniesDadesJoc)+2)); //linea 3: codi del nom del joc item->setText(4,dadesArxiuData.value(llista*(numeroLiniesDadesJoc)+3)); //posam l'icone OK si hi ha un rècord item->setIcon(0,QIcon(posaIconeOK(codi.value(0)))); itemsArbre.append(item); } arbreModalitatsJocPersonalitzatsTreeWidget->insertTopLevelItems(0,itemsArbre); arbreModalitatsJocPersonalitzatsTreeWidget->expandAll(); arbreModalitatsJocPersonalitzatsTreeWidget->sortItems(0,Qt::AscendingOrder); //Afegim el nombre de jocs de l'arbre al ròtul item->setText(0,tr("Jocs personalitzats")+" ("+QString::number( arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItemCount()) +")"); } QApplication::setOverrideCursor(Qt::ArrowCursor); } /* Elimina l'arxiu de la solució del solitari personalitzat * actual */ void frmPrincipal::solitariPersonalitzat_eliminaArxiuSolucio(){ return; if(arbreModalitatsJocTreeWidget->selectedItems().count()>0){ if( (solitariPersonalitzat_esPersonalitzat( arbreModalitatsJocTreeWidget->selectedItems().first()->text(1))) || (taulerJoc->solitariPersonalitzat()) ){ comprovaDirectoriHome(); QString nomArxiu=nomArxiuJoc(2); /*Això és necessari per evitar eliminar arxius d'altres jocs que tenguin solucions noves*/ if(solitariPersonalitzat_esPersonalitzat(nomArxiu) ){ QFile arxiu(nomArxiu); if (arxiu.exists()){ arxiu.remove(); qApp->processEvents(); nomArxiu=nomArxiuJoc(1); QFile arxiu1(nomArxiu); arxiu1.remove(); qApp->processEvents(); } } }//if arbre-text }//if arbre-count } /* Retorna el nou codi del solitari personalitzat */ QString frmPrincipal::solitariPersonalitzat_nouCodiJoc(bool nou){ QSettings codiJocPersonalitzat; int codi=codiJocPersonalitzat.value( QString("General/codiJocPer"),10000).toInt(); codi++; if(nou){ QSettings().setValue("General/codiJocPer",QString("%1").arg(codi));} return QString("%1").arg(codi); } /* Determina si el solitari actual és o no * personalitzat */ bool frmPrincipal::solitariPersonalitzat_esPersonalitzat(QString joc){ return (joc.contains("1001")) || (joc.contains("1002")) || (joc.contains("1003")); } /* Gestiona el canvi de selecció * de la fulla del tab amb els arbres de jocs * i solucions */ void frmPrincipal::canviTabSeleccionat( int tabSeleccionat){ if(tabSeleccionat==0) { //tab dels jocs del programa seleccioModalitatJoc();} else if (tabSeleccionat==2) { //Forçam que hi hagi un ítem seleccionat if(arbreModalitatsJocPersonalitzatsTreeWidget->children().count()>0){ if(arbreModalitatsJocPersonalitzatsTreeWidget->selectedItems().empty()){ arbreModalitatsJocPersonalitzatsTreeWidget->setCurrentItem( arbreModalitatsJocPersonalitzatsTreeWidget->topLevelItem(0));} //tab dels jocs personalitzats seleccioModalitatJocPersonalitzat();}} } /* Retorna el tipus de moviment en text * (invers/diagonal) */ QString frmPrincipal::afageixTipusMovimentNomJoc(QString tipus){ if(tipus.contains(" 2 ")){ return tr(" - invers"); } else if (tipus.contains(" 3 ")){ return tr(" - diagonal"); } else return ""; } /* Retorna el nom del joc * (sense afegitons segons el paràmetre) */ QString frmPrincipal::nomDelJoc(QString codi, bool complet){ //Cadenes amb els noms de les modalitats de joc per a la traducció //El codi de joc de data.sol cal que coincideixi amb l'index a l'array //El primer és el ròtul de l'arbre amb les modalitats del joc /* 17/06/12 v. 1.3 * S'ha modificat tot el sistema de traducció per evitar haver de posar * totes les cadenes que només es diferencien en el número d'ordre * Ara, cada cadena única està a la matriu següent, i desprès * s'assigna un numero d'ordre segons les repeticions * (amb un arxiu ini) */ static const char *const nomModalitatsJoc[] = { QT_TR_NOOP("Modalitats del joc"), QT_TR_NOOP("Clàssic"), // 1 QT_TR_NOOP("Clàssic - simetria"), // 2 QT_TR_NOOP("Clàssic - pentàgon"), //3 QT_TR_NOOP("Clàssic - creu petita"), //4 QT_TR_NOOP("Clàssic - creu gran"), //5 // QT_TR_NOOP("Clàssic - invers"), // 6->1 QT_TR_NOOP("Solitari estrella 7x7"), //6 QT_TR_NOOP("Clàssic - superior"), // 7 QT_TR_NOOP("Clàssic - inferior"), //8 QT_TR_NOOP("Clàssic - fletxa"), //9 QT_TR_NOOP("Clàssic - piràmide"), //10 QT_TR_NOOP("Clàssic - diamant"), //11 QT_TR_NOOP("Clàssic - rombe"), //12 QT_TR_NOOP("Solitari 3x5"), //13 QT_TR_NOOP("Triangular 4x7"), //14 QT_TR_NOOP("Europeu"), //15 QT_TR_NOOP("Asimètric 8x8"), //16 // QT_TR_NOOP("Clàssic - diagonal"), //17->1 QT_TR_NOOP("Solitari 6x7"), //107->17 QT_TR_NOOP("Asimètric - superior"), //18 QT_TR_NOOP("Asimètric 8x8"), //19 QT_TR_NOOP("Clàssic - central"), //20 // QT_TR_NOOP("Europeu - diagonal"), //21->15 QT_TR_NOOP("Solitari OK"), //106->21 QT_TR_NOOP("Quadrat 5x5"), //22 QT_TR_NOOP("Clàssic - quadrat central"), //23 QT_TR_NOOP("Clàssic - rectangle central"), //24 QT_TR_NOOP("Clàssic - arbre"), //25 QT_TR_NOOP("Quadrat 5x5 - central"), //26 QT_TR_NOOP("Quadrat 5x5 - H"), //27 QT_TR_NOOP("Wiegleb"), //28 QT_TR_NOOP("Diamant 9x9"), //29 QT_TR_NOOP("Europeu - creu"), //30 QT_TR_NOOP("Wiegleb - clàssic"), //31 // QT_TR_NOOP("Europeu diagonal"), //32->15 QT_TR_NOOP("Solitari 6x6"), //104->32 QT_TR_NOOP("Quadrat 6x6"), //33 QT_TR_NOOP("Diamant 5x5"), //34 QT_TR_NOOP("Diamant 7x7"), //35 QT_TR_NOOP("Anglès antic"), //36 QT_TR_NOOP("Incomplet 6x6"), //37 QT_TR_NOOP("Incomplet 7x7"), //38 QT_TR_NOOP("Wiegleb reduit"), //39 QT_TR_NOOP("Solitari 8x9"), //40 QT_TR_NOOP("Solitari 5x6"), //41 QT_TR_NOOP("Wiegleb - fletxa"), //42 QT_TR_NOOP("Clàssic - E"), //43 QT_TR_NOOP("Clàssic - R"), //44 QT_TR_NOOP("Clàssic - T"), //45 QT_TR_NOOP("Solitari 5x6"), //46 QT_TR_NOOP("Quadrat 6x6"), //47 QT_TR_NOOP("Quadrat 5x5 - quadrats"), //48 QT_TR_NOOP("Triangular 4x7"), //49 QT_TR_NOOP("Triangular 4x7 - quadrat"), // 50 QT_TR_NOOP("Triangular 4x7 - piràmide"), //51 QT_TR_NOOP("Quadrat 5x5 - piràmide"), //52 QT_TR_NOOP("Solitari 7x5"), //53 QT_TR_NOOP("Asimètric 6x6"), //54 QT_TR_NOOP("Quadrat 9x9"), //55 QT_TR_NOOP("Anglès antic - diamant"), //56 QT_TR_NOOP("Triangular 5"), // 57 QT_TR_NOOP("Triangular 4"), //58 QT_TR_NOOP("Triangular 6"), //59 QT_TR_NOOP("Wiegleb - creu petita"), //60 QT_TR_NOOP("Wiegleb - simetria"), //61 // QT_TR_NOOP("Wiegleb diagonal"), //62->28 QT_TR_NOOP("Clàssic - quadrat"), //102->62 QT_TR_NOOP("Asimètric 6x6"), //63 QT_TR_NOOP("Asimètric 8x8"), //64 // QT_TR_NOOP("Europeu invers"), //65->15 QT_TR_NOOP("Clàssic - cúpula"), //101->65 // QT_TR_NOOP("Wiegleb invers"), //66->28 QT_TR_NOOP("Clàssic - Cabana"), //100->66 QT_TR_NOOP("Wiegleb reduit"), // 67 QT_TR_NOOP("Solitari 3x5 bis"), //68 QT_TR_NOOP("Solitari 4x4"), //69 QT_TR_NOOP("Solitari 6x5"),//70 QT_TR_NOOP("Solitari 4x5"),//71 QT_TR_NOOP("Triangular 7"), //72 QT_TR_NOOP("Triangular 8"), //73 QT_TR_NOOP("Triangular 9"), //74 QT_TR_NOOP("Europeu - quadrat"), //75 QT_TR_NOOP("Clàssic - molinet"), //76 QT_TR_NOOP("Triangular 10"), //77 QT_TR_NOOP("Quadrat 8x8"), //78 QT_TR_NOOP("Solitari 7x5"), //79 QT_TR_NOOP("Clàssic - quadrat central"), //80 QT_TR_NOOP("Clàssic - O"), //81 //nous versió 1.2 QT_TR_NOOP("Dos quadrats 10x10"), //82 QT_TR_NOOP("Dos quadrats 11x11"), //83 QT_TR_NOOP("Tres quadrats 16x16"), //84 QT_TR_NOOP("Dos quadrats 9x9"), //85 QT_TR_NOOP("Tres quadrats 13x13"), //86 QT_TR_NOOP("Quatre quadrats 13x13"), //87 QT_TR_NOOP("Clàssic ampliat"), //88 QT_TR_NOOP("Diamant 9x9"), //89 QT_TR_NOOP("Rombe 36"), //90 // Nous versió 2.0 QT_TR_NOOP("Hexagonal inclinat"), //91 QT_TR_NOOP("Clàssic - 4 forquilles"), //92 QT_TR_NOOP("Pentagonal"), //93 QT_TR_NOOP("Hexagonal 7x11"), //94 QT_TR_NOOP("Clàssic - Dos quadrats"), //95 QT_TR_NOOP("Clàssic - Banyes"), //96 QT_TR_NOOP("Clàssic - X"), //97 QT_TR_NOOP("Clàssic - Torxa"), //98 QT_TR_NOOP("Clàssic - Palau"), //99 // QT_TR_NOOP("Clàssic - quadrat"), //102->28 QT_TR_NOOP("Personalitzat"), //105->100 QT_TR_NOOP("Solitari a l'atzar"), //103->101 // QT_TR_NOOP("Personalitzat - diagonal"), //109->105 // QT_TR_NOOP("Personalitzat - invers"), //110->105 QT_TR_NOOP("Solo"), //102 QT_TR_NOOP("Solitari 8x3"), //103 QT_TR_NOOP("Solitari 8x6"), //104 0 }; QString nom=tr(nomModalitatsJoc[codi.toInt()]); if (!complet){ QStringList nomList=nom.split(" - "); nom=nomList.value(0); } return nom; } /* Arbre del joc actual. * Es fa servir per saber quin tipus de joc * està actiu * 0: arbre dels jocs del programa * 1: arbre dels jocs personalitzats */ void frmPrincipal::setArbreJocsActual(int valor){ p_arbreJocsActual=valor; } /* Actualitza les cadenes que conservan la configuració * de les fitxes a l'inici del joc */ void frmPrincipal::actualitzaConfiguracionsInicials(){ //qCritical("solucioJocActual_configuracioInicial %s",qPrintable(solucioJocActual_configuracioInicial)); solucioJocActual_configuracioInicial.clear(); solucioJocActual_configuracioInicial.append(taulerJoc->configuracioActual(true)); //jocActual_configuracioInicialFitxesMarcades.clear(); //jocActual_configuracioInicialFitxesMarcades.append( // taulerJoc->configuracioInicialAmbFitxesMarcades()); //qCritical("jocActual_configuracioInicialFitxesMarcades %s",qPrintable(jocActual_configuracioInicialFitxesMarcades)); } /* Versió 2.1 * Degut als canvis de QHash a QMap a la migració a Qt5, * cal canviar els noms dels arxius de solucions anteriors * a aquesta versió. No és possible fer el canvi dels arxius * de solitaris personalitzats */ void frmPrincipal::actualitzaCodisArxiusDeSolucio(){ //Si no existeix el directori $home/Solitari // o ja s'ha fet la migració, no feim res. QDir dirArxiu(QDir::homePath ()); if ((dirArxiu.exists(qApp->applicationName())) && (QSettings().value("General/migracio")<"2.1") ){ bool migracio=false; //Camviam el nom del directori Solitari a Solitari_seg QApplication::setOverrideCursor(Qt::WaitCursor); QDir dirSolitari(QDir::homePath ()+QDir().separator()+qApp->applicationName()); dirSolitari.rename(QDir::homePath ()+QDir().separator()+qApp->applicationName(), QDir::homePath ()+QDir().separator()+qApp->applicationName()+"_seg"); //tornam a generar el direcotri Solitari comprovaDirectoriHome(); //Primer carregam els noms dels arxius antics i nous de l'arxiu codis.txt QStringList nomsArxius; QString nomArxiu=directoriLinux()+QDir().separator()+"games/codis.txt"; QFile arxiuData(nomArxiu); if (!arxiuData.open(QIODevice::ReadOnly | QIODevice::Text)){ QMessageBox::critical(this, tr("Solitari"), QString(tr("No s'ha trobat l'arxiu %1")).arg(nomArxiu) ); return ; } QTextStream entrada(&arxiuData); QString linia0 = entrada.readLine(); nomsArxius.clear(); while (!linia0.isNull()) { nomsArxius.append(linia0); linia0 = entrada.readLine(); }//final del while de la lectura de l'arxiu // qDebug("noms arxius %d",nomsArxius.count()); /* Per cada nom a un lloc senar de la llista, cal comprovar * si existeix l'arxiu en el directori /Solitari * i, en cas positiu, canviar el nom de l'arxiu pel nom nou i * eliminar l'arxiu de posicions eliminades (amb el mateix nom * però extensió .txt */ for(int i=0 ; iapplicationName()+"_seg"+QDir().separator()+nomsArxius.value(i*2)+".sol"; QString nomArxiuSolucionsNou=QDir::homePath ()+QDir().separator()+ qApp->applicationName()+QDir().separator()+nomsArxius.value(i*2+1)+".sol"; QFile arxiuSolucions(nomArxiuSolucionsAntic); //Renomenam l'arxiu de solucions if (arxiuSolucions.exists()){ // qCritical("Existeix l'arxiu %s", qPrintable(nomArxiuSolucionsAntic)); (arxiuSolucions.copy(nomArxiuSolucionsNou)); migracio=true; } //Copiam l'arxiu game-per.data (si existeix) QString nomarxiuSolitarisPersonalitzats=QDir::homePath ()+QDir().separator()+ qApp->applicationName()+"_seg"+QDir().separator()+"game-per.dat"; QFile arxiuSolitarisPersonalitzats(nomarxiuSolitarisPersonalitzats); if (arxiuSolitarisPersonalitzats.exists()){ arxiuSolitarisPersonalitzats.copy(QDir::homePath ()+QDir().separator()+ qApp->applicationName()+QDir().separator()+"game-per.dat"); migracio=true; } } if (migracio){ QDesktopServices::openUrl(QUrl("file:///"+directoriLinux()+ QDir().separator()+ DIR_HELP+ QDir().separator()+ "migracio.html", QUrl::TolerantMode)); //Desam a la configuració que s'ha fet la migració QSettings().setValue(QString("General/migracio"),"2.1"); } QApplication::setOverrideCursor(Qt::ArrowCursor); } } peg-solitaire-2.2/scr/funcions.h0000644000175000017500000000231413113047546017023 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef FUNCIONS_H #define FUNCIONS_H #include /* Directoris linux */ QString directoriLinux(); /* Número de fitxes de la configuració passada per parámetre */ int numeroConfiguracio(QString config); QString coordenadesAMoviment(QString coordenades); /* fa una pausa en milisegons*/ //void pausa(int temps); #endif // FUNCIONS_H peg-solitaire-2.2/scr/rellotge.h0000644000175000017500000000341213113035231017000 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #ifndef RELLOTGE_H #define RELLOTGE_H #include #include class QTimer; class Rellotge : public QLabel { Q_OBJECT public: Rellotge(QWidget * parent = 0, Qt::WindowFlags f = 0 ); void iniciaRellotge(); void reIniciaRellotge(); void aturaRellotge(); /* Si tipus=0 retorna el temps amb format tipus=1 retorna nomès el temps */ QString retornaTemps(int tipus=0); void estableixTemps(QString temps); bool rellotgeEnMarxa(); int get_minuts() const{ return minuts; } int get_segons() const{ return segons; } // int get_milisegons10() const{ // return milisegons10; // } int retornarSegonsTotals(); private slots: void actualitzaRellotge(); private: QTimer *rellotgeQTimer; int hores,minuts,segons,milisegons10; bool p_rellotgeEnMarxa; }; #endif // RELLOTGE_H peg-solitaire-2.2/scr/main.cpp0000644000175000017500000000532113113035231016443 0ustar demarchidemarchi/*********************************************************************** * * Copyright (C) 2010-2017 Innocent De Marchi * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * ***********************************************************************/ #include #include #include #include #include #include #include "frmprincipal.h" #include "funcions.h" QTranslator *qt_translator; QTranslator *appTranslator; int main(int argc, char *argv[]) { QApplication app(argc, argv); app.setApplicationName("Solitari"); app.setApplicationVersion("2.2"); app.setOrganizationName("De Marchi"); //Això pels accents a les cadenes QTextCodec *linuxCodec = QTextCodec::codecForName("UTF-8"); // QTextCodec::setCodecForTr(linuxCodec); // QTextCodec::setCodecForCStrings(linuxCodec); QTextCodec::setCodecForLocale(linuxCodec); QPixmap pixmap(directoriLinux()+QDir().separator()+"images"+QDir().separator()+"asimetric_jugant.png"); QSplashScreen splash(pixmap); splash.show(); //Sense aquesta línia,la imatge no s'actualitza splash.showMessage(""); //Això per a que surtin traduïdes les cadenes dels formularis predefinits Qt QString qt_translatorFileName = QLatin1String("qt_"); qt_translatorFileName += QLocale::system().name(); qt_translator = new QTranslator(); if (qt_translator->load(qt_translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) app.installTranslator(qt_translator); //15/02/15 A windows cal posar /*if (qt_translator->load(qt_translatorFileName, QApplication::applicationDirPath())) app.installTranslator(translator);*/ //Això per les traduccions appTranslator= new QTranslator(); appTranslator->load("solitari_" + QLocale::system().name(), app.applicationDirPath()+QDir().separator()+"locales"); app.installTranslator(appTranslator); frmPrincipal *frmMDI=new frmPrincipal(); frmMDI->show(); splash.finish(frmMDI); return app.exec(); }