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"
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