Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
SUDOKU
Auteur Message
Répondre en citant
Message SUDOKU 
Hello,

Voici un petit Sudoku entièrement en Batch et en couleur ^^ , sans commande externe, fonctionne avec toutes Versions de Windows ^^
N'hésitez pas à ajouter des grilles de jeux ... et à améliorer le "graphisme" Wink

Code:

@echo off
title SUDOKU  ^|  By STRYK  ^|
mode con cols=54 lines=35 &color 0A

::                         Copyright © :  stryk@live.fr

:RESTART
:: INIT VAR
:: Good job BILOU for this part !
for %%A in (A,B,C,D,E,F,G,H,I) do (
    for /l %%B in (1,1,9) do (
        set %%A%%B=Û
))

call :TXTCOLOR
set COLOR=TXTCOLOR.exe

%COLOR% BB 0 "######################################################"
%COLOR% 5A 0 "                                                      "
%COLOR% 5E 0 "  --------------------------------------------------  "
%COLOR% 5E 0 " |                                                  | "
%COLOR% 5E 0 " |      __         ___  ___                         | "
%COLOR% 5E 0 " |     / _\/\ /\  /   \/___\/\ /\/\ /\              | "
%COLOR% 5E 0 " |     \ \/ / \ \/ /\ //  // //_/ / \ \             | "
%COLOR% 5E 0 " |     _\ \ \_/ / /_// \_// __ \\ \_/ /             | "
%COLOR% 5E 0 " |     \__/\___/___,'\___/\/  \/ \___/"
%COLOR% 5C 0 "  By STRYK    "
%COLOR% 5E 0 "| "
%COLOR% 5E 0 " |                                                  | "
%COLOR% 5E 0 " |                                                  | "
%COLOR% 5E 0 "  --------------------------------------------------  "
%COLOR% 5E 0 "                                                      "
%COLOR% BB 1 "######################################################"
echo. &echo. &echo.
echo         Veuillez choisir une grille de jeu
echo.
echo            Grilles disponibles:  1 ou 2
echo. &echo. &echo. &echo.
%COLOR% 0A 0 "  Tapez "
%COLOR% F0 0 "[1]"
%COLOR% 0A 0 " ou "
%COLOR% F0 0 "[2]"
%COLOR% 0A 0 " puis "
%COLOR% F0 0 "[ENTER]"
echo  pour jouer au SUDOKU
echo. &echo.
set GAME=1
set /p GAME= \\:
set GRILLE=GRILLE_%GAME%
set THIS_FILE=%0
for /f "tokens=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26" %%A in ('type %THIS_FILE% ^| Find "%GRILLE%_SET"') do (
   set %%A
   set %%B
   set %%C
   set %%D
   set %%E
   set %%F
   set %%G
   set %%H
   set %%I
   set %%J
   set %%K
   set %%L
   set %%M
   set %%N
   set %%O
   set %%P
   set %%Q
   set %%R
   set %%S
   set %%T
   set %%U
   set %%V
   set %%W
   set %%X
   set %%Y
   )

:WALL
color 4E
cls
%COLOR% 4A 1 "        __         ___  ___ "
%COLOR% 4A 1 "       / _\/\ /\  /   \/___\/\ /\/\ /\ "
%COLOR% 4A 1 "       \ \/ / \ \/ /\ //  // //_/ / \ \ "
%COLOR% 4A 1 "       _\ \ \_/ / /_// \_// __ \\ \_/ / "
%COLOR% 4A 0 "       \__/\___/___,'\___/\/  \/ \___/ "
%COLOR% 4B 1 "  By STRYK"
echo.
echo.
%COLOR% 4E 0 "          |"
%COLOR% 4D 0 " 1"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 2"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 3"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 4"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 5"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 6"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 7"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 8"
%COLOR% 4E 0 " |"
%COLOR% 4D 0 " 9"
%COLOR% 4E 1 " |"

echo           ³   ³   ³   ³   ³   ³   ³   ³   ³   ³
echo        ÄÄÄÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
%COLOR% 4D 0 "       A"
echo   º %A1% ³ %A2% ³ %A3% º %A4% ³ %A5% ³ %A6% º %A7% ³ %A8% ³ %A9% º
echo        ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺ
%COLOR% 4D 0 "       B"
echo   º %B1% ³ %B2% ³ %B3% º %B4% ³ %B5% ³ %B6% º %B7% ³ %B8% ³ %B9% º
echo        ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺ
%COLOR% 4D 0 "       C"
echo   º %C1% ³ %C2% ³ %C3% º %C4% ³ %C5% ³ %C6% º %C7% ³ %C8% ³ %C9% º
echo        ÄÄĺÍÍÍÍÍÍÍÍÍÍͺÍÍÍÍÍÍÍÍÍÍͺÍÍÍÍÍÍÍÍÍÍͺ
%COLOR% 4D 0 "       D"
echo   º %D1% ³ %D2% ³ %D3% º %D4% ³ %D5% ³ %D6% º %D7% ³ %D8% ³ %D9% º
echo        ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺ
%COLOR% 4D 0 "       E"
echo   º %E1% ³ %E2% ³ %E3% º %E4% ³ %E5% ³ %E6% º %E7% ³ %E8% ³ %E9% º
echo        ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺ
%COLOR% 4D 0 "       F"
echo   º %F1% ³ %F2% ³ %F3% º %F4% ³ %F5% ³ %F6% º %F7% ³ %F8% ³ %F9% º
echo        ÄÄĺÍÍÍÍÍÍÍÍÍÍͺÍÍÍÍÍÍÍÍÍÍͺÍÍÍÍÍÍÍÍÍÍͺ
%COLOR% 4D 0 "       G"
echo   º %G1% ³ %G2% ³ %G3% º %G4% ³ %G5% ³ %G6% º %G7% ³ %G8% ³ %G9% º
echo        ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺ
%COLOR% 4D 0 "       H"
echo   º %H1% ³ %H2% ³ %H3% º %H4% ³ %H5% ³ %H6% º %H7% ³ %H8% ³ %H9% º
echo        ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺÄÄÄ+ÄÄÄ+ÄÄĺ
%COLOR% 4D 0 "       I"
echo   º %I1% ³ %I2% ³ %I3% º %I4% ³ %I5% ³ %I6% º %I7% ³ %I8% ³ %I9% º
echo        ÄÄÄÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo.
echo.
set /p SELECT=Selectionnez une case \\:
echo.
set /p NEW_VAL=Entrez Votre proposition \\:
set %SELECT%=%NEW_VAL%

set AA=%A1%%A2%%A3%%A4%%A5%%A6%%A7%%A8%%A9%
set BB=%B1%%B2%%B3%%B4%%B5%%B6%%B7%%B8%%B9%
set CC=%C1%%C2%%C3%%C4%%C5%%C6%%C7%%C8%%C9%
set DD=%D1%%D2%%D3%%D4%%D5%%D6%%D7%%D8%%D9%
set EE=%E1%%E2%%E3%%E4%%E5%%E6%%E7%%E8%%E9%
set FF=%F1%%F2%%F3%%F4%%F5%%F6%%F7%%F8%%F9%
set GG=%G1%%G2%%G3%%G4%%G5%%G6%%G7%%G8%%G9%
set HH=%H1%%H2%%H3%%H4%%H5%%H6%%H7%%H8%%H9%
set II=%I1%%I2%%I3%%I4%%I5%%I6%%I7%%I8%%I9%

goto :VERIF_GRILLE_%GAME%

:FINISH
cls
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo  º                                                  º
echo  º                 ---  BRAVO  ---                  º
echo  º                                                  º
echo  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo. &echo. &echo. &echo.
echo                Grille %GAME% termin‚e
echo. &echo. &echo.
echo  Appuyez sur une touche pour choisir une autre grille
pause>nul
goto :RESTART

:: INDEX

:: GRILLE 1
GRILLE_1_SET A2=7 A4=1 A6=6 A7=9 B1=2 B5=9 B6=3 C3=8 C9=2 D3=6 D9=3 E2=1 E5=3 E8=9 F1=8 F7=5 G1=7 G7=4 H4=9 H5=1 H9=6 I3=4 I4=3 I6=7 I8=2
:VERIF_GRILLE_1
if %AA%%BB%%CC%%DD%%EE%%FF%%GG%%HH%%II%==375126984241893765698475132956781243417532698823649517739268451582914376164357829 goto :FINISH
goto :WALL

:: GRILLE 2
GRILLE_2_SET A1=5 A9=2 B1=8 B4=1 B5=3 B8=5 C5=4 C6=6 C7=8 D6=1 D7=7 D8=4 E5=8 F2=1 F3=3 F4=9 G3=6 G4=8 G5=1 H2=2 H5=5 H6=3 H9=7 I1=9 I9=1
:VERIF_GRILLE_2
if %AA%%BB%%CC%%DD%%EE%%FF%%GG%%HH%%II%==564798132897132456231546879689321745752684913413975268376819524128453697945267381 goto :FINISH
goto :WALL

:: ##############################  TXT_COLOR  By CARLOS  ##############################
:: Merci à CARLOS pour le code source en batch de cette commande externe  ^^
:TXTCOLOR
Echo.Const W=^2>t.vbs&Echo.Set o=WScript.StdOut>>t.vbs
For %%b In (
"4D53434600000000BA030000000000002C000000000000000301010001000000000000"
"004900000001000100D20700000000000000009E3B8A662000747874636F6C6F722E65"
"78650063EB078D6903D207434BDD544B681341189E6D538D35352AE2030F4EC44A458D"
"55113C88D4C75A85AA5B5A2F8AD66D324997A6BB7177A2297868498B9450ECA182871E"
"7AF0E0C183878AA98844DA83828288074FE24549B1A00785452AEB3F8F3C5A7C54BD39"
"F0E77F7FF3CD9FD9397976045523847C209E87500E89D5847EBFFA40566C7AB0024D2C"
"7B1ECA292DCF43ED5D868393B615B7F51E1CD14DD3A2B893603B6562C3C4474FB7E11E"
"2B4AC27575B55B2486A622D4A254CDC37D8B82D5CB9525F3624DABE167250896EC985D"
"25782354D6A851C4A70F237E2E5EB8B25297145F1701EFC022CEFAA76B0C70F7FF221F"
"A6244D8B644036540BDE950B202E86A33AD5C17EA188C04BA6E78F864D23FFB73CCF0C"
"BDEB9F6D006324ABFA33AE2F38180016593590C9FBB2FED6C228789969DF903AC7637E"
"16EB2BC6DCAC3A9771157E6782A3F9C17C7060032A77071F295AE19C289EB9C413505E"
"5559DEB4B07C872867B97D15B9CC6385A7EBCAE9B5909EA945F2CACE0498C586F3A146"
"04D80FA7EDFE8CA25FEE995704C53298E865C7630D5F7983CBCC8F254E93EC8F6B9D64"
"95AD6C28190E12280D6AB2767E3E52CC33D47ED7637CAE8D0BE48C8B8203AB8AB6121C"
"A86124328CCE17CFF3B44258617C3E0FAB6FB4ACFA592B6C55F830FBDFB24F5684362A"
"9259207BD21D525F0F3E9530FC544B71139A616EAE062CE8789D455A0E31BBC04E0BCC"
"82F7D5F702EA45690EEB99E5E75553BCCAC747CCE7F374AA747FD6B0FB9313439BCDB1"
"0F0FB091025D3778979F776985EB0263589DD578B5360CDB0DAB2EC89C56E8E5D9358C"
"02CC010462E7BF791E9FDAA7ACFA492B5C1000B0B5573F86D9E5F1EAC7A5BE25F56DA9"
"A7A57E22F533A9EF487D57EA09A973523FC48B79FBFE9755EFD43B08AE084DD38895B0"
"EC304913DCA947BAE3B69532A30D8D3B8F6D8B5936A970E181374C7A8A5C69314CD2D0"
"B86BF736BC997611CC5EB4CDB50BF05FE1B21D08897771AE22761562D3F8C7DCD6410E"
"836C07D9077210A419A41D8480A442A26E08F44D907BA17FEBEB712E476C1A8E2612E0"
"38D44E10130CC349478DB841B959B4204B2D56C6671103A3236299D4B612B124733A1C"
"423BF464B283F626090FC409EDD10D53B7E30EF8240D30DDC4364962EF1EB96333A16D"
"347A5C37A30922DC2396E95809D216B109310FA76231629F30631624DB4AC97698FA21"
) Do >>t.vbs (
Echo.For b=1To 69Step 2:o.Write Chr(Clng("&H"^&Mid(%%b,b,W^)^)^):Next)
For %%b In ("4A6DA33345591BFA0E"
) Do >>t.vbs (
Echo.For b=1To 17Step 2:o.Write Chr(Clng("&H"^&Mid(%%b,b,W^)^)^):Next)
Cscript /Nologo t.vbs > TXTCOLOR.ex_
Del /f /q /a t.vbs >nul 2>&1
Expand -r TXTCOLOR.ex_ >nul 2>&1
Del /f /q /a TXTCOLOR.ex_ >nul 2>&1
Goto :Eof
:: ################################  End TXT_COLOR  ################################




Dernière édition par stryk le Sam 24 Avr 2010 - 20:06; édité 2 fois

______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message SUDOKU 
Jolie jolie !
J'aime bien, à un détail pret : on peut tricher ...
en modifiant les cases qui on un numéro au départ. ^^



Répondre en citant
Message SUDOKU 
Salut,

Heu ... nan en fait, pas possible de tricher ...
Même en modifiant les cases de départ, le résultat est fixé dans cette partie du code:
Code:

if %AA%%BB%%CC%%DD%%EE%%FF%%GG%%HH%%II%==375126984241893765698475132956781243417532698823649517739268451582914376164357829

Il faut vraiment que toutes les cases soient justes pour gagner Wink




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message SUDOKU 
ah ok d'accord, pourrait tu m'expliquer rapidement cette partie ?
Que signifie ceci %AA%%BB%... ?



Répondre en citant
Message SUDOKU 
Salut,

Oui, bien sur, tu vas voir c'est tout bête !

Donc dans cette partie, il y a concaténation des valaurs des cases:
Code:

set AA=%A1%%A2%%A3%%A4%%A5%%A6%%A7%%A8%%A9%
set BB=%B1%%B2%%B3%%B4%%B5%%B6%%B7%%B8%%B9%
set CC=%C1%%C2%%C3%%C4%%C5%%C6%%C7%%C8%%C9%
set DD=%D1%%D2%%D3%%D4%%D5%%D6%%D7%%D8%%D9%
set EE=%E1%%E2%%E3%%E4%%E5%%E6%%E7%%E8%%E9%
set FF=%F1%%F2%%F3%%F4%%F5%%F6%%F7%%F8%%F9%
set GG=%G1%%G2%%G3%%G4%%G5%%G6%%G7%%G8%%G9%
set HH=%H1%%H2%%H3%%H4%%H5%%H6%%H7%%H8%%H9%
set II=%I1%%I2%%I3%%I4%%I5%%I6%%I7%%I8%%I9%


donc là, il s'agit de la suite des valeurs des cases:
Code:

%AA%%BB%%CC%%DD%%EE%%FF%%GG%%HH%%II%


Et à chaque saisie d'une valaur de case, le batch va vérifier si toutes les cases sont justes:
Code:

if %AA%%BB%%CC%%DD%%EE%%FF%%GG%%HH%%II%==375126984241893765698475132956781243417532698823649517739268451582914376164357829





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message Publicité 


Répondre en citant
Message SUDOKU 
Ah d'accord, je ne savais pas qu'on pouvait faire ca.



Répondre en citant
Message SUDOKU 
Hello,

Spéciale dédicace pour Laddy qui trouvait la couleur: "hey ca pête les yeux !" ( je cite .. ) Mr. Green
J'ai ajouté des p'tites couleurs grace au code de CARLOS ^^

@++








______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message SUDOKU 
SALUT
Very Nice as you dear stryk Okay Okay



Répondre en citant
Message SUDOKU 
Petite amélioration de ton code !!!
Au lieu de mettre :
Code:

set A1=Û
set A2=Û
set A3=Û
set A4=Û
set A5=Û
set A6=Û
set A7=Û
set A8=Û
set A9=Û
set B1=Û
set B2=Û
set B3=Û
set B4=Û
set B5=Û
set B6=Û
set B7=Û
set B8=Û
set B9=Û
set C1=Û
set C2=Û
set C3=Û
set C4=Û
set C5=Û
set C6=Û
set C7=Û
set C8=Û
set C9=Û
set D1=Û
set D2=Û
set D3=Û
set D4=Û
set D5=Û
set D6=Û
set D7=Û
set D8=Û
set D9=Û
set E1=Û
set E2=Û
set E3=Û
set E4=Û
set E5=Û
set E6=Û
set E7=Û
set E8=Û
set E9=Û
set F1=Û
set F2=Û
set F3=Û
set F4=Û
set F5=Û
set F6=Û
set F7=Û
set F8=Û
set F9=Û
set G1=Û
set G2=Û
set G3=Û
set G4=Û
set G5=Û
set G6=Û
set G7=Û
set G8=Û
set G9=Û
set H1=Û
set H2=Û
set H3=Û
set H4=Û
set H5=Û
set H6=Û
set H7=Û
set H8=Û
set H9=Û
set I1=Û
set I2=Û
set I3=Û
set I4=Û
set I5=Û
set I6=Û
set I7=Û
set I8=Û
set I9=Û



Passe plutôt par deux commande for, ceux qui ressemblerait a ça:
Code:

for %%i in (A,B,C,D,E,F,G,H,I) do (
   for /l %%j in (1,1,9) do (
      set %%i%%j=Û
))


Cordialement,
Bilou.



Dernière édition par bilou le Mer 23 Juin 2010 - 19:01; édité 2 fois
Visiter le site web du posteur
Répondre en citant
Message SUDOKU 
Hello Bilou ^^

Nice Okay , je ne m'étais jamais penché sur cette partie du code Confused
Merci bien, 1er post modifié !




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Charte | Conditions générales d'utilisation
Copyright Batch 2008-2022