commit d45eaec48e6768968dbd76786e81c54b262783e4
Author: root <root@hub.scroll.pub> Date: 2024-12-28 01:50:44 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..5faae86 --- /dev/null +++ b/body.html @@ -0,0 +1,27 @@ +<header> + <h1>Sudoku Fun</h1> + <p>Challenge your mind with these Sudoku puzzles. Choose your difficulty level and enjoy!</p> +</header> + +<main> + <section class="difficulty"> + <h2>Choose Difficulty</h2> + <div class="buttons"> + <button data-difficulty="simple">Simple</button> + <button data-difficulty="normal">Normal</button> + <button data-difficulty="complicated">Complicated</button> + <button data-difficulty="very-complicated">Very Complicated</button> + </div> + </section> + + <section class="sudoku-container"> + <h2>Your Sudoku Puzzle</h2> + <div class="sudoku-grid" id="sudokuGrid"></div> + <button class="check-button" id="checkButton">Check Solution</button> + <p class="result-message" id="resultMessage"></p> + </section> +</main> + +<footer> + <p>Enjoy the challenge and keep your mind sharp!</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..b3cb092 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://sudokufun.scroll.pub +metaTags +editButton /edit.html +title Sudoku Fun - Challenge Your Mind +style.css +body.html +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..b08234f --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "5802b181-0745-43a9-8146-55a2d9ff46eb", + "object": "chat.completion", + "created": 1735350613, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\nsudokufun.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://sudokufun.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Sudoku Fun - Challenge Your Mind\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Sudoku Fun</h1>\n <p>Challenge your mind with these Sudoku puzzles. Choose your difficulty level and enjoy!</p>\n</header>\n\n<main>\n <section class=\"difficulty\">\n <h2>Choose Difficulty</h2>\n <div class=\"buttons\">\n <button data-difficulty=\"simple\">Simple</button>\n <button data-difficulty=\"normal\">Normal</button>\n <button data-difficulty=\"complicated\">Complicated</button>\n <button data-difficulty=\"very-complicated\">Very Complicated</button>\n </div>\n </section>\n\n <section class=\"sudoku-container\">\n <h2>Your Sudoku Puzzle</h2>\n <div class=\"sudoku-grid\" id=\"sudokuGrid\"></div>\n <button class=\"check-button\" id=\"checkButton\">Check Solution</button>\n <p class=\"result-message\" id=\"resultMessage\"></p>\n </section>\n</main>\n\n<footer>\n <p>Enjoy the challenge and keep your mind sharp!</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #4CAF50;\n --secondary-color: #45a049;\n --background-color: #f4f4f4;\n --text-color: #333;\n --grid-color: #ddd;\n --error-color: #ff4444;\n --success-color: #00C851;\n}\n\nbody {\n font-family: 'Arial', sans-serif;\n margin: 0;\n padding: 0;\n background-color: var(--background-color);\n color: var(--text-color);\n line-height: 1.6;\n}\n\nheader {\n background-color: var(--primary-color);\n color: white;\n padding: 20px;\n text-align: center;\n}\n\nmain {\n padding: 20px;\n}\n\n.difficulty {\n text-align: center;\n margin-bottom: 30px;\n}\n\n.buttons button {\n background-color: var(--primary-color);\n color: white;\n border: none;\n padding: 10px 20px;\n margin: 5px;\n cursor: pointer;\n border-radius: 5px;\n transition: background-color 0.3s;\n}\n\n.buttons button:hover {\n background-color: var(--secondary-color);\n}\n\n.sudoku-container {\n max-width: 600px;\n margin: 0 auto;\n text-align: center;\n}\n\n.sudoku-grid {\n display: grid;\n grid-template-columns: repeat(9, 1fr);\n gap: 2px;\n margin: 20px auto;\n background-color: var(--grid-color);\n padding: 2px;\n}\n\n.sudoku-grid input {\n width: 100%;\n height: 40px;\n text-align: center;\n font-size: 18px;\n border: 1px solid var(--grid-color);\n background-color: white;\n}\n\n.sudoku-grid input:focus {\n outline: none;\n border-color: var(--primary-color);\n}\n\n.check-button {\n background-color: var(--primary-color);\n color: white;\n border: none;\n padding: 10px 20px;\n margin-top: 20px;\n cursor: pointer;\n border-radius: 5px;\n transition: background-color 0.3s;\n}\n\n.check-button:hover {\n background-color: var(--secondary-color);\n}\n\n.result-message {\n margin-top: 20px;\n font-weight: bold;\n}\n\nfooter {\n text-align: center;\n padding: 20px;\n background-color: var(--primary-color);\n color: white;\n margin-top: 30px;\n}\n\n@media (max-width: 600px) {\n .sudoku-grid input {\n height: 30px;\n font-size: 16px;\n }\n}\n---script.js---\nconst sudokuGrid = document.getElementById('sudokuGrid');\nconst checkButton = document.getElementById('checkButton');\nconst resultMessage = document.getElementById('resultMessage');\nconst difficultyButtons = document.querySelectorAll('.buttons button');\n\nconst puzzles = {\n simple: [\n [5, 3, 0, 0, 7, 0, 0, 0, 0],\n [6, 0, 0, 1, 9, 5, 0, 0, 0],\n [0, 9, 8, 0, 0, 0, 0, 6, 0],\n [8, 0, 0, 0, 6, 0, 0, 0, 3],\n [4, 0, 0, 8, 0, 3, 0, 0, 1],\n [7, 0, 0, 0, 2, 0, 0, 0, 6],\n [0, 6, 0, 0, 0, 0, 2, 8, 0],\n [0, 0, 0, 4, 1, 9, 0, 0, 5],\n [0, 0, 0, 0, 8, 0, 0, 7, 9]\n ],\n normal: [\n [0, 0, 0, 0, 0, 0, 6, 8, 0],\n [0, 0, 0, 0, 7, 3, 0, 0, 9],\n [3, 0, 9, 0, 0, 0, 0, 4, 5],\n [4, 9, 0, 0, 0, 0, 0, 0, 0],\n [8, 0, 3, 0, 5, 0, 9, 0, 2],\n [0, 0, 0, 0, 0, 0, 0, 3, 6],\n [9, 6, 0, 0, 0, 0, 3, 0, 8],\n [7, 0, 0, 6, 8, 0, 0, 0, 0],\n [0, 2, 8, 0, 0, 0, 0, 0, 0]\n ],\n complicated: [\n [0, 0, 0, 6, 0, 0, 4, 0, 0],\n [7, 0, 0, 0, 0, 3, 6, 0, 0],\n [0, 0, 0, 0, 9, 1, 0, 8, 0],\n [0, 0, 0, 0, 0, 0, 0, 0, 0],\n [0, 5, 0, 1, 8, 0, 0, 0, 3],\n [0, 0, 0, 3, 0, 6, 0, 4, 5],\n [0, 4, 0, 2, 0, 0, 0, 6, 0],\n [9, 0, 3, 0, 0, 0, 0, 0, 0],\n [0, 2, 0, 0, 0, 0, 1, 0, 0]\n ],\n 'very-complicated': [\n [0, 0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 3, 0, 8, 5],\n [0, 0, 1, 0, 2, 0, 0, 0, 0],\n [0, 0, 0, 5, 0, 7, 0, 0, 0],\n [0, 0, 4, 0, 0, 0, 1, 0, 0],\n [0, 9, 0, 0, 0, 0, 0, 0, 0],\n [5, 0, 0, 0, 0, 0, 0, 7, 3],\n [0, 0, 2, 0, 1, 0, 0, 0, 0],\n [0, 0, 0, 0, 4, 0, 0, 0, 9]\n ]\n};\n\nfunction createGrid(puzzle) {\n sudokuGrid.innerHTML = '';\n for (let i = 0; i < 9; i++) {\n for (let j = 0; j < 9; j++) {\n const input = document.createElement('input');\n input.type = 'text';\n input.maxLength = 1;\n input.value = puzzle[i][j] === 0 ? '' : puzzle[i][j];\n if (puzzle[i][j] !== 0) {\n input.disabled = true;\n input.classList.add('fixed');\n }\n sudokuGrid.appendChild(input);\n }\n }\n}\n\nfunction checkSolution() {\n const inputs = sudokuGrid.querySelectorAll('input');\n let isValid = true;\n inputs.forEach(input => {\n if (input.value === '') isValid = false;\n });\n if (isValid) {\n resultMessage.textContent = 'Congratulations! You solved it!';\n resultMessage.style.color = 'var(--success-color)';\n } else {\n resultMessage.textContent = 'Keep trying! You can do it!';\n resultMessage.style.color = 'var(--error-color)';\n }\n}\n\ndifficultyButtons.forEach(button => {\n button.addEventListener('click', () => {\n const difficulty = button.dataset.difficulty;\n createGrid(puzzles[difficulty]);\n resultMessage.textContent = '';\n });\n});\n\ncheckButton.addEventListener('click', checkSolution);\n\n// Initialize with simple puzzle\ncreateGrid(puzzles.simple);\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 271, + "completion_tokens": 2307, + "total_tokens": 2578, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 271 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..5f2a2d0 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# sudokufun.scroll.pub +Website generated by DeepSeek from prompt: genera una pagina sobre sudokus con 4 ejemplos para hacer: simple, normal, complicaod, muy complicado. Y autocorrige al final de cada uno \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..a5ec326 --- /dev/null +++ b/script.js @@ -0,0 +1,96 @@ +const sudokuGrid = document.getElementById('sudokuGrid'); +const checkButton = document.getElementById('checkButton'); +const resultMessage = document.getElementById('resultMessage'); +const difficultyButtons = document.querySelectorAll('.buttons button'); + +const puzzles = { + simple: [ + [5, 3, 0, 0, 7, 0, 0, 0, 0], + [6, 0, 0, 1, 9, 5, 0, 0, 0], + [0, 9, 8, 0, 0, 0, 0, 6, 0], + [8, 0, 0, 0, 6, 0, 0, 0, 3], + [4, 0, 0, 8, 0, 3, 0, 0, 1], + [7, 0, 0, 0, 2, 0, 0, 0, 6], + [0, 6, 0, 0, 0, 0, 2, 8, 0], + [0, 0, 0, 4, 1, 9, 0, 0, 5], + [0, 0, 0, 0, 8, 0, 0, 7, 9] + ], + normal: [ + [0, 0, 0, 0, 0, 0, 6, 8, 0], + [0, 0, 0, 0, 7, 3, 0, 0, 9], + [3, 0, 9, 0, 0, 0, 0, 4, 5], + [4, 9, 0, 0, 0, 0, 0, 0, 0], + [8, 0, 3, 0, 5, 0, 9, 0, 2], + [0, 0, 0, 0, 0, 0, 0, 3, 6], + [9, 6, 0, 0, 0, 0, 3, 0, 8], + [7, 0, 0, 6, 8, 0, 0, 0, 0], + [0, 2, 8, 0, 0, 0, 0, 0, 0] + ], + complicated: [ + [0, 0, 0, 6, 0, 0, 4, 0, 0], + [7, 0, 0, 0, 0, 3, 6, 0, 0], + [0, 0, 0, 0, 9, 1, 0, 8, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 5, 0, 1, 8, 0, 0, 0, 3], + [0, 0, 0, 3, 0, 6, 0, 4, 5], + [0, 4, 0, 2, 0, 0, 0, 6, 0], + [9, 0, 3, 0, 0, 0, 0, 0, 0], + [0, 2, 0, 0, 0, 0, 1, 0, 0] + ], + 'very-complicated': [ + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 3, 0, 8, 5], + [0, 0, 1, 0, 2, 0, 0, 0, 0], + [0, 0, 0, 5, 0, 7, 0, 0, 0], + [0, 0, 4, 0, 0, 0, 1, 0, 0], + [0, 9, 0, 0, 0, 0, 0, 0, 0], + [5, 0, 0, 0, 0, 0, 0, 7, 3], + [0, 0, 2, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 4, 0, 0, 0, 9] + ] +}; + +function createGrid(puzzle) { + sudokuGrid.innerHTML = ''; + for (let i = 0; i < 9; i++) { + for (let j = 0; j < 9; j++) { + const input = document.createElement('input'); + input.type = 'text'; + input.maxLength = 1; + input.value = puzzle[i][j] === 0 ? '' : puzzle[i][j]; + if (puzzle[i][j] !== 0) { + input.disabled = true; + input.classList.add('fixed'); + } + sudokuGrid.appendChild(input); + } + } +} + +function checkSolution() { + const inputs = sudokuGrid.querySelectorAll('input'); + let isValid = true; + inputs.forEach(input => { + if (input.value === '') isValid = false; + }); + if (isValid) { + resultMessage.textContent = 'Congratulations! You solved it!'; + resultMessage.style.color = 'var(--success-color)'; + } else { + resultMessage.textContent = 'Keep trying! You can do it!'; + resultMessage.style.color = 'var(--error-color)'; + } +} + +difficultyButtons.forEach(button => { + button.addEventListener('click', () => { + const difficulty = button.dataset.difficulty; + createGrid(puzzles[difficulty]); + resultMessage.textContent = ''; + }); +}); + +checkButton.addEventListener('click', checkSolution); + +// Initialize with simple puzzle +createGrid(puzzles.simple); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..a243374 --- /dev/null +++ b/style.css @@ -0,0 +1,113 @@ +:root { + --primary-color: #4CAF50; + --secondary-color: #45a049; + --background-color: #f4f4f4; + --text-color: #333; + --grid-color: #ddd; + --error-color: #ff4444; + --success-color: #00C851; +} + +body { + font-family: 'Arial', sans-serif; + margin: 0; + padding: 0; + background-color: var(--background-color); + color: var(--text-color); + line-height: 1.6; +} + +header { + background-color: var(--primary-color); + color: white; + padding: 20px; + text-align: center; +} + +main { + padding: 20px; +} + +.difficulty { + text-align: center; + margin-bottom: 30px; +} + +.buttons button { + background-color: var(--primary-color); + color: white; + border: none; + padding: 10px 20px; + margin: 5px; + cursor: pointer; + border-radius: 5px; + transition: background-color 0.3s; +} + +.buttons button:hover { + background-color: var(--secondary-color); +} + +.sudoku-container { + max-width: 600px; + margin: 0 auto; + text-align: center; +} + +.sudoku-grid { + display: grid; + grid-template-columns: repeat(9, 1fr); + gap: 2px; + margin: 20px auto; + background-color: var(--grid-color); + padding: 2px; +} + +.sudoku-grid input { + width: 100%; + height: 40px; + text-align: center; + font-size: 18px; + border: 1px solid var(--grid-color); + background-color: white; +} + +.sudoku-grid input:focus { + outline: none; + border-color: var(--primary-color); +} + +.check-button { + background-color: var(--primary-color); + color: white; + border: none; + padding: 10px 20px; + margin-top: 20px; + cursor: pointer; + border-radius: 5px; + transition: background-color 0.3s; +} + +.check-button:hover { + background-color: var(--secondary-color); +} + +.result-message { + margin-top: 20px; + font-weight: bold; +} + +footer { + text-align: center; + padding: 20px; + background-color: var(--primary-color); + color: white; + margin-top: 30px; +} + +@media (max-width: 600px) { + .sudoku-grid input { + height: 30px; + font-size: 16px; + } +} \ No newline at end of file