@@ -13,6 +13,7 @@ const dimensionOfSquare = playground.clientWidth / 17;
1313
1414let timeSinceLastMove ;
1515
16+ let apple_interval ;
1617let timeouts = [ ] ;
1718let apple ;
1819let snakeTail ;
@@ -90,12 +91,12 @@ function isAppleFound() {
9091 inBound (
9192 snake . getBoundingClientRect ( ) . left ,
9293 apple . getBoundingClientRect ( ) . left ,
93- dimensionOfSquare / 5
94+ dimensionOfSquare / 3
9495 ) &&
9596 inBound (
9697 snake . getBoundingClientRect ( ) . top ,
9798 apple . getBoundingClientRect ( ) . top ,
98- dimensionOfSquare / 5
99+ dimensionOfSquare / 3
99100 )
100101 ) ;
101102}
@@ -106,7 +107,7 @@ function clearTimeouts() {
106107}
107108
108109function renderTail ( ) {
109- for ( let i = 1 ; i < prevPositions . length ; i ++ ) {
110+ for ( let i = 1 ; i < prevPositions . length - 1 ; i ++ ) {
110111 renderSingleTail ( i ) ;
111112 }
112113}
@@ -123,11 +124,15 @@ function renderSingleTail(index) {
123124 if ( snakeTails [ index ] ) snakeTails [ index ] . remove ( ) ;
124125
125126 snakeTails [ index ] = document . createElement ( "div" ) ;
127+ console . log ( ( index % 2 ) * 0.1 + 0.452 ) ;
128+
129+ snakeTails [ index ] . style . backgroundColor =
130+ "hsla(260, 75%, 50%, " + ( ( index % 2 ) * 0.05 + 0.452 ) + ")" ;
126131
127132 snakeTails [ index ] . style . top = snake . getBoundingClientRect ( ) . top + "px" ;
128133 snakeTails [ index ] . style . left = snake . getBoundingClientRect ( ) . left + "px" ;
129- snakeTails [ index ] . style . width = dimensionOfSquare + "px" ;
130- snakeTails [ index ] . style . height = dimensionOfSquare + "px" ;
134+ snakeTails [ index ] . style . width = dimensionOfSquare - 0.4 + "px" ;
135+ snakeTails [ index ] . style . height = dimensionOfSquare - 0.4 + "px" ;
131136 snakeTails [ index ] . classList . add ( "tempSnake" ) ;
132137
133138 container . appendChild ( snakeTails [ index ] ) ;
@@ -179,7 +184,7 @@ function snakeLeft() {
179184 onceLeft ( ) ;
180185 snakeLeft ( ) ;
181186 if (
182- snake . getBoundingClientRect ( ) . left <=
187+ snake . getBoundingClientRect ( ) . left + dimensionOfSquare <=
183188 playground . getBoundingClientRect ( ) . left
184189 ) {
185190 fail ( ) ;
@@ -273,15 +278,29 @@ function getRandomInt(max) {
273278
274279function spawnApple ( ) {
275280 if ( apple ) apple . remove ( ) ;
281+
282+ if ( apple_interval ) clearInterval ( apple_interval ) ;
276283 const leftBound = playground . getBoundingClientRect ( ) . left ;
277284 const topBound = playground . getBoundingClientRect ( ) . top ;
278285
279- apple = document . createElement ( "div" ) ;
280- apple . style . height = dimensionOfSquare + "px" ;
281- apple . style . width = dimensionOfSquare + "px" ;
286+ //
287+ apple = document . createElement ( "img" ) ;
288+ // apple = document.createElement("div");
289+
290+ apple . src = "./apple.png" ;
291+ apple . style . height = dimensionOfSquare + 5 + "px" ;
292+ apple . style . width = dimensionOfSquare + 5 + "px" ;
282293 apple . classList . add ( "apple" ) ;
283294 container . append ( apple ) ;
284295
296+ apple_interval = setInterval ( ( ) => {
297+ apple . style . transform = "scale(1.5)" ; // Enlarge for 500ms
298+
299+ setTimeout ( ( ) => {
300+ apple . style . transform = "scale(1)" ; // Reset after 500ms
301+ } , 500 ) ;
302+ } , 2000 ) ; // Repeat every 2 seconds
303+
285304 let index = 0 ;
286305 let left ;
287306 let top ;
0 commit comments