{"version":3,"sources":["./src/environments/environment.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/class/sudoku.ts","./src/app/material/material.module.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { Component, OnInit } from '@angular/core';\nimport { Sudoku } from './class/sudoku';\nimport { KeyValue } from '@angular/common';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit{\n\n sudoku: any;\n showHints: boolean = false;\n difficulties = [ 'easy', 'medium', 'hard', 'very Hard' ];\n \n difficulty: string = 'medium';\n\n constructor(){}\n\n ngOnInit(){\n this.renderAnimatingSudoku();\n }\n\n originalOrder = (a: KeyValue, b: KeyValue): number => {\n return 0;\n }\n\n renderAnimatingSudoku(){\n\n const difficulties = { 'easy': 25, 'medium': 50, 'hard': 60, 'very Hard': 70 };\n\n this.sudoku = new Sudoku(difficulties[this.difficulty]);\n this.sudoku.giveAnimating();\n console.log(this.sudoku);\n }\n\n addValueToCell(cell: any, val: number){\n cell.isValid = this.sudoku.checkIfValid(cell, val);\n cell.val = val;\n }\n\n}\n","
\n\n
\n \n \n \n \n \n \n \n
\n\n Show Hints\n \n \n Difficulty\n \n \n {{d}}\n \n \n \n \n \n refresh\n \n\n
\n \n \n
\n \n
\n
\n
\n \n \n \n {{cell.val}}\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n {{ j }}\n
\n \n
\n \n \n
\n \n
\n
\n
\n\n
\n\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { AppComponent } from './app.component';\nimport { MaterialModule } from './material/material.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MaterialModule,\n FormsModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","export interface CellI{\r\n ind: number;\r\n col: number;\r\n row: number;\r\n val: number;\r\n blockIndex: number;\r\n hasStaticVal: boolean;\r\n isValid?:boolean;\r\n}\r\n\r\nexport class Sudoku{\r\n \r\n cells : any = [];\r\n currentCell : number = 0;//backtrack\r\n clearedCells : number;\r\n\r\n constructor(clearedCells?: number){\r\n this.clearedCells = clearedCells ? clearedCells : 70;\r\n this.resetSudoku();\r\n this.cells = this.initSudoku();\r\n }\r\n\r\n resetSudoku(){\r\n this.cells = [];\r\n this.currentCell = 0;\r\n }\r\n \r\n findBlockIndex(i:number, j:number) : number{\r\n let row = Math.floor(j / 3);\r\n let col = Math.floor(i / 3);\r\n \r\n return row*3+col;\r\n }\r\n\r\n initSudoku() : CellI[]{\r\n let arr = [];\r\n for(let i=0;i<9;i+=1){\r\n for(let j=0;j<9;j+=1){\r\n let cell = {\r\n ind: i*9 + j,\r\n col: j,\r\n row: i,\r\n val: 0,\r\n blockIndex: this.findBlockIndex(j,i),\r\n hasStaticVal: true\r\n }\r\n arr.push(cell)\r\n }\r\n }\r\n return arr;\r\n }\r\n \r\n exclude(cell : CellI) : number[]{\r\n let excluded = [];\r\n\r\n for(let i=0;i<81;i+=1){\r\n if( (this.cells[i].row === cell.row || \r\n this.cells[i].col === cell.col || \r\n this.cells[i].blockIndex === cell.blockIndex) &&\r\n this.cells[i].val){\r\n excluded.push(this.cells[i].val);\r\n }\r\n }\r\n return excluded;\r\n }\r\n\r\n giveNext(){\r\n\r\n if(this.currentCell > 80){\r\n return false;\r\n }\r\n\r\n let cell = this.cells[this.currentCell];\r\n let excluded = this.exclude(cell);\r\n let nums = [1,2,3,4,5,6,7,8,9];\r\n let filtered = nums.filter(n=>{return excluded.indexOf(n) === -1;});\r\n //console.log('e f: ', excluded, filtered);\r\n if(!filtered.length){\r\n console.log(this.currentCell);\r\n this.backtrack();\r\n return true;\r\n }\r\n\r\n let rand = Math.floor(Math.random()*filtered.length);\r\n cell.val = filtered[rand];\r\n\r\n this.currentCell+=1;\r\n \r\n \r\n return true; \r\n }\r\n\r\n giveAnimating(){\r\n\r\n let next = true;\r\n let times = 0;\r\n let interval = setInterval(()=>{\r\n\r\n let next = this.giveNext();\r\n if(!next){\r\n clearInterval(interval);\r\n this.clearRandomCells();\r\n }\r\n times+=1;\r\n //console.log('times: '+ times);\r\n\r\n }, 1);\r\n\r\n\r\n }\r\n\r\n backtrack(){\r\n for(let i=1;i<9;i+=1){\r\n this.cells[this.currentCell-i].val = 0;\r\n }\r\n this.currentCell -= 8;\r\n }\r\n\r\n clearRandomCells(){\r\n let arr = [];\r\n for(let i=1;i console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}