1-
2- var numSelected = null ;
3- var tileSelected = null ;
4-
5- var errors = 0 ;
6-
7- var board = [
8- "--74916-5" ,
9- "2---6-3-9" ,
10- "-----7-1-" ,
11- "-586----4" ,
12- "--3----9-" ,
13- "--62--187" ,
14- "9-4-7---2" ,
15- "67-83----" ,
16- "81--45---"
17- ]
18-
19- var solution = [
20- "387491625" ,
21- "241568379" ,
22- "569327418" ,
23- "758619234" ,
24- "123784596" ,
25- "496253187" ,
26- "934176852" ,
27- "675832941" ,
28- "812945763"
29- ]
30-
31- window . onload = function ( ) {
32- setGame ( ) ;
33- }
34-
35- function setGame ( ) {
36- // Digits 1-9
37- for ( let i = 1 ; i <= 9 ; i ++ ) {
38- //<div id="1" class="number">1</div>
39- let number = document . createElement ( "div" ) ;
40- number . id = i
41- number . innerText = i ;
42- number . addEventListener ( "click" , selectNumber ) ;
43- number . classList . add ( "number" ) ;
44- document . getElementById ( "digits" ) . appendChild ( number ) ;
45- }
46-
47- // Board 9x9
48- for ( let r = 0 ; r < 9 ; r ++ ) {
49- for ( let c = 0 ; c < 9 ; c ++ ) {
50- let tile = document . createElement ( "div" ) ;
51- tile . id = r . toString ( ) + "-" + c . toString ( ) ;
52- if ( board [ r ] [ c ] != "-" ) {
53- tile . innerText = board [ r ] [ c ] ;
54- tile . classList . add ( "tile-start" ) ;
55- }
56- if ( r == 2 || r == 5 ) {
57- tile . classList . add ( "horizontal-line" ) ;
58- }
59- if ( c == 2 || c == 5 ) {
60- tile . classList . add ( "vertical-line" ) ;
61- }
62- tile . addEventListener ( "click" , selectTile ) ;
63- tile . classList . add ( "tile" ) ;
64- document . getElementById ( "board" ) . append ( tile ) ;
65- }
66- }
67- }
68-
69- function selectNumber ( ) {
70- if ( numSelected != null ) {
71- numSelected . classList . remove ( "number-selected" ) ;
72- }
73- numSelected = this ;
74- numSelected . classList . add ( "number-selected" ) ;
75- }
76-
77- function selectTile ( ) {
78- if ( numSelected ) {
79- if ( this . innerText != "" ) {
80- return ;
81- }
82-
83- // "0-0" "0-1" .. "3-1"
84- let coords = this . id . split ( "-" ) ; //["0", "0"]
85- let r = parseInt ( coords [ 0 ] ) ;
86- let c = parseInt ( coords [ 1 ] ) ;
87-
88- if ( solution [ r ] [ c ] == numSelected . id ) {
89- this . innerText = numSelected . id ;
90- }
91- else {
92- errors += 1 ;
93- document . getElementById ( "errors" ) . innerText = errors ;
94- }
95- }
96- }
1+ //controls
2+ const hatcheck = document . querySelector ( "#hat" ) ;
3+ const glassescheck = document . querySelector ( "#eyeglasses" ) ;
4+ const tiecheck = document . querySelector ( "#tie" ) ;
5+ //accessories
6+ const hat = document . querySelector ( ".hat" ) ;
7+ const glasses = document . querySelector ( ".glasses" ) ;
8+ const tie = document . querySelector ( ".tie" ) ;
9+ //Reveal Hat
10+ hatcheck . addEventListener ( "change" , hatfun ) ;
11+ function hatfun ( ) {
12+ if ( hatcheck . checked == true ) {
13+ hat . style . bottom = "165px" ;
14+ } else {
15+ hat . style . bottom = "400px" ;
16+ }
17+ }
18+ //Reveal Eyeglasses
19+ glassescheck . addEventListener ( "change" , glassesfun ) ;
20+ function glassesfun ( ) {
21+ if ( glassescheck . checked == true ) {
22+ glasses . style . right = "50%" ;
23+ } else {
24+ glasses . style . right = "-50%" ;
25+ }
26+ }
27+ //Reveal Tie
28+ tiecheck . addEventListener ( "change" , tiefun ) ;
29+ function tiefun ( ) {
30+ if ( tiecheck . checked == true ) {
31+ tie . style . bottom = "10px" ;
32+ } else {
33+ tie . style . bottom = "-80px" ;
34+ }
35+ }
0 commit comments