#######################################################################################################################################
# #
# G E N E R A T I O N D ' U N E G R I L L E D E S U D O K U : #
# #
# #
# Author of '$xiirv/.SUDO.11.3.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20140929154549). #
# #
#######################################################################################################################################
$Z SETParam _____Passes 20
$Z SETParam _____Palette $xiP/Sudoku.01
$Z SformatI
$Z XYmaxNe `calcul $XnSuDoKu-$X0SuDoKu` `calcul $YnSuDoKu-$Y0SuDoKu`
$Z FilSTmpB ISuDoKu
$Z $xci/init$X \
$Z niveau=$NOIR \
$Z R=$ISuDoKu \
$Z $formatI
$Z set X_SuDoKu=$X0SuDoKu
$Z while ($X_SuDoKu <= $XnSuDoKu)
$Z set Y_SuDoKu=$Y0SuDoKu
$Z while ($Y_SuDoKu <= $YnSuDoKu)
$Z set LiGnE=`$CA $FSuDoKu | $GRE " X=$X_SuDoKu Y=$Y_SuDoKu "`
$Z set LiGnE=" $LiGnE "
$Z set XLiGnE=`echo "$LiGnE" | $SE -e 's/^.* X=\([^ ][^ ]*\) .*$/\1/'`
$Z set YLiGnE=`echo "$LiGnE" | $SE -e 's/^.* Y=\([^ ][^ ]*\) .*$/\1/'`
$Z set CLiGnE=`echo "$LiGnE" | $SE -e 's/^.* C=\([^ ][^ ]*\) .*$/\1/'`
$Z @ XLiGnE = $XLiGnE - $X0SuDoKu
$Z @ YLiGnE = $YLiGnE - $Y0SuDoKu
$Z $xci/S_point$X \
$Z A=$ISuDoKu \
$Z X=$XLiGnE Y=$YLiGnE niveau=$CLiGnE \
$Z R=$ISuDoKu \
$Z $formatI
$Z @ Y_SuDoKu = $Y_SuDoKu + 1
$Z end
$Z @ X_SuDoKu = $X_SuDoKu + 1
$Z end
$Z $xci/acces$X \
$Z A=$ISuDoKu \
$Z renormaliser=VRAI \
$Z R=$ISuDoKu \
$Z $formatI
$Z set RaPpOrTX=`calculINS ($sXmax-$sXmin+1)/($Xmax-$Xmin+1)`
$Z set RaPpOrTY=`calculINS ($sYmax-$sYmin+1)/($Ymax-$Ymin+1)`
$Z set New_Xmax=`calculINS $Xmin+(($Xmax-$Xmin+1)*$RaPpOrTX)-1`
$Z set New_Ymax=`calculINS $Ymin+(($Ymax-$Ymin+1)*$RaPpOrTY)-1`
$Z $xci/format.01$X \
$Z A=$ISuDoKu \
$Z $formatI \
$Z mode=0 \
$Z R=$ISuDoKu.1 \
$Z XminR=$Xmin XmaxR=$New_Xmax YminR=$Ymin YmaxR=$New_Ymax
$Z $xci/format.01$X \
$Z A=$ISuDoKu \
$Z $formatI \
$Z mode=2 \
$Z R=$ISuDoKu.2 \
$Z XminR=$Xmin XmaxR=$New_Xmax YminR=$Ymin YmaxR=$New_Ymax
$Z XYmaxNe $Xmin $New_Xmax $Ymin $New_Ymax
$Z $xci/format.01$X \
$Z A=$ISuDoKu.1 \
$Z $formatI \
$Z mode=0 \
$Z R=$ISuDoKu.1 \
$Z $sformatIR
$Z $xci/format.01$X \
$Z A=$ISuDoKu.2 \
$Z $formatI \
$Z mode=0 \
$Z R=$ISuDoKu.2 \
$Z $sformatIR
$Z RformatI
$Z $xci/neutre$X \
$Z A=$ISuDoKu.1 \
$Z R=$_____ImageR \
$Z $formatI
$Z $xci/acces$X \
$Z A=$ISuDoKu.2 \
$Z convertir=VRAI \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z $formatI | \
$Z $xci/lissage$X \
$Z standard=FAUX \
$Z passes=$_____Passes \
$Z $formatI | \
$Z $xci/normalise.01$X \
$Z R=$ISuDoKu.3 \
$Z $formatI
$Z $xci/vraies_C$X \
$Z A=$ISuDoKu.1 \
$Z p=$_____Palette \
$Z R=$ISuDoKu.4 \
$Z $formatI
$Z execRVB $xci/montagne.01$X \
$Z A=$ISuDoKu.3 \
$Z standard=FAUX zero=FAUX \
$Z T=$ISuDoKu.4%s \
$Z avion=VRAI \
$Z R=$_____ImageR$m%s \
$Z $formatI
$Z FilSTmpE ISuDoKu
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.