diff --git a/Sudoku/SudokuFeld.svg b/Sudoku/SudokuFeld.svg index 0b965d4bdc7cf02a9f7ac85bfaa8f812e8536db4..947371e7df3ce5a3ec7406146db1d1e36f0f6ebc 100644 --- a/Sudoku/SudokuFeld.svg +++ b/Sudoku/SudokuFeld.svg @@ -8,10 +8,25 @@ id="svg5154"> <style id="sudoku_styles"> + @keyframes hideshow { + 0% {opacitiy: 1; fill: darkseagreen;} + 15% {opacitiy: 0;} + 20% {opacitiy: 1; fill: lightgrey;} + 25% {opacitiy: 0;} + 30% {opacitiy: 1; fill: seagreen;} + 85% {opacitiy: 0;} + 100% {opacity: 0;} + } .normal { stroke : lightgray; stroke-width : 0.1; - fill : white + fill : white; + } + .win { + stroke : lightgray; + stroke-width : 0.1; + fill : darkseagreen; + animation: hideshow 0.8s ease 2; } .fixed { stroke : lightgray; @@ -1100,8 +1115,8 @@ <ellipse ry="7" rx="7" id="RemoveCircle" cy="7.5" cx="7.5" class="normalKeyboard"/> <g id="Ruler" transform="translate(1,0.4) scale(0.9,0.9)"> <text stroke="#000" font-style="normal" class="normalActionbuttons" font-weight="normal" xml:space="preserve" text-anchor="start" font-family="sans-serif" font-size="9" id="svg_1" y="10.98608" x="3.99945" stroke-width="0" fill="#000000">8</text> - <rect id="Remove1" transform="rotate(-130.94 9.89569 9.61504)" stroke="#000" rx="0.6" id="svg_2" height="5.84219" width="3.62026" y="6.69395" x="8.08556" stroke-width="0" fill="lightgray"/> - <rect id="Remove2" transform="rotate(-131 9.92115 9.6195)" stroke="#000" rx="0.6" id="svg_3" height="5.37765" width="3.12474" y="6.93068" x="8.35877" stroke-width="0" fill="#000000"/> + <rect id="Remove1" transform="rotate(-130.94 9.89569 9.61504)" stroke="#000" rx="0.6" height="5.84219" width="3.62026" y="6.69395" x="8.08556" stroke-width="0" fill="lightgray"/> + <rect id="Remove2" transform="rotate(-131 9.92115 9.6195)" stroke="#000" rx="0.6" height="5.37765" width="3.12474" y="6.93068" x="8.35877" stroke-width="0" fill="#000000"/> <line transform="rotate(19.8657 9.85376 9.67272)" stroke="lightgray" stroke-width="0.6" id="svg_5" y2="11.0162" x2="11.05154" y1="8.32925" x1="8.65599" fill="none"/> </g> </g> diff --git a/Sudoku/visb_sudoku.json b/Sudoku/visb_sudoku.json index a207aa2df17b5e82609e9e4a12823867111106eb..ff925829dbd575ca5fbcb93e355db90b4cbb097a 100644 --- a/Sudoku/visb_sudoku.json +++ b/Sudoku/visb_sudoku.json @@ -4,6 +4,9 @@ [ { "name":"BOARD", "value" : "%x.(x:DOM|%y.(y:DOM|0) <+ Board(x))" + }, + { "name":"Won", + "value" : "bool(Board : DOM --> (DOM --> RAN))" } ], "items": [ @@ -26,7 +29,7 @@ "repeat": [1,2,3,4,5,6,7,8,9], "id": "board_%0_%1", "attr": "class", - "value" : "IF curx=%0 & cury=%1 THEN \"selected\" ELSIF %0|->%1:conflict_pos(curx,cury) THEN IF %1:dom(Board(%0)) & BOARD(%0)(%1)=BOARD(curx)(cury) THEN \"wrong\" ELSE \"conflictpos\" END ELSIF %1:dom(Board(%0)) & BOARD(%0)(%1)=BOARD(curx)(cury) THEN \"samevalue\" ELSIF %1:dom(PuzzleBoard(%0)) THEN \"fixed\" ELSE \"normal\" END" + "value" : "IF Won=TRUE THEN \"win\" ELSIF curx=%0 & cury=%1 THEN \"selected\" ELSIF %0|->%1:conflict_pos(curx,cury) THEN IF %1:dom(Board(%0)) & BOARD(%0)(%1)=BOARD(curx)(cury) THEN \"wrong\" ELSE \"conflictpos\" END ELSIF %1:dom(Board(%0)) & BOARD(%0)(%1)=BOARD(curx)(cury) THEN \"samevalue\" ELSIF %1:dom(PuzzleBoard(%0)) THEN \"fixed\" ELSE \"normal\" END" }, { "for": {"from":1, "to":9},