<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5777826826357794628</atom:id><lastBuildDate>Wed, 04 Sep 2024 12:36:12 +0000</lastBuildDate><category>Free Games</category><category>Language Learning</category><category>Play and Learn</category><category>Learn Russian</category><category>Learn Spanish</category><category>hidden object</category><category>learn French</category><category>Robot Game</category><category>Robotics</category><category>learn English</category><title>Bobbie&#39;s Games</title><description>Awesome Free Games</description><link>https://bobbiegames.blogspot.com/</link><managingEditor>noreply@blogger.com (Bobbie)</managingEditor><generator>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-7657289622118849303</guid><pubDate>Fri, 28 Jun 2019 17:21:00 +0000</pubDate><atom:updated>2019-06-28T10:21:09.201-07:00</atom:updated><title>500+ Free Games</title><description>&lt;h2 style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://500-cool-free-games.portals.famobi.com/&quot;&gt;500+ Free Games&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://500-cool-free-games.portals.famobi.com/&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1532&quot; data-original-width=&quot;1080&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2FU86UOow1cS8rTfcp6vmEqgdBiPyy3f4CLvuwblrrKCgCr-TNksFbWFxHZVtpv2dYJ4fLT1sYuAH17OgFBTZYGFz1weXmdZm8_bm1X4ALTJ0GNuj6yik9vW7Urs3V7GUJyey7_G0_SA/s320/Screenshot_20190221-082644%257E2.png&quot; width=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://500-cool-free-games.portals.famobi.com/&quot;&gt;Play 500+ Free Mobile, Tablet, and Computer Games&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://500-cool-free-games.portals.famobi.com/&quot;&gt;Play Now&lt;/a&gt;&lt;/div&gt;
</description><link>https://bobbiegames.blogspot.com/2019/06/500-free-games.html</link><author>noreply@blogger.com (Bobbie)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2FU86UOow1cS8rTfcp6vmEqgdBiPyy3f4CLvuwblrrKCgCr-TNksFbWFxHZVtpv2dYJ4fLT1sYuAH17OgFBTZYGFz1weXmdZm8_bm1X4ALTJ0GNuj6yik9vW7Urs3V7GUJyey7_G0_SA/s72-c/Screenshot_20190221-082644%257E2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-5722054916539211059</guid><pubDate>Tue, 30 Oct 2018 19:14:00 +0000</pubDate><atom:updated>2018-12-04T09:50:55.659-08:00</atom:updated><title>Ocean Treasures Game</title><description>&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Ocean Treasures Game&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
&lt;style&gt;
        body,
        div,
        p,
        span {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            max-width: 350px;
        }

        .container {
            position: relative;
        }

        .imgPart {
            background: #fff;
        }

        .imgPart img {
            border: 5px solid #afafaf;
            border-radius: 20px 20px 0 0;
            border-bottom: none;
            display: block;
            height: calc(600px - 110px);
            object-fit: cover;
            width: calc(350px - 10px);
        }

        .overlay {
            position: absolute;
            z-index: 1;
        }

        .emojiContainer {
            background: rgba(0, 0, 0, 0);
            left: 0;
            top: 0;
            width: 350px;
        }

        .emojis {
            background: rgba(255, 0, 0, 0);
            /*background: red;*/
            border-radius: 50% 50%;
            color: black;
            display: inline-block;
            font-size: 25px;
            padding: 2px;
            position: absolute;
            text-align: center;
            z-index: 2
        }

        .emojisClicked {
            background: #fff;
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: inset 3px 3px 12px black;
            box-shadow: outset 3px 3px 12px white;
        }

        .banner {
            animation: bannerBox 0.3s 1;
            background: rgba(0, 0, 0, 0.8);
            box-sizing: border-box;
            color: yellow;
            display: none;
            font-size: 36px;
            font-weight: 600;
            height: 600px;
            padding: 20px;
            text-align: center;
            top: 0;
            width: 350px;
            z-index: 3;
        }

        .scores {
            background: blue;
            color: #98daff;
            border: 5px solid #afafaf;
            border-radius: 0 0 20px 20px;
            font-size: 17px;
            font-weight: 500;
            height: 85px;
            width: 350px;
            padding: 10px;
            position: relative;
        }

        #emojiLeft,
        #scores,
        #stage {
            font-weight: 700;
            font-family: monospace;
            text-shadow: 1px 1px 10px #fff;
        }

        .scoresBox {
            background: blue;
            border-radius: 0 0 15px 0;
            height: 100%;
            padding: 0 10px;
            right: 0;
            top: 0;
            width: 180px;
        }

        .leftEmojiChild{
            border: 1px solid brown;
            border-radius: 5px;
            background: rgba(0,0,0,0.4);
        }


        #timer {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 50% 50%;
            float: right;
            font-size: 24px;
            font-weight: 600;
            margin: 0;
            padding: 3px;
            text-shadow: 2px 2px 10px #fff;

        }
        canvas{
            position:absolute;
            z-index: 10;
            top: 0;
            left: 0;
        }
        @keyframes bannerBox {
            from {
                transform: scale(0.1) rotate(0deg);
            }
            to {
                transform: scale(1.0) rotate(360deg);
            }
        }

            .emojis {
                font-size: 20px;
            }
        }





        &lt;/style&gt;



         
    &lt;/body&gt;&lt;/html&gt;
    &lt;body bgcolor=&quot;lightblue&quot;&gt;
Enjoy this fast paced hidden objects game while enjoying beautiful and relaxing scenery.


    &lt;div class=&quot;container&quot;&gt;
        &lt;div class=&quot;overlay loadingPage&quot;&gt;

        &lt;/div&gt;
&lt;div class=&quot;imgPart&quot;&gt;
            &lt;img alt=&quot;Background image for the hidden emoji game&quot; height=&quot;450px&quot; onerror=&quot;this.onerror=null;
            this.src=&#39;https://media0.giphy.com/media/10h8d7DM6tOTK/giphy.gif&#39;&quot; src=&quot;./he1.jpg&quot; width=&quot;340px&quot; /&gt;
        &lt;/div&gt;
&lt;div class=&quot;overlay emojiContainer&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;overlay banner&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;scores&quot;&gt;
            EMOJIS LEFT: &lt;span id=&quot;emojiLeft&quot;&gt;15&lt;/span&gt;&lt;br /&gt;

            SCORE: &lt;span id=&quot;scores&quot;&gt;0&lt;/span&gt;&lt;br /&gt;

            STAGE: &lt;span id=&quot;stage&quot;&gt;1&lt;/span&gt; &lt;br /&gt;

            &lt;div class=&quot;overlay scoresBox&quot;&gt;
              &lt;span id=&quot;timer&quot;&gt;100&lt;/span&gt;
              &lt;span class=&quot;leftEmojis&quot;&gt;&lt;/span&gt;
            &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;center&gt;

&lt;script&gt;
    &#39;use strict&#39;;
    const EMOJI_ARRAY = [&quot;🐌&quot;, &quot;👑&quot;, &quot;🦂&quot;, &quot;💎&quot;, &quot;🐍&quot;, &quot;🐢&quot;, &quot;🐠&quot;, &quot;💍&quot;, &quot;🐬&quot;, &quot;🐚&quot;, &quot;🐟&quot;, &quot;🐡&quot;, &quot;💰&quot;, &quot;🐳&quot;, &quot;🐋&quot;];
    
        /* Set the values between 0 and 100 to position the emojis*/
        const EMOJI_TOP_OFFSETS = [
            //For image1

             [70, 85, 70, 98, 84, 60, 90, 40, 67, 36, 80, 90, 90, 97, 79],
            //For image2
            [95, 50, 72, 92, 98, 90, 58, 45, 99, 48, 90, 71, 99, 59, 85],
            //For image3
            [69, 55, 5, 85, 39, 95, 50, 3, 87, 80, 66, 64, 70, 24, 45],
              //4
            [80, 49, 30, 95, 50, 65, 90, 99, 30, 55, 65, 75, 85, 90, 55],
               //5
            [10, 70, 40, 99, 58, 40, 99, 30, 97, 78, 90, 21, 45, 79, 40],
               //6
            [50, 95, 60, 25, 70, 85, 80, 15, 75, 55, 65, 99, 55, 90, 95],
               //7
            [80, 95, 40, 25, 80, 45, 99, 15, 40, 55, 65, 75, 55, 90, 95],
               //8
            [0, 40, 75, 85, 79, 55, 15, 15, 27, 60, 96, 99, 40, 54, 90],
            //9
  [45, 56, 32, 32, 58, 70, 98, 80, 20, 78, 90, 21, 5, 79, 65],
            //For image10
            [95, 66, 99, 62, 48, 70, 55, 45, 50, 78, 90, 91, 50, 99, 85],
            
            
        ];

        const EMOJI_LEFT_OFFSETS = [
            //For image1

             [60, 86, 99, 2, 2, 50, 54, 65, 20, 28, 70, 99, 35, 45, 37],
            //For image2
            [10, 90, 60, 40, 69, 30, 45, 23, 47, 56, 99, 29, 1, 54, 80],
            //For image3
            [99, 46, 2, 22, 38, 30, 58, 60, 87, 68, 80, 71, 45, 59, 45],
               //4
            [5, 95, 0, 85, 70, 60, 40, 0, 80, 55, 95, 35, 75, 30, 15],
                 //5
            [40, 75, 5, 80, 69, 60, 99, 23, 37, 56, 16, 29, 50, 34, 70],
               //6
            [48, 46, 2, 22, 8, 30, 88, 55, 77, 68, 80, 71, 15, 9, 30],

                 //7
            [5, 95, 20, 45, 70, 95, 0, 25, 80, 55, 95, 35, 75, 30, 15],
            //8
             [5, 20, 82, 2, 18, 90, 75, 65, 87, 48, 70, 99, 35, 19, 37],
            //For image9
            [5, 95, 20, 45, 70, 85, 40, 25, 80, 55, 95, 35, 75, 70, 99],
            //For image10
            [35, 46, 2, 22, 88, 60, 68, 55, 77, 68, 80, 71, 15, 9, 10],
              

        ];

        const IMAGE_LINKS_ARRAY = [
            //image1 link
         &quot;https://media0.giphy.com/media/10h8d7DM6tOTK/giphy.gif&quot;,
        
    
      
      &quot;https://lh3.googleusercontent.com/-dNWRIDLk3nk/VTETgmBDttI/AAAAAAABbek/qKZYMyOJsto/w240-h320/51c7778a54f8158f0f0a2f0565ab072a.jpg&quot;,
      
      &quot;https://i.gifer.com/K3o6.gif&quot;,
       &quot;https://giffiles.alphacoders.com/203/20328.gif&quot;,
        &quot;https://thumbs.gfycat.com/DifferentVagueBlackbird-max-1mb.gif&quot;,  
         &quot;https://j.gifs.com/Q1gvz7.gif&quot;,
      &quot;http://i2.wp.com/www.dreamaquarium.com/gif_anims/dreamaqua_220_176.gif?w=640&quot;,
      &quot;http://bestanimations.com/Animals/Fish/Sharks/many-sharks-swimming-ocean-animated-gif-2.gif&quot;,
      
      
           
                
        ];

        const MESSAGE_ARRAY = [
          &quot;THAT WAS FAST ARE YOU AN EXPERT TREASURE HUNTER?&quot;,
          &quot;THIS ONE&#39;S NOT GOING TO BE EASY&quot;,
          &quot;WHAT! YOU DID IT AGAIN&quot;,
          &quot;WOW YOU ARE GREAT AT THIS&quot;,
          &quot;AWESOME JOB!!&quot;,
          &quot;YOU MUST BE ENJOYING THIS, AREN&#39;T YOU!&quot;,
          &quot;LOTS OF TREASURE FOR YOU&quot;,
          &quot;GREAT JOB KEEP PLAYING&quot;,
          &quot;NOT GIVING UP I SEE&quot;,
          &quot;HOPE YOU HAD FUN, CAN YOU DO IT AGAIN?&quot;,
          &quot;I DARE YOU TO FIND THEM ALL THIS TIME&quot;
        ];

        const BANNER_TIME = 3000;
        const EMOJI_CLICK_TIME = 500;

        var body = document.body;
        var container = document.querySelector(&#39;.container&#39;);
        var emojiContainer = document.querySelector(&#39;.emojiContainer&#39;);
        var banner = document.querySelector(&#39;.banner&#39;);
        var clickCounter = EMOJI_ARRAY.length;
        var imgWidth;
        var imgHeight;
        var emojiDiv;
        var emojiText;
        var stage = 0;
        var scores = 0;
        var iteration = 0;
        var fontsize = 20;
        var timeElapsed = 0;
        var gameTimer; //setInterval variable for timer
        var maxStageTime = 100; //in seconds


        window.onload = function() {
            if (clickCounter !== 0) {
                displayBanner(&quot;Hidden Ocean Treasures &quot;);
                createGame();
                updateScores();
            } else {
                nextStage();
            }
        };

        //stars animation object literal
        var stars = {
            canvas: document.createElement(&#39;CANVAS&#39;),
            createStars: function(parent, width = 300, height = 300,
              starCount = 50, maxRadius = 50, durMillis = 3000,
              isRings = true, clickX = undefined, clickY = undefined) {
                var canvas = stars.canvas;
                var ctx = canvas.getContext(&#39;2d&#39;);
                parent.appendChild(canvas);

                //canvas styles
                canvas.style.background = &quot;rgba(0,0,0,0)&quot;;
                canvas.width = width;
                canvas.height = height;

                var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
                    window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
                var cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;

                var starArray = [];
                var myFrames;

                function Star(posX, posY, radius, innerRadius, rotateAngle, velocity, color) {
                    this.opacity = 1.0;
                    this.posX = posX;
                    this.posY = posY;
                    this.radius = radius;
                    this.innerRadius = innerRadius; //innerRadius for star
                    this.rotateAngle = rotateAngle;
                    this.velocity = velocity;
                    this.color = color;
                }

                Star.prototype.draw = function() {
                    var r = this.radius;
                    var iR = this.innerRadius;
                    var x = this.posX;
                    var y = this.posY;
                    var ang = Math.PI / 5;
                    var rA = this.rotateAngle;
                    ctx.fillStyle = this.color;
                    ctx.beginPath();
                    ctx.moveTo(x + r * Math.cos(rA + ang * 0), y + r * Math.sin(rA + ang * 0));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 1), y + iR * Math.sin(rA + ang * 1));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 2), y + r * Math.sin(rA + ang * 2));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 3), y + iR * Math.sin(rA + ang * 3));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 4), y + r * Math.sin(rA + ang * 4));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 5), y + iR * Math.sin(rA + ang * 5));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 6), y + r * Math.sin(rA + ang * 6));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 7), y + iR * Math.sin(rA + ang * 7));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 8), y + r * Math.sin(rA + ang * 8));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 9), y + iR * Math.sin(rA + ang * 9));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 0), y + r * Math.sin(rA + ang * 0));
                    ctx.fill();
                }

                function blastRings(x, y, radius, lw, color) {
                    if (radius &lt; 0) radius = 0;
                    ctx.beginPath();
                    ctx.lineWidth = lw;
                    ctx.strokeStyle = color;
                    ctx.arc(x, y, radius + 30, 0, Math.PI * 2, false);
                    ctx.stroke();
                }

                Star.prototype.updatePosition = function() {
                    this.posX += this.velocity * Math.cos(this.rotateAngle);
                    this.posY += this.velocity * Math.sin(this.rotateAngle);
                    this.draw();
                }

                for (var i = 0; i &lt; starCount; i++) {
                    starArray.push(new Star(
                        clickX || Math.floor(((Math.random() - 0.5) * 30) + (width / 2)),
                        clickY || Math.floor(((Math.random() - 0.5) * 30) + (height / 2)),
                        Math.floor(Math.random() * maxRadius),
                        maxRadius * (Math.random() * 0.4 + 0.2),
                        Math.random() * (2 * Math.PI),
                        Math.ceil(Math.random() * 10),
                        `rgba(${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, 1.0)`
                    ));
                    // starArray[i].draw();
                }

                var start = null;

                function animate(timestamp) {
                    if (!start) start = timestamp;
                    var progress = timestamp - start;
                    //console.log(progress + &quot; , &quot; + durMillis);

                    ctx.clearRect(0, 0, width, height);
                    if(isRings){
                      blastRings(width / 2, height / 2, progress, 10, &quot;white&quot;);
                      blastRings(width / 2, height / 2, progress - 50, 15, &quot;yellow&quot;);
                      blastRings(width / 2, height / 2, progress - 100, 20, &quot;orange&quot;);
                      blastRings(width / 2, height / 2, progress - 150, 30, &quot;red&quot;);
                    }
                    starArray.forEach(function(item) {
                        item.updatePosition();
                    });

                    if (progress &lt; durMillis) {
                        myFrames = requestAnimationFrame(animate);
                    } else {
                        stars.removeStars(parent);
                    }
                }

                requestAnimationFrame(animate);

            }, //createStars () function end

            removeStars: function(parent){
              var children = parent.children;
              for(var i = 0; i &lt; children.length; i++){
                if(children[i] === stars.canvas){
                  parent.removeChild(stars.canvas);
                  break;
                }
              }
            }//removeStars () function ends here

        } // stars object literal end

        // creating the emojis on top of image
        function createGame() {
            imgWidth = document.querySelector(&#39;.imgPart img&#39;).width;
            imgHeight = document.querySelector(&#39;.imgPart img&#39;).height;

            for (var i = 0; i &lt; EMOJI_ARRAY.length; i++) {
                emojiDiv = document.createElement(&quot;DIV&quot;);
                emojiText = document.createTextNode(EMOJI_ARRAY[i]);
                emojiDiv.setAttribute(&quot;class&quot;, &quot;emojis&quot;);
                emojiDiv.setAttribute(&quot;id&quot;, &quot;emoji&quot; + (i + 1));
                emojiDiv.style.fontSize = &quot;&quot; + fontsize + &quot;px&quot;;
                emojiDiv.style.top = Math.floor((EMOJI_TOP_OFFSETS[stage % IMAGE_LINKS_ARRAY.length][i] / 100) * (imgHeight - 50)) + &quot;px&quot;;
                emojiDiv.style.left = Math.floor((EMOJI_LEFT_OFFSETS[stage % IMAGE_LINKS_ARRAY.length][i] / 100) * (imgWidth - 50)) + &quot;px&quot;;

                emojiDiv.appendChild(emojiText);
                emojiContainer.appendChild(emojiDiv);

                emojiDiv.addEventListener(&#39;click&#39;, handleEmojiClick);

            }
            clickCounter = EMOJI_ARRAY.length;
            setGameTimer();
            displayLeftEmojis();
        }

        function setGameTimer() {
            timeElapsed = 0;
            gameTimer = setInterval(function() {
                timeElapsed += 1;
                document.querySelector(&#39;#timer&#39;).textContent = maxStageTime - timeElapsed;
                if (maxStageTime - timeElapsed === 0) {
                    gameOver();
                }
            }, 1000);
        }

        function gameOver() {
            iteration = 0;
            scores = 0;
            stage = 0;
            timeElapsed = 0;
            fontsize = 20;
            clearInterval(gameTimer);
            removeEmojis(emojiContainer);
            removeEmojis(document.querySelector(&#39;.leftEmojis&#39;));
            createGame();
            updateScores();
            displayBanner(&quot;&lt;hr/&gt;&lt;hr/&gt;GAME&lt;br/&gt;OVER&lt;hr/&gt;&lt;hr/&gt;&quot;, true);
        }

        function handleEmojiClick(event) {
            this.setAttribute(&#39;class&#39;, &#39;emojis emojisClicked&#39;);
            clickCounter--;
            scores += 100;

            //displayLeftEmojis part now
            document.querySelectorAll(&#39;.leftEmojiChild&#39;).forEach((item) =&gt; {
              if(this.textContent === item.textContent){
                document.querySelector(&#39;.leftEmojis&#39;).removeChild(item);              }
            });

            if (clickCounter === 0) {
                scores += 500;
                setTimeout(function(){
                  stars.createStars(document.body, innerWidth, innerHeight, 100, 15, BANNER_TIME, true);
                }, EMOJI_CLICK_TIME + 50);
                nextStage();
            }

            //display and remove the star canvas
            stars.createStars(document.body, innerWidth, innerHeight,
              20, 20, EMOJI_CLICK_TIME, false, event.pageX, event.pageY);
            setTimeout(function(){
              stars.removeStars(document.body);
              if(clickCounter === 0){
              }
            }, EMOJI_CLICK_TIME);

            updateScores();
            this.removeEventListener(&#39;click&#39;, handleEmojiClick);
        }

        function updateScores() {
            document.querySelector(&#39;#emojiLeft&#39;).textContent = clickCounter;
            document.querySelector(&#39;#scores&#39;).textContent = scores;
            document.querySelector(&#39;#stage&#39;).textContent = stage + 1;
        }

        function displayBanner(bannerText, noClick = false) {
            banner.innerHTML = bannerText;
            banner.style.display = &quot;block&quot;;

            //create the stars animation
            stars.createStars(document.body, innerWidth, innerHeight, 100, 15, BANNER_TIME, true);

            if (!noClick) {
                banner.addEventListener(&#39;click&#39;, bannerClick);
            }

            function bannerClick() {
                banner.style.display = &quot;none&quot;;
            }
            setTimeout(function() {
                banner.style.display = &quot;none&quot;;
                banner.removeEventListener(&#39;click&#39;, bannerClick);
            }, BANNER_TIME);
        }

        function nextStage() {
            stage += 1;
            clearInterval(gameTimer);
            if ((stage % (IMAGE_LINKS_ARRAY.length)) === 0) {
                iteration += 1;
                nextIteration();
            } else {
                scores += (maxStageTime - timeElapsed) * 10;
                displayBanner(`TIME BONUS ${(maxStageTime - timeElapsed) * 10} POINTS&lt;br/&gt; &lt;hr/&gt;${MESSAGE_ARRAY[Math.floor(Math.random() * MESSAGE_ARRAY.length)]}`);
            }
            document.querySelector(&#39;.imgPart img&#39;).src = IMAGE_LINKS_ARRAY[stage % IMAGE_LINKS_ARRAY.length];
            removeEmojis(emojiContainer);
            removeEmojis(document.querySelector(&#39;.leftEmojis&#39;));
            document.querySelector(&#39;.imgPart img&#39;).addEventListener(&quot;load&quot;, createGame);
        }

        function removeEmojis(parent) {
            while (parent.firstChild) {
                parent.removeChild(parent.firstChild);
            }
        }

        function nextIteration() {

            fontsize -= 2;
            if(maxStageTime &gt; 30){
              maxStageTime -= 10;
            }
            displayBanner(&quot;1000+&lt;br/&gt;LEVEL UP BONUS&lt;hr/&gt;ITS ABOUT TO GET TOUGHER!!&quot;);
        }

        function getRandomColor() {
            return `rgb(${Math.floor(Math.random() * 255)},
            ${Math.floor(Math.random() * 255)},
            ${Math.floor(Math.random() * 255)})`;
        }

        function displayLeftEmojis(){
            EMOJI_ARRAY.forEach((item) =&gt; {
              let span = document.createElement(&#39;SPAN&#39;);
              span.setAttribute(&#39;class&#39;, &#39;leftEmojiChild&#39;);
              let content = document.createTextNode(item);
              span.appendChild(content);
              document.querySelector(&#39;.leftEmojis&#39;).appendChild(span);
            });
        }


&lt;/script&gt;
    &lt;/center&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href =&quot;https://play.google.com/store/apps/details?id=playlearn.ocean&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLrRpTSiD9fMCCwClgf8TaJiZqsxz1ASYyY28O8bicoMmNVPOvgPM4YUPkxNoAjLPpywM2SeQwsljDKuUekD2BIB5GrZPiHz5ly3boc8CXmVPg6odzYO5Tbal2mCS8FoSu_tL7Vod7IAAK/s320/download.png&quot; width=&quot;320&quot; height=&quot;116&quot; data-original-width=&quot;373&quot; data-original-height=&quot;135&quot; /&gt;&lt;/a&gt;
&lt;/body&gt;

</description><link>https://bobbiegames.blogspot.com/2018/10/ocean-treasures-game.html</link><author>noreply@blogger.com (Bobbie)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLrRpTSiD9fMCCwClgf8TaJiZqsxz1ASYyY28O8bicoMmNVPOvgPM4YUPkxNoAjLPpywM2SeQwsljDKuUekD2BIB5GrZPiHz5ly3boc8CXmVPg6odzYO5Tbal2mCS8FoSu_tL7Vod7IAAK/s72-c/download.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-214871029941424765</guid><pubDate>Sun, 28 Oct 2018 17:06:00 +0000</pubDate><atom:updated>2018-12-31T20:24:48.308-08:00</atom:updated><title>Bobbie&#39;s Games Directory</title><description>&lt;h2&gt;
Bobbie&#39;s Games Directory&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQHQYRniHYYApi4WA1u4OT1DAn2R-6kcLXbTQsOvcRy0fXKix3HIzZ2HKjI_fAVHQA_THlDoJDkxdoZ78yd3iek3ykUvZPGI96Tlc-h0aH4470EpCE5Bq3Mhyphenhyphen5kRiMVYpWGOJqwMwHk35Q/s1600/Screenshot_20181024-183115%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1586&quot; data-original-width=&quot;1046&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQHQYRniHYYApi4WA1u4OT1DAn2R-6kcLXbTQsOvcRy0fXKix3HIzZ2HKjI_fAVHQA_THlDoJDkxdoZ78yd3iek3ykUvZPGI96Tlc-h0aH4470EpCE5Bq3Mhyphenhyphen5kRiMVYpWGOJqwMwHk35Q/s320/Screenshot_20181024-183115%257E2.png&quot; width=&quot;211&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Play and Learn Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8scAMaPv2C-gL_A1B_xxIsbaYKLt97Kdt5k9pv3q9yPKLGWo9AzJDFbXK55PWbPyzSlxI3jZDhNXcWK8uZNjx0vmA0ewglE1Qo43JOK_Pvc0oJgehA09-bNuy4JPnJEjkV12tHGZxeTkS/s1600/Screenshot_20181028-115523%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1023&quot; data-original-width=&quot;1080&quot; height=&quot;303&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8scAMaPv2C-gL_A1B_xxIsbaYKLt97Kdt5k9pv3q9yPKLGWo9AzJDFbXK55PWbPyzSlxI3jZDhNXcWK8uZNjx0vmA0ewglE1Qo43JOK_Pvc0oJgehA09-bNuy4JPnJEjkV12tHGZxeTkS/s320/Screenshot_20181028-115523%257E2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/play-and-learn-french.html?m=1&quot;&gt;Play and Learn French&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/play-and-learn-spanish_8.html?m=1&quot;&gt;Play and Learn Spanish&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/09/play-learn-russian_24.html?m=1&quot;&gt;Play and Learn Russian&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/play-and-learn-english.html?m=1&quot;&gt;Play and Learn English&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/09/multi-language-animal-game.html?m=1&quot;&gt;Multi-language Animal Game&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Robotics Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMKiDxTe-bWTY5fazZf578x2qXXwGXBdr-Wmz2DlCpm-SfH2rZcc7M32X2MQri63OHl_U2zVJdtDtYZfQ7BuqBVk9zx8c3VXmxlr4CoSG0-rhI_1cv4XRNvME02mCSlHcNkn1sr92d13ya/s1600/Screenshot_20181024-183325%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1314&quot; data-original-width=&quot;914&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMKiDxTe-bWTY5fazZf578x2qXXwGXBdr-Wmz2DlCpm-SfH2rZcc7M32X2MQri63OHl_U2zVJdtDtYZfQ7BuqBVk9zx8c3VXmxlr4CoSG0-rhI_1cv4XRNvME02mCSlHcNkn1sr92d13ya/s320/Screenshot_20181024-183325%257E2.png&quot; width=&quot;222&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/x-tractor-game.html?m=1&quot;&gt;X-tractor Game&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Hidden Objects Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKKkAAUqA2VxV-4fF69zd8ThtJgYX6RwK9mgiDSnal4H_YHcp9-q-hkulr4XjsLbrlGGraxyG7b2BenH9j4iT80B3r1f6tMsAkjqZ-PKHjBlOY7aHgdEjJx55_yvdEY_GCSqPxGCxkJJyV/s1600/Screenshot_20181028-115358%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1145&quot; data-original-width=&quot;700&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKKkAAUqA2VxV-4fF69zd8ThtJgYX6RwK9mgiDSnal4H_YHcp9-q-hkulr4XjsLbrlGGraxyG7b2BenH9j4iT80B3r1f6tMsAkjqZ-PKHjBlOY7aHgdEjJx55_yvdEY_GCSqPxGCxkJJyV/s320/Screenshot_20181028-115358%257E2.png&quot; width=&quot;195&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/travel-blast-paris.html?m=1&quot;&gt;Travel Blast Paris&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/09/travel-blast-game-new-york.html?m=1&quot;&gt;Travel Blast Game New York&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Card Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghyXADS1D50n0M6YBAOBvHXQvgejeiJmpGLtOvoIB26NOVFiUxtOxMYOWlc3bmLo3krFSUHDVvgIwWo_haZqTV3ovEhtfgDyqvm9Fjv9Ioib1Fv5xbvVzkeUK1IluIT_HAbb54STDJL3Vx/s1600/Screenshot_20181028-115333%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;922&quot; data-original-width=&quot;896&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghyXADS1D50n0M6YBAOBvHXQvgejeiJmpGLtOvoIB26NOVFiUxtOxMYOWlc3bmLo3krFSUHDVvgIwWo_haZqTV3ovEhtfgDyqvm9Fjv9Ioib1Fv5xbvVzkeUK1IluIT_HAbb54STDJL3Vx/s320/Screenshot_20181028-115333%257E2.png&quot; width=&quot;310&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/blackjack-gold.html?m=1&quot;&gt;Blackjack Gold&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Match 3 Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1FmthBGy4hwUqBe54do8tSfgUPuywzFeg97A8VWRddb2U92nHou5yDFH02CpYHMsDZSF4nG4X2znXxFh3H3HrImqJDp5j2bGL7SQ7FlBVBs21lyFGdEKvzFABgpPabNZACtArSeuK_a7K/s1600/Screenshot_20181028-115316%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1089&quot; data-original-width=&quot;915&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1FmthBGy4hwUqBe54do8tSfgUPuywzFeg97A8VWRddb2U92nHou5yDFH02CpYHMsDZSF4nG4X2znXxFh3H3HrImqJDp5j2bGL7SQ7FlBVBs21lyFGdEKvzFABgpPabNZACtArSeuK_a7K/s320/Screenshot_20181028-115316%257E2.png&quot; width=&quot;268&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/match-3-fruit-fun-game.html?m=1&quot;&gt;Match 3 Fruit Fun Game&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Board Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9PrjgXqWK5wmyxC6QVqG64XKZ3y_rz1FxbAX04fBV0_ZnS8G0PTAh88VHu9OhTTiLAzk0wJBsjANUCV10KsMb1mhC7hw8L6poOP1qSM5ATw3Yrd3affpu8OWATLLfOMhty1lfZW_frldS/s1600/Screenshot_20181028-115750%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1006&quot; data-original-width=&quot;1021&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9PrjgXqWK5wmyxC6QVqG64XKZ3y_rz1FxbAX04fBV0_ZnS8G0PTAh88VHu9OhTTiLAzk0wJBsjANUCV10KsMb1mhC7hw8L6poOP1qSM5ATw3Yrd3affpu8OWATLLfOMhty1lfZW_frldS/s320/Screenshot_20181028-115750%257E2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/09/battlestarship-game.html?m=1&quot;&gt;BattleStarShip Game&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>https://bobbiegames.blogspot.com/2018/10/bobbies-games-directory.html</link><author>noreply@blogger.com (Bobbie)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQHQYRniHYYApi4WA1u4OT1DAn2R-6kcLXbTQsOvcRy0fXKix3HIzZ2HKjI_fAVHQA_THlDoJDkxdoZ78yd3iek3ykUvZPGI96Tlc-h0aH4470EpCE5Bq3Mhyphenhyphen5kRiMVYpWGOJqwMwHk35Q/s72-c/Screenshot_20181024-183115%257E2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-4360946593090443741</guid><pubDate>Tue, 23 Oct 2018 12:05:00 +0000</pubDate><atom:updated>2018-10-23T05:05:20.311-07:00</atom:updated><title>Match 3 Fruit Fun Game</title><description>&lt;h2&gt;
Match 3 Fruit Fun Game&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzJeZodS-uXStVfCT5OAvkKKCjA-efWo-T4qsMcBRgXxTF3XPDRwLNCMYerS2c7kOEVXI2KHPumOFdJeqBjZgZeugop-fLS49oh2XVLxCBRMR2s_1uoTE8hkBFuCFb_CoIkWt_ryILW0Yy/s1600/Screenshot_20181023-063833%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1333&quot; data-original-width=&quot;1080&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzJeZodS-uXStVfCT5OAvkKKCjA-efWo-T4qsMcBRgXxTF3XPDRwLNCMYerS2c7kOEVXI2KHPumOFdJeqBjZgZeugop-fLS49oh2XVLxCBRMR2s_1uoTE8hkBFuCFb_CoIkWt_ryILW0Yy/s320/Screenshot_20181023-063833%257E2.png&quot; width=&quot;259&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Just click Run to Play&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;iframe height=&quot;700&quot; src=&quot;https://code.sololearn.com/WVv3p6DMCAuf/?ref=app&quot; width=&quot;370&quot;&gt;&lt;/iframe&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Play More of Bobbie&#39;s Games&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/09/battlestarship-game.html?m=1&quot;&gt;BattleStarship Game&lt;/a&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/09/multi-language-animal-game.html?m=1&quot;&gt;Multi-language Animal Game&lt;/a&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;a href=&quot;https://bobbiegames.blogspot.com/2018/10/x-tractor-game.html?m=1&quot;&gt;X-Tractor Game&lt;/a&gt;&lt;/h3&gt;

&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;amzn-assoc-ad-490d5629-439d-47a1-b310-cbeb35b55386&quot;&gt;
&lt;/div&gt;
&lt;script async=&quot;&quot; src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;amp;adInstanceId=490d5629-439d-47a1-b310-cbeb35b55386&quot;&gt;&lt;/script&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</description><link>https://bobbiegames.blogspot.com/2018/10/match-3-fruit-fun-game.html</link><author>noreply@blogger.com (Bobbie)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzJeZodS-uXStVfCT5OAvkKKCjA-efWo-T4qsMcBRgXxTF3XPDRwLNCMYerS2c7kOEVXI2KHPumOFdJeqBjZgZeugop-fLS49oh2XVLxCBRMR2s_1uoTE8hkBFuCFb_CoIkWt_ryILW0Yy/s72-c/Screenshot_20181023-063833%257E2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-4874972048030893395</guid><pubDate>Sun, 21 Oct 2018 22:24:00 +0000</pubDate><atom:updated>2018-10-21T15:57:25.295-07:00</atom:updated><title>BlackJack Gold</title><description>&lt;h2&gt;
BlackJack Gold&amp;nbsp;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ED7fr7RNkEa3uPZ6DC4VoZC7xTkijpuA7cwgLHzTb7KlGmWGwHw06q1nCkMH5WLbMWiIt_RXbPNgmKfFDhWpea_a6qt7yYFm0PktHWtnZvtwGI3W2jYhCKHgB-fClySFcUKSkuEVeIbe/s1600/Screenshot_20181021-175247%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;751&quot; data-original-width=&quot;1050&quot; height=&quot;285&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ED7fr7RNkEa3uPZ6DC4VoZC7xTkijpuA7cwgLHzTb7KlGmWGwHw06q1nCkMH5WLbMWiIt_RXbPNgmKfFDhWpea_a6qt7yYFm0PktHWtnZvtwGI3W2jYhCKHgB-fClySFcUKSkuEVeIbe/s400/Screenshot_20181021-175247%257E2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
This fun game is written using Python&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
*Featured Game Created by&amp;nbsp;&lt;a href=&quot;https://www.sololearn.com/Profile/1607351/?ref=app&quot;&gt;Kuba Siekierzynski&lt;/a&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Just click the green ▶️to play.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;iframe height=&quot;700&quot; src=&quot;https://py3.codeskulptor.org/#user301_C148tLczbm_21.py&quot; width=&quot;550&quot;&gt;&lt;/iframe&gt;</description><link>https://bobbiegames.blogspot.com/2018/10/blackjack-gold.html</link><author>noreply@blogger.com (Bobbie)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ED7fr7RNkEa3uPZ6DC4VoZC7xTkijpuA7cwgLHzTb7KlGmWGwHw06q1nCkMH5WLbMWiIt_RXbPNgmKfFDhWpea_a6qt7yYFm0PktHWtnZvtwGI3W2jYhCKHgB-fClySFcUKSkuEVeIbe/s72-c/Screenshot_20181021-175247%257E2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-4557853597967736188</guid><pubDate>Sun, 21 Oct 2018 21:14:00 +0000</pubDate><atom:updated>2018-10-21T16:01:48.191-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">Robot Game</category><category domain="http://www.blogger.com/atom/ns#">Robotics</category><title>X-TRACTOR Game</title><description>&lt;h2&gt;
X-TRACTOR Robotic Ocean Clean up Game&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-H0dhVZyG1iBmyAHCxYhS_RUkDe3XRRx47RVwyrBlgBrK5ZZeaADKbrfUqpNBvoGesFQbaxrj0SpUGWxSIiy3k7DA9QyMhLQfbvmKPHJixfH7qcknH1NA8S3KRAq-c6T62K86bFGYp2mD/s1600/Screenshot_20181021-175844%257E2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1018&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-H0dhVZyG1iBmyAHCxYhS_RUkDe3XRRx47RVwyrBlgBrK5ZZeaADKbrfUqpNBvoGesFQbaxrj0SpUGWxSIiy3k7DA9QyMhLQfbvmKPHJixfH7qcknH1NA8S3KRAq-c6T62K86bFGYp2mD/s400/Screenshot_20181021-175844%257E2.png&quot; width=&quot;253&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;/h2&gt;
&lt;h2&gt;
This Awesome Game has a Great Story&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
My daughters Robotics class is participating in a Competition for BEST Robotics this year&#39;s theme is creating a Robot to help clean up the Oceans and protect wildlife.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
They have done a great job building the real Robot.&amp;nbsp; We decided to create a game to accompany it and it ended up taking half the planet to accomplish.&amp;nbsp; My awesome friends at Sololearn were happy to help and the kids pitched in as well.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Wishing them the Best of Luck at Competition.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
X-TRACTOR Game&amp;nbsp;&lt;/h2&gt;
&lt;div&gt;
Just click run to play&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;iframe height=&quot;700&quot; src=&quot;https://code.sololearn.com/W47bmTo4ZFZC/?ref=app&quot; width=&quot;370&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;br /&gt;</description><link>https://bobbiegames.blogspot.com/2018/10/x-tractor-game.html</link><author>noreply@blogger.com (Bobbie)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-H0dhVZyG1iBmyAHCxYhS_RUkDe3XRRx47RVwyrBlgBrK5ZZeaADKbrfUqpNBvoGesFQbaxrj0SpUGWxSIiy3k7DA9QyMhLQfbvmKPHJixfH7qcknH1NA8S3KRAq-c6T62K86bFGYp2mD/s72-c/Screenshot_20181021-175844%257E2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-8343396627524863619</guid><pubDate>Wed, 10 Oct 2018 19:00:00 +0000</pubDate><atom:updated>2018-10-21T14:30:38.249-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">hidden object</category><title>Travel Blast Paris</title><description>&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Travel Blast Paris&lt;/title&gt;
 &lt;style&gt;
        body,
        div,
        p,
        span {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            max-width: 350px;
        }

        .container {
            position: relative;
        }

        .imgPart {
            background: #fff;
        }

        .imgPart img {
            border: 5px solid #afafaf;
            border-radius: 20px 20px 0 0;
            border-bottom: none;
            display: block;
            height: calc(600px - 110px);
            object-fit: cover;
            width: calc(350px - 10px);
        }

        .overlay {
            position: absolute;
            z-index: 1;
        }

        .emojiContainer {
            background: rgba(0, 0, 0, 0);
            left: 0;
            top: 0;
            width: 350px;
        }

        .emojis {
            background: rgba(255, 0, 0, 0);
            /*background: red;*/
            border-radius: 50% 50%;
            color: black;
            display: inline-block;
            font-size: 25px;
            padding: 2px;
            position: absolute;
            text-align: center;
            z-index: 2
        }

        .emojisClicked {
            background: #fff;
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: inset 3px 3px 12px black;
            box-shadow: outset 3px 3px 12px white;
        }

        .banner {
            animation: bannerBox 0.3s 1;
            background: rgba(0, 0, 0, 0.8);
            box-sizing: border-box;
            color: yellow;
            display: none;
            font-size: 36px;
            font-weight: 600;
            height: 600px;
            padding: 20px;
            text-align: center;
            top: 0;
            width: 350px;
            z-index: 3;
        }

        .scores {
            background: blue;
            color: #98daff;
            border: 5px solid #afafaf;
            border-radius: 0 0 20px 20px;
            font-size: 17px;
            font-weight: 500;
            height: 85px;
            width: 350px;
            padding: 10px;
            position: relative;
        }

        #emojiLeft,
        #scores,
        #stage {
            font-weight: 700;
            font-family: monospace;
            text-shadow: 1px 1px 10px #fff;
        }

        .scoresBox {
            background: blue;
            border-radius: 0 0 15px 0;
            height: 100%;
            padding: 0 10px;
            right: 0;
            top: 0;
            width: 180px;
        }

        .leftEmojiChild{
            border: 1px solid brown;
            border-radius: 5px;
            background: rgba(0,0,0,0.4);
        }


        #timer {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 50% 50%;
            float: right;
            font-size: 24px;
            font-weight: 600;
            margin: 0;
            padding: 3px;
            text-shadow: 2px 2px 10px #fff;

        }
        canvas{
            position:absolute;
            z-index: 10;
            top: 0;
            left: 0;
        }
        @keyframes bannerBox {
            from {
                transform: scale(0.1) rotate(0deg);
            }
            to {
                transform: scale(1.0) rotate(360deg);
            }
        }

            .emojis {
                font-size: 20px;
            }
        }





        &lt;/style&gt;





       
    &lt;/head&gt;
&lt;h2&gt;This is a really fun and exciting game just click on the hidden objects to advance to the next round&lt;/h2&gt;
    &lt;body bgcolor=&quot;lightblue&quot;&gt;



    &lt;div class=&quot;container&quot;&gt;
        &lt;div class=&quot;overlay loadingPage&quot;&gt;

        &lt;/div&gt;
&lt;div class=&quot;imgPart&quot;&gt;
            &lt;img alt=&quot;Background image for the hidden emoji game&quot; height=&quot;450px&quot; onerror=&quot;this.onerror=null;
            this.src=&#39;https://static.pexels.com/photos/338515/pexels-photo-338515.jpeg&#39;&quot; src=&quot;./he1.jpg&quot; width=&quot;340px&quot; /&gt;
        &lt;/div&gt;
&lt;div class=&quot;overlay emojiContainer&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;overlay banner&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;scores&quot;&gt;
            EMOJIS LEFT: &lt;span id=&quot;emojiLeft&quot;&gt;15&lt;/span&gt;&lt;br /&gt;

            SCORE: &lt;span id=&quot;scores&quot;&gt;0&lt;/span&gt;&lt;br /&gt;

            STAGE: &lt;span id=&quot;stage&quot;&gt;1&lt;/span&gt; &lt;br /&gt;

            &lt;div class=&quot;overlay scoresBox&quot;&gt;
              &lt;span id=&quot;timer&quot;&gt;100&lt;/span&gt;
              &lt;span class=&quot;leftEmojis&quot;&gt;&lt;/span&gt;
            &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;center&gt;
&lt;div style=&quot;font-size: 20px;&quot;&gt;
🌟 Scroll Down for Fun Paris Facts!!!&lt;/div&gt;
&lt;h1&gt;
Fun Facts Paris&lt;/h1&gt;
&lt;div style=&quot;font-size: 20px;&quot;&gt;
🌟There are&amp;nbsp;in total&amp;nbsp;1,803 monuments and 173 museums in Paris.&lt;br /&gt;
🌟There is only one “Stop” sign in Paris, located at the exit of a building company in the rich 16th arrondissement.&lt;br /&gt;
🌟The famous Eiffel Tower was build between 1887-1889 and was considered to be the tallest building in the world until 1930. Its height is 324 meters.&lt;br /&gt;
🌟The&amp;nbsp;Roman numerals&amp;nbsp;on the pavement of the Place de la Concorde are the numbers of a giant sundial, and the shadow of the obelisk functions to give the time.&lt;br /&gt;
🌟The most visited museum in the world is Louvre, which was built in 1793. Around 10 million people come here every year.&lt;br /&gt;
🌟There are ten Statues of Liberty in France,&amp;nbsp;five of which are in Paris.&lt;br /&gt;
🌟There are&amp;nbsp;470,000,&amp;nbsp;trees in Paris. They counted.&lt;br /&gt;
🌟If you want to cross Paris from North to South on foot, it will take you approx. 2 hours and 15 minutes.&lt;br /&gt;
🌟Paris is #1 in the world&amp;nbsp;when it comes to the number of libraries; it has 830 of them in total.&lt;br /&gt;
🌟James Bond was modeled after a real spy named Wilfrid “Biffy” Dunderdale who was MI6’s man in Paris.&lt;br /&gt;
🌟During WWI, France built a ‘Fake Paris’ near the capital city to confuse German pilots.&lt;br /&gt;
🌟Hitler gave orders to destroy Paris on the eve of the allied liberation in 1944, but the Nazi General in control of Paris intentionally ignored the order.&lt;br /&gt;
&lt;/div&gt;
&lt;h1&gt;
Paris&lt;/h1&gt;
&lt;img height=&quot;270px&quot; src=&quot;https://mapswire.com/maps/countries/france-simple-map-large.jpg&quot; width=&quot;270px&quot; /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img height=&quot;300px&quot; src=&quot;https://s.iha.com/3621100011844/Luxury-holiday-letting-Paris-7th-district-Bateau-Simpatico_11.jpeg&quot; width=&quot;300px&quot; /&gt;
&lt;div style=&quot;font-size: 20px;&quot;&gt;
Continent:Europe&lt;br /&gt;
Country: France&lt;br /&gt;
Region: Île-de-France&lt;br /&gt;
Metropolitan Population:&amp;nbsp;9,638,000&lt;br /&gt;
&lt;h1&gt;
Enjoy more Travel Blast fun in these cities:&lt;/h1&gt;
&lt;h1&gt;
Travel Blast New York&lt;/h1&gt;
&lt;img src=&quot;&quot; /&gt;
&lt;h1&gt;
Travel Blast London&lt;/h1&gt;
&lt;img src=&quot;&quot; /&gt;
&lt;a href=&quot;https://www.facebook.com/Play-Learn-1967482470238165/&quot;&gt;Find out latest games here&lt;/a&gt;
&lt;/div&gt;
&lt;/center&gt;
&lt;script&gt;
    &#39;use strict&#39;;
        const EMOJI_ARRAY = [&quot;🐩&quot;, &quot;🚗&quot;, &quot;🌜&quot;, &quot;🚲&quot;, &quot;🎠&quot;, &quot;🚕&quot;, &quot;🗼&quot;, &quot;🌞&quot;, &quot;🛳&quot;, &quot;🛩&quot;, &quot;🎨&quot;, &quot;📷&quot;, &quot;🌹&quot;, &quot;🎵&quot;, &quot;🇫🇷&quot;];

        /* Set the values between 0 and 100 to position the emojis*/
        const EMOJI_TOP_OFFSETS = [
            //For image1

             [99, 85, 10, 98, 84, 85, 20, 26, 77, 36, 88, 99, 90, 77, 79],
            //For image2
            [95, 26, 12, 92, 98, 90, 28, 45, 99, 48, 90, 71, 0, 59, 85],
            //For image3
            [99, 55, 5, 85, 39, 95, 50, 3, 87, 80, 66, 64, 70, 24, 45],
              //4
            [80, 49, 30, 95, 50, 65, 90, 15, 30, 55, 65, 75, 85, 90, 55],
               //5
            [10, 45, 15, 99, 58, 40, 5, 30, 37, 78, 90, 21, 45, 79, 40],
               //6
            [45, 56, 12, 32, 58, 70, 98, 80, 20, 78, 90, 21, 5, 79, 65],
               //7
            [50, 95, 0, 25, 80, 45, 10, 15, 40, 55, 65, 75, 55, 90, 95],
               //8
            [0, 40, 65, 85, 79, 55, 15, 15, 27, 60, 96, 99, 40, 44, 90],
            //9
  [50, 50, 60, 98, 99, 45, 40, 26, 77, 66, 68, 79, 90, 77, 70],
            //For image10
            [95, 66, 32, 62, 48, 70, 28, 45, 7, 78, 90, 91, 50, 99, 85],
            //For image11
            [99, 55, 5, 85, 39, 95, 5, 3, 87, 60, 16, 24, 70, 80, 45],
             //12
            [60, 99, 30, 75, 20, 35, 10, 15, 20, 55, 65, 75, 85, 90, 95],
                //13
            [99, 80, 15, 99, 58, 90, 5, 80, 37, 78, 90, 99, 5, 79, 90],
               //14
            [45, 56, 32, 32, 58, 70, 98, 80, 20, 78, 90, 21, 5, 79, 65],
               //15
            [50, 95, 0, 25, 20, 45, 80, 15, 10, 55, 65, 35, 55, 90, 95],
        ];

        const EMOJI_LEFT_OFFSETS = [
            //For image1

             [15, 86, 82, 2, 2, 50, 54, 65, 87, 28, 70, 81, 35, 19, 37],
            //For image2
            [10, 90, 60, 40, 69, 30, 45, 23, 47, 56, 99, 29, 8, 54, 80],
            //For image3
            [55, 46, 2, 22, 38, 30, 58, 60, 87, 68, 80, 71, 45, 59, 45],
               //4
            [5, 95, 0, 85, 70, 60, 40, 35, 80, 55, 95, 35, 75, 30, 15],
                 //5
            [40, 75, 5, 80, 69, 60, 65, 23, 87, 56, 16, 29, 50, 34, 70],
               //6
            [10, 90, 60, 80, 69, 45, 65, 23, 87, 56, 16, 29, 80, 34, 20],
                 //7
            [5, 95, 20, 45, 70, 95, 0, 25, 80, 55, 95, 35, 75, 30, 15],
            //8
             [5, 66, 82, 2, 18, 90, 75, 65, 87, 48, 70, 99, 35, 19, 37],
            //For image9
            [10, 90, 70, 40, 69, 30, 45, 23, 87, 56, 99, 99, 8, 54, 80],
            //For image10
            [35, 46, 2, 22, 88, 60, 68, 55, 77, 68, 80, 71, 15, 9, 10],
                //11
            [5, 95, 80, 99, 70, 45, 40, 5, 80, 55, 95, 35, 75, 30, 15],
                 //12
            [90, 75, 30, 80, 69, 45, 65, 23, 87, 56, 16, 29, 80, 34, 10],
              //13
            [10, 90, 60, 80, 59, 45, 55, 23, 87, 56, 16, 29, 80, 34, 55],
                //14
            [5, 95, 20, 45, 70, 85, 40, 25, 80, 55, 95, 35, 75, 70, 99],
                 //15
            [48, 46, 2, 22, 8, 30, 88, 55, 77, 68, 80, 71, 15, 9, 30],

        ];

        const IMAGE_LINKS_ARRAY = [
            //image1 link
            &quot;https://static.pexels.com/photos/338515/pexels-photo-338515.jpeg&quot;,
            //image2 link
            &quot;https://static.pexels.com/photos/161901/paris-sunset-france-monument-161901.jpeg&quot;,
            // //image3 link and so on
            &quot;http://maxpixel.freegreatpicture.com/static/photo/1x/Wallpaper-Disneyland-Park-Beautiful-Paris-2700416.jpg&quot;,

            &quot;https://upload.wikimedia.org/wikipedia/commons/f/fc/The_Pont_Michel_from_the_Pont_Neuf%2C_Paris_July_2013.jpg&quot;,

            &quot;http://maxpixel.freegreatpicture.com/static/photo/1x/Light-Nature-Plants-Paris-Allee-Relaxation-1996234.jpg&quot;,


  &quot;https://upload.wikimedia.org/wikipedia/en/4/42/Louvre_Pyramid.jpg&quot;,

            &quot;https://upload.wikimedia.org/wikipedia/commons/a/a6/Sunset_over_the_base_of_the_Eiffel%2C_Paris_2007.jpg&quot;,

            &quot;https://upload.wikimedia.org/wikipedia/commons/c/c1/Saint_Augustin_Church_Paris.jpg&quot;,

            &quot;https://cdn.pixabay.com/photo/2017/07/13/03/15/paris-2499022_960_720.jpg&quot;,
            //image2 link
            &quot;https://upload.wikimedia.org/wikipedia/commons/d/d5/Paris_at_night%2C_4_July_2013.jpg&quot;,
            // //image3 link and so on
            &quot;https://upload.wikimedia.org/wikipedia/commons/c/c4/Arc_Triomphe.jpg&quot;,

            &quot;https://www.goodfreephotos.com/albums/france/paris/inside-the-notre-dame-in-paris-france.jpg&quot;,

            &quot;https://upload.wikimedia.org/wikipedia/commons/3/3b/Eiffel_Tower_Paris_01.JPG&quot;,



  &quot;https://static.pexels.com/photos/2363/france-landmark-lights-night.jpg&quot;,

            &quot;https://cdn.pixabay.com/photo/2017/04/09/02/26/paris-2214794_960_720.jpg&quot;,
        ];

        const MESSAGE_ARRAY = [
          &quot;AVEZ-VOUS DÉJÀ VU CETTE? (have you already seen this?)&quot;,
          &quot;CELUI NE VA PAS ÊTRE FACILE (this one is not going to be easy)&quot;,
          &quot;VOUS ÊTES CRÈME DE LA CRÈME (you are the best of the best)&quot;,
          &quot;LE LIEU SUIVANT EST PLUS DIFFICILE (next place is harder)&quot;,
          &quot;BON TRAVAIL!!! (great job)&quot;,
          &quot;CONTINUE DE REGARDER (keep looking)&quot;,
          &quot;SENTIR L&#39;HORLOGE? (feeling the clock?)&quot;,
          &quot;LE PROCHAIN ​​SE TIENDRA CACHÉ (next one will stay hidden)&quot;,
          &quot;DONNEZ-VOUS? (are you giving up?)&quot;,
          &quot;AVOIR DU PLAISIR? (having fun?)&quot;,
          &quot;JE VOUS OSEUR DE LES TROUVER TOUS (dare you to find them all)&quot;,
        ];

        const BANNER_TIME = 3000;
        const EMOJI_CLICK_TIME = 500;

        var body = document.body;
        var container = document.querySelector(&#39;.container&#39;);
        var emojiContainer = document.querySelector(&#39;.emojiContainer&#39;);
        var banner = document.querySelector(&#39;.banner&#39;);
        var clickCounter = EMOJI_ARRAY.length;
        var imgWidth;
        var imgHeight;
        var emojiDiv;
        var emojiText;
        var stage = 0;
        var scores = 0;
        var iteration = 0;
        var fontsize = 20;
        var timeElapsed = 0;
        var gameTimer; //setInterval variable for timer
        var maxStageTime = 100; //in seconds


        window.onload = function() {
            if (clickCounter !== 0) {
                displayBanner(&quot;BONJOUR FIND THE 15 HIDDEN EMOJIS!!!&quot;);
                createGame();
                updateScores();
            } else {
                nextStage();
            }
        };

        //stars animation object literal
        var stars = {
            canvas: document.createElement(&#39;CANVAS&#39;),
            createStars: function(parent, width = 300, height = 300,
              starCount = 50, maxRadius = 50, durMillis = 3000,
              isRings = true, clickX = undefined, clickY = undefined) {
                var canvas = stars.canvas;
                var ctx = canvas.getContext(&#39;2d&#39;);
                parent.appendChild(canvas);

                //canvas styles
                canvas.style.background = &quot;rgba(0,0,0,0)&quot;;
                canvas.width = width;
                canvas.height = height;

                var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
                    window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
                var cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;

                var starArray = [];
                var myFrames;

                function Star(posX, posY, radius, innerRadius, rotateAngle, velocity, color) {
                    this.opacity = 1.0;
                    this.posX = posX;
                    this.posY = posY;
                    this.radius = radius;
                    this.innerRadius = innerRadius; //innerRadius for star
                    this.rotateAngle = rotateAngle;
                    this.velocity = velocity;
                    this.color = color;
                }

                Star.prototype.draw = function() {
                    var r = this.radius;
                    var iR = this.innerRadius;
                    var x = this.posX;
                    var y = this.posY;
                    var ang = Math.PI / 5;
                    var rA = this.rotateAngle;
                    ctx.fillStyle = this.color;
                    ctx.beginPath();
                    ctx.moveTo(x + r * Math.cos(rA + ang * 0), y + r * Math.sin(rA + ang * 0));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 1), y + iR * Math.sin(rA + ang * 1));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 2), y + r * Math.sin(rA + ang * 2));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 3), y + iR * Math.sin(rA + ang * 3));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 4), y + r * Math.sin(rA + ang * 4));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 5), y + iR * Math.sin(rA + ang * 5));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 6), y + r * Math.sin(rA + ang * 6));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 7), y + iR * Math.sin(rA + ang * 7));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 8), y + r * Math.sin(rA + ang * 8));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 9), y + iR * Math.sin(rA + ang * 9));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 0), y + r * Math.sin(rA + ang * 0));
                    ctx.fill();
                }

                function blastRings(x, y, radius, lw, color) {
                    if (radius &lt; 0) radius = 0;
                    ctx.beginPath();
                    ctx.lineWidth = lw;
                    ctx.strokeStyle = color;
                    ctx.arc(x, y, radius + 30, 0, Math.PI * 2, false);
                    ctx.stroke();
                }

                Star.prototype.updatePosition = function() {
                    this.posX += this.velocity * Math.cos(this.rotateAngle);
                    this.posY += this.velocity * Math.sin(this.rotateAngle);
                    this.draw();
                }

                for (var i = 0; i &lt; starCount; i++) {
                    starArray.push(new Star(
                        clickX || Math.floor(((Math.random() - 0.5) * 30) + (width / 2)),
                        clickY || Math.floor(((Math.random() - 0.5) * 30) + (height / 2)),
                        Math.floor(Math.random() * maxRadius),
                        maxRadius * (Math.random() * 0.4 + 0.2),
                        Math.random() * (2 * Math.PI),
                        Math.ceil(Math.random() * 10),
                        `rgba(${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, 1.0)`
                    ));
                    // starArray[i].draw();
                }

                var start = null;

                function animate(timestamp) {
                    if (!start) start = timestamp;
                    var progress = timestamp - start;
                    //console.log(progress + &quot; , &quot; + durMillis);

                    ctx.clearRect(0, 0, width, height);
                    if(isRings){
                      blastRings(width / 2, height / 2, progress, 10, &quot;white&quot;);
                      blastRings(width / 2, height / 2, progress - 50, 15, &quot;yellow&quot;);
                      blastRings(width / 2, height / 2, progress - 100, 20, &quot;orange&quot;);
                      blastRings(width / 2, height / 2, progress - 150, 30, &quot;red&quot;);
                    }
                    starArray.forEach(function(item) {
                        item.updatePosition();
                    });

                    if (progress &lt; durMillis) {
                        myFrames = requestAnimationFrame(animate);
                    } else {
                        stars.removeStars(parent);
                    }
                }

                requestAnimationFrame(animate);

            }, //createStars () function end

            removeStars: function(parent){
              var children = parent.children;
              for(var i = 0; i &lt; children.length; i++){
                if(children[i] === stars.canvas){
                  parent.removeChild(stars.canvas);
                  break;
                }
              }
            }//removeStars () function ends here

        } // stars object literal end

        // creating the emojis on top of image
        function createGame() {
            imgWidth = document.querySelector(&#39;.imgPart img&#39;).width;
            imgHeight = document.querySelector(&#39;.imgPart img&#39;).height;

            for (var i = 0; i &lt; EMOJI_ARRAY.length; i++) {
                emojiDiv = document.createElement(&quot;DIV&quot;);
                emojiText = document.createTextNode(EMOJI_ARRAY[i]);
                emojiDiv.setAttribute(&quot;class&quot;, &quot;emojis&quot;);
                emojiDiv.setAttribute(&quot;id&quot;, &quot;emoji&quot; + (i + 1));
                emojiDiv.style.fontSize = &quot;&quot; + fontsize + &quot;px&quot;;
                emojiDiv.style.top = Math.floor((EMOJI_TOP_OFFSETS[stage % IMAGE_LINKS_ARRAY.length][i] / 100) * (imgHeight - 50)) + &quot;px&quot;;
                emojiDiv.style.left = Math.floor((EMOJI_LEFT_OFFSETS[stage % IMAGE_LINKS_ARRAY.length][i] / 100) * (imgWidth - 50)) + &quot;px&quot;;

                emojiDiv.appendChild(emojiText);
                emojiContainer.appendChild(emojiDiv);

                emojiDiv.addEventListener(&#39;click&#39;, handleEmojiClick);

            }
            clickCounter = EMOJI_ARRAY.length;
            setGameTimer();
            displayLeftEmojis();
        }

        function setGameTimer() {
            timeElapsed = 0;
            gameTimer = setInterval(function() {
                timeElapsed += 1;
                document.querySelector(&#39;#timer&#39;).textContent = maxStageTime - timeElapsed;
                if (maxStageTime - timeElapsed === 0) {
                    gameOver();
                }
            }, 1000);
        }

        function gameOver() {
            iteration = 0;
            scores = 0;
            stage = 0;
            timeElapsed = 0;
            fontsize = 20;
            clearInterval(gameTimer);
            removeEmojis(emojiContainer);
            removeEmojis(document.querySelector(&#39;.leftEmojis&#39;));
            createGame();
            updateScores();
            displayBanner(&quot;&lt;hr/&gt;&lt;hr/&gt;GAME&lt;br/&gt;OVER&lt;hr/&gt;&lt;hr/&gt;&quot;, true);
        }

        function handleEmojiClick(event) {
            this.setAttribute(&#39;class&#39;, &#39;emojis emojisClicked&#39;);
            clickCounter--;
            scores += 100;

            //displayLeftEmojis part now
            document.querySelectorAll(&#39;.leftEmojiChild&#39;).forEach((item) =&gt; {
              if(this.textContent === item.textContent){
                document.querySelector(&#39;.leftEmojis&#39;).removeChild(item);              }
            });

            if (clickCounter === 0) {
                scores += 500;
                setTimeout(function(){
                  stars.createStars(document.body, innerWidth, innerHeight, 100, 15, BANNER_TIME, true);
                }, EMOJI_CLICK_TIME + 50);
                nextStage();
            }

            //display and remove the star canvas
            stars.createStars(document.body, innerWidth, innerHeight,
              20, 20, EMOJI_CLICK_TIME, false, event.pageX, event.pageY);
            setTimeout(function(){
              stars.removeStars(document.body);
              if(clickCounter === 0){
              }
            }, EMOJI_CLICK_TIME);

            updateScores();
            this.removeEventListener(&#39;click&#39;, handleEmojiClick);
        }

        function updateScores() {
            document.querySelector(&#39;#emojiLeft&#39;).textContent = clickCounter;
            document.querySelector(&#39;#scores&#39;).textContent = scores;
            document.querySelector(&#39;#stage&#39;).textContent = stage + 1;
        }

        function displayBanner(bannerText, noClick = false) {
            banner.innerHTML = bannerText;
            banner.style.display = &quot;block&quot;;

            //create the stars animation
            stars.createStars(document.body, innerWidth, innerHeight, 100, 15, BANNER_TIME, true);

            if (!noClick) {
                banner.addEventListener(&#39;click&#39;, bannerClick);
            }

            function bannerClick() {
                banner.style.display = &quot;none&quot;;
            }
            setTimeout(function() {
                banner.style.display = &quot;none&quot;;
                banner.removeEventListener(&#39;click&#39;, bannerClick);
            }, BANNER_TIME);
        }

        function nextStage() {
            stage += 1;
            clearInterval(gameTimer);
            if ((stage % (IMAGE_LINKS_ARRAY.length)) === 0) {
                iteration += 1;
                nextIteration();
            } else {
                scores += (maxStageTime - timeElapsed) * 10;
                displayBanner(`TIME BONUS ${(maxStageTime - timeElapsed) * 10} POINTS&lt;br/&gt; &lt;hr/&gt;${MESSAGE_ARRAY[Math.floor(Math.random() * MESSAGE_ARRAY.length)]}`);
            }
            document.querySelector(&#39;.imgPart img&#39;).src = IMAGE_LINKS_ARRAY[stage % IMAGE_LINKS_ARRAY.length];
            removeEmojis(emojiContainer);
            removeEmojis(document.querySelector(&#39;.leftEmojis&#39;));
            document.querySelector(&#39;.imgPart img&#39;).addEventListener(&quot;load&quot;, createGame);
        }

        function removeEmojis(parent) {
            while (parent.firstChild) {
                parent.removeChild(parent.firstChild);
            }
        }

        function nextIteration() {

            fontsize -= 2;
            if(maxStageTime &gt; 30){
              maxStageTime -= 10;
            }
            displayBanner(&quot;1000+&lt;br/&gt;LEVEL UP BONUS&lt;hr/&gt;LETS TUNE UP THE TOUGHNESS!!&quot;);
        }

        function getRandomColor() {
            return `rgb(${Math.floor(Math.random() * 255)},
            ${Math.floor(Math.random() * 255)},
            ${Math.floor(Math.random() * 255)})`;
        }

        function displayLeftEmojis(){
            EMOJI_ARRAY.forEach((item) =&gt; {
              let span = document.createElement(&#39;SPAN&#39;);
              span.setAttribute(&#39;class&#39;, &#39;leftEmojiChild&#39;);
              let content = document.createTextNode(item);
              span.appendChild(content);
              document.querySelector(&#39;.leftEmojis&#39;).appendChild(span);
            });
        }


&lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</description><link>https://bobbiegames.blogspot.com/2018/10/travel-blast-paris.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-7558066782962928646</guid><pubDate>Wed, 10 Oct 2018 17:05:00 +0000</pubDate><atom:updated>2018-10-21T14:28:34.606-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">Language Learning</category><category domain="http://www.blogger.com/atom/ns#">learn French</category><category domain="http://www.blogger.com/atom/ns#">Play and Learn</category><title>Play and Learn French</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Play and Learn French&lt;/title&gt;
        &lt;style&gt;
            #B {
     width:110px;
     height:55px;
     border-width:4px;
     border-style: solid;
     border-color:purple;
     background-color:#00ff00;
     border-radius:100% 70%;
     text-align:center;
     font-size:20px;
     padding: 1px 1px;}

div#board{
    background:SkyBlue;
    border:#0000FF 1px solid;
    width:350px;
    height:440px;
    padding:5px;
    margin:0px auto;
}
div#board &gt; div{ 
    border:#00838F 1px solid;
    width:75px;
    height:75px;
    float:left;
    margin:2px;
    padding:2px;
    font-size:24px;
    cursor:pointer;
    text-align:center;
}

.level {
    float: left;
}

#score {
    text-align: right;
    margin-right: 30px;
    margin-top: 40px;
    font-size: 1.2em;
}

.clear-both {
    clear: both;
}
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
&lt;h1&gt;Play and Learn French with this fun matching game.&lt;/h1&gt;&lt;br&gt;&lt;p&gt;If you are not yet familiar with this language no worries just match the objects and let the words sink into your mind as you play. To switch subjects just tap the Level button to discover and play new topics&lt;/p&gt;
        &lt;div id=&quot;title&quot; class=&quot;text-center&quot;&gt;
            &lt;h1 style=&quot;text-align: center&quot;&gt;French Words Memory Game&lt;/h1&gt;
            &lt;div class=&quot;level&quot;&gt;&lt;button id=&quot;B&quot; onclick=&quot;onChangelang(this)&quot;&gt;Fruit&lt;/button&gt; Press button for new Level&lt;/div&gt;
            &lt;div id=&quot;score&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;clear-both&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;board&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;msg&quot;&gt;&lt;/div&gt;
  
        &lt;script&gt;
            var score;

window.onload = function() {
    score = 0;
    updateScore();
}

var array = [];

var arrayFruit = [&#39;pomme = 🍎&#39;, &#39;pomme = 🍎&#39;, &#39;banane = 🍌&#39;, &#39;banane = 🍌&#39;, &#39;cerise = 🍒&#39;, &#39;cerise = 🍒&#39;, 
&#39;citron = 🍋&#39;,&#39;citron = 🍋&#39;, 
&#39;poire = 🍐&#39;, &#39;poire = 🍐&#39;, 
&#39;fraise = 🍓&#39;, &#39;fraise = 🍓&#39;, 
&#39;ananas = 🍍&#39;, &#39;ananas = 🍍&#39;, 
&#39;raisin = 🍇&#39;, &#39;raisin = 🍇&#39;, ];


var arrayNature=
[ &#39;Soleil = 🌞&#39;,&#39;Soleil = 🌞&#39;, &#39;lune = 🌛&#39;,&#39;lune = 🌛&#39;, &#39;etoile = ⭐&#39;,&#39;etoile = ⭐&#39;, &#39;arbre = 🌲&#39;,&#39;arbre = 🌲&#39;, &#39;fleur = 🌸&#39;,&#39;fleur = 🌸&#39;, &#39;neige = 🌨&#39; ,&#39;neige = 🌨&#39; ,&#39;pluie = ☔&#39;,&#39;pluie = ☔&#39;,&#39;feuille = 🍁&#39;, &#39;feuille = 🍁&#39;, ];

var arrayClothes = [&#39;chemise = 👕&#39;,&#39;chemise = 👕&#39;, &#39;pantalon = 👖&#39;, &#39;pantalon = 👖&#39;,&#39;cravate = 👔&#39;,&#39;cravate = 👔&#39;, &#39;robe = 👗&#39;, &#39;robe = 👗&#39;, &#39;bikini = 👙&#39;, &#39;bikini = 👙&#39;, &#39;chaussure = 👟&#39;, &#39;chaussure = 👟&#39;, &#39;chapeau = 👒&#39;, &#39;chapeau = 👒&#39;,&#39;bourse = 👜&#39;,&#39;bourse = 👜&#39;,];

var arrayAutos = [&#39;voiture = 🚗&#39;, &#39;voiture = 🚗&#39;, &#39;taxi = 🚕&#39; , &#39;taxi = 🚕&#39; , &#39;autobus = 🚌&#39;, &#39;autobus = 🚌&#39;, &#39;train = 🚂&#39;,&#39;train = 🚂&#39;, &#39;avion = 🛩&#39;, &#39;avion = 🛩&#39;,&#39;bateau = ⛵&#39;, &#39;bateau = ⛵&#39;, &#39;velo = 🚲&#39;, &#39;velo = 🚲&#39;, &#39;moto = 🏍&#39;,&#39;moto = 🏍&#39;, ];


var arrayNumbers = [&quot;un = 1&quot;,&quot;un = 1&quot;,&quot;dix = 10&quot;,&quot;deux = 2&quot;,&quot;trois =  3&quot;,&quot;quatre = 4&quot;,&quot;cinq = 5&quot;,&quot;six = 6&quot;,&quot;sept = 7&quot;,&quot;huit = 8&quot;,&quot;deux = 2&quot;,&quot;trois =  3&quot;,&quot;quatre = 4&quot;,&quot;cinq = 5&quot;,&quot;six = 6&quot;,&quot;sept = 7&quot;,&quot;huit = 8&quot;,&quot;neuf = 9&quot;,&quot;neuf = 9&quot;,&quot;dix = 10&quot;,];

var arrayColors = [&quot;Rose = Pink&quot;,&quot;Rose = Pink&quot;,&quot;Bleu = Blue&quot;,&quot;Bleu = Blue&quot;,&quot;Jaune = Yellow&quot;,&quot;Jaune = Yellow&quot;,&quot;Marron = Brown&quot;,&quot;Marron = Brown&quot;,&quot;Rouge = Red&quot;,&quot;Rouge = Red&quot;,&quot;Blanc = White&quot;,&quot;Blanc = White&quot;,&quot;Noir = Black&quot;,&quot;Noir = Black&quot;,&quot;Vert = Green&quot;,&quot;Vert = Green&quot;];

var arrayAnimals = [&quot;chien = 🐕&quot;,&quot;chien = 🐕&quot;,&quot;chat = 🐈&quot;,&quot;chat = 🐈&quot;,&quot;lapin = 🐇&quot;,&quot;lapin = 🐇&quot;,&quot;cheval = 🐎&quot;,&quot;cheval = 🐎&quot;,&quot;oiseau = 🐦&quot;,&quot;oiseau = 🐦&quot;,&quot;poisson = 🐠&quot;,&quot;poisson = 🐠&quot;,&quot;souris = 🐭&quot;,&quot;souris = 🐭&quot;,&quot;mouton = 🐑&quot;,&quot;mouton = 🐑&quot;];







 


 //Thanks Calvin
 
var lang = &#39;Fruit&#39;; // default lang
var arrayAllLang = [ 
    
    {
        lang: &#39;Fruit&#39;,
        data: arrayFruit
    },
    
    {
        lang: &#39;Nature&#39;,
        data: arrayNature
    },
    
    {
        lang: &#39;Clothes&#39;,
        data: arrayClothes
    },
    
    {
        lang: &#39;Autos&#39;,
        data: arrayAutos
    },
    {
        lang: &#39;Numbers&#39;,
        data: arrayNumbers
    },
    {
        lang: &#39;Colors&#39;,
        data: arrayColors
    },
    
    
    {
        lang: &#39;Animals&#39;,
        data: arrayAnimals
    },
];

var langs = arrayAllLang.map(function(arr) {
        return arr.lang;
    }); // get all langs in one array


// change lang button event
function onChangelang(e) {
    
        
    var index = langs.indexOf(lang);
    if(index&lt;langs.length-1) lang = langs[index+1];
    else lang = langs[0];
    
    
    e.innerText = lang;
    newBoard();
}


function getArray() {
    return arrayAllLang.reduce(function(acc,d) {
       if(d.lang===lang) acc = d.data;
       return acc;
    },[]);
}






var values = [];
var ids = [];
var flipped = 0;
Array.prototype.shuffle = function(){
    var i = this.length, j, temp;
    while(--i &gt; 0){
        j = Math.floor(Math.random() * (i+1));
        temp = this[j];
        this[j] = this[i];
        this[i] = temp;
    }
}
function newBoard(){
    array = getArray();
    tiles_flipped = 0;
    var output = &#39;&#39;;
    array.shuffle();
    for(var i = 0; i &lt; array.length; i++){
        output += &#39;&lt;div id=&quot;tile_&#39;+i+&#39;&quot; onclick=&quot;memoryFlipTile(this,\&#39;&#39;+array[i]+&#39;\&#39;)&quot;&gt;&lt;/div&gt;&#39;;
    }
    document.getElementById(&#39;board&#39;).innerHTML = output;
}

function memoryFlipTile(tile,val){
    if(tile.innerHTML == &quot;&quot; &amp;&amp; values.length &lt; 2) { // if first tile
        tile.style.background = &#39;#FFF&#39;;
        tile.innerHTML = val;
        if(values.length == 0) {
            values.push(val);
            ids.push(tile.id);
            // console.log(&#39;first tile&#39;);
        } 
        else if(values.length == 1) { // if second tile
            values.push(val);
            ids.push(tile.id);
            if(values[0] == values[1]) { // if matched
                // console.log(&#39;matched&#39;);
                score += 1000;
                updateScore();
                tiles_flipped += 2;
                values = [];
                ids = [];
                if(tiles_flipped == array.length){ // if all matched
                        setTimeout(doneMessage, 100);
                        function doneMessage() {
                            alert(&quot;Great Job!!! You Win!!! 🙂 Play again? or Select new Level&quot;);
                            document.getElementById(&#39;board&#39;).innerHTML = &quot;&quot;;
                            newBoard();
                        }
                }
            } else { // if not match
                // console.log(&#39;not matched&#39;);
                score -= 100;
                updateScore();
                function flip2Back(){
                    var tile_1 = document.getElementById(ids[0]);
                    var tile_2 = document.getElementById(ids[1]);
                    tile_1.innerHTML = &quot;&quot;;
                    tile_2.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    tile_2.innerHTML = &quot;&quot;; 
                    tile_1.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    values = [];
                    ids = [];
                }
                setTimeout(flip2Back, 800);
                var index;
                
                
            }
            
        }
    }
}

function updateScore() {
   document.getElementById(&#39;score&#39;).innerText = &quot;Score: &quot; + score;
}

        &lt;/script&gt; 
         &lt;script&gt;newBoard();&lt;/script&gt;   
    &lt;/body&gt;
&lt;/html&gt;
&lt;br&gt;&lt;br&gt;








&lt;div id=&quot;amzn-assoc-ad-5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;
&lt;/div&gt;
&lt;script async=&quot;&quot; src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;amp;adInstanceId=5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;br /&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/10/play-and-learn-french.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-3828276657954130991</guid><pubDate>Mon, 08 Oct 2018 15:19:00 +0000</pubDate><atom:updated>2018-10-21T14:28:21.888-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">Language Learning</category><category domain="http://www.blogger.com/atom/ns#">Learn Spanish</category><category domain="http://www.blogger.com/atom/ns#">Play and Learn</category><title>Play and Learn Spanish</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Play and Learn Spanish&lt;/title&gt;
        &lt;style&gt;
            #B {
     width:110px;
     height:55px;
     border-width:4px;
     border-style: solid;
     border-color:purple;
     background-color:#00ff00;
     border-radius:100% 70%;
     text-align:center;
     font-size:20px;
     padding: 1px 1px;}

div#board{
    background:SkyBlue;
    border:#0000FF 1px solid;
    width:350px;
    height:440px;
    padding:5px;
    margin:0px auto;
}
div#board &gt; div{ 
    border:#00838F 1px solid;
    width:75px;
    height:75px;
    float:left;
    margin:2px;
    padding:2px;
    font-size:24px;
    cursor:pointer;
    text-align:center;
}

.level {
    float: left;
}

#score {
    text-align: right;
    margin-right: 30px;
    margin-top: 40px;
    font-size: 1.2em;
}

.clear-both {
    clear: both;
}
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
&lt;h1&gt;Play and Learn Spanish with this fun matching game.&lt;/h1&gt;&lt;br&gt;&lt;p&gt;If you are not yet familiar with this language no worries just match the objects and let the words sink into your mind as you play. To switch subjects just tap the Level button to discover and play new topics&lt;/p&gt;
        &lt;div id=&quot;title&quot; class=&quot;text-center&quot;&gt;
            &lt;h1 style=&quot;text-align: center&quot;&gt;Spanish Words Memory Game&lt;/h1&gt;
            &lt;div class=&quot;level&quot;&gt;&lt;button id=&quot;B&quot; onclick=&quot;onChangelang(this)&quot;&gt;Fruit&lt;/button&gt; Press button for new Level&lt;/div&gt;
            &lt;div id=&quot;score&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;clear-both&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;board&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;msg&quot;&gt;&lt;/div&gt;
  
        &lt;script&gt;
            var score;

window.onload = function() {
    score = 0;
    updateScore();
}

var array = [];

var arrayFruit = [&#39;manzana = 🍎&#39;, &#39;manzana = 🍎&#39;, &#39;plátano = 🍌&#39;, &#39;plátano = 🍌&#39;, &#39;cereza = 🍒&#39;, &#39;cereza = 🍒&#39;, 
&#39;limón = 🍋&#39;,&#39;limón = 🍋&#39;, 
&#39;pera = 🍐&#39;, &#39;pera = 🍐&#39;, 
&#39;fresa = 🍓&#39;, &#39;fresa = 🍓&#39;, 
&#39;piña = 🍍&#39;, &#39;piña = 🍍&#39;, 
&#39;uvas = 🍇&#39;, &#39;uvas = 🍇&#39;, ];


var arrayNature=
[ &#39;Sol = 🌞&#39;,&#39;Sol = 🌞&#39;, &#39;luna = 🌛&#39;,&#39;luna = 🌛&#39;, &#39;estrella = ⭐&#39;,&#39;estrella = ⭐&#39;, &#39;árbol = 🌲&#39;,&#39;árbol = 🌲&#39;, &#39;flor = 🌸&#39;,&#39;flor = 🌸&#39;, &#39;nieve = 🌨&#39; ,&#39;nieve = 🌨&#39; ,&#39;lluvia = ☔&#39;,&#39;lluvia = ☔&#39;,&#39;hoja = 🍁&#39;, &#39;hoja = 🍁&#39;, ];

var arrayClothes = [&#39;camisa = 👕&#39;,&#39;camisa = 👕&#39;, &#39;pantalones = 👖&#39;, &#39;pantalones = 👖&#39;,&#39;corbata = 👔&#39;,&#39;corbata = 👔&#39;, &#39;vestido = 👗&#39;, &#39;vestido = 👗&#39;, &#39;bikini = 👙&#39;, &#39;bikini = 👙&#39;, &#39;zapato = 👟&#39;, &#39;zapato = 👟&#39;, &#39;sombrero = 👒&#39;, &#39;sombrero = 👒&#39;,&#39;bolso = 👜&#39;,&#39;bolso = 👜&#39;,];


var arrayAutos = [&#39;coche = 🚗&#39;, &#39;coche = 🚗&#39;, &#39;taxi = 🚕&#39; , &#39;taxi = 🚕&#39; , &#39;autobús = 🚌&#39;, &#39;autobús = 🚌&#39;, &#39;tren = 🚂&#39;,&#39;tren = 🚂&#39;, &#39;avión = 🛩&#39;, &#39;avión = 🛩&#39;,&#39;barco = ⛵&#39;, &#39;barco = ⛵&#39;, &#39;bicicleta = 🚲&#39;, &#39;bicicleta = 🚲&#39;, &#39;motocicleta = 🏍&#39;,&#39;motocicleta = 🏍&#39;, ];


var arrayNumbers = [&quot;uno = 1&quot;,&quot;uno = 1&quot;,&quot;diez = 10&quot;,&quot;dos = 2&quot;,&quot;tres =  3&quot;,&quot;cuatro = 4&quot;,&quot;cinco = 5&quot;,&quot;seis = 6&quot;,&quot;siete = 7&quot;,&quot;ocho = 8&quot;,&quot;dos = 2&quot;,&quot;tres =  3&quot;,&quot;cuatro = 4&quot;,&quot;cinco = 5&quot;,&quot;seis = 6&quot;,&quot;siete = 7&quot;,&quot;ocho = 8&quot;,&quot;nueve = 9&quot;,&quot;nueve = 9&quot;,&quot;diez = 10&quot;,];


var arrayColors = [&quot;Rosado = Pink&quot;,&quot;Rosado = Pink&quot;,&quot;Azul = Blue&quot;,&quot;Azul = Blue&quot;,&quot;Amarillo = Yellow&quot;,&quot;Amarillo = Yellow&quot;,&quot;Marrón = Brown&quot;,&quot;Marrón = Brown&quot;,&quot;Rojo = Red&quot;,&quot;Rojo = Red&quot;,&quot;Blanco= White&quot;,&quot;Blanco = White&quot;,&quot;Negro = Black&quot;,&quot;Negro = Black&quot;,&quot;Verde = Green&quot;,&quot;Verde = Green&quot;];

var arrayAnimals = [&quot;perro = 🐕&quot;,&quot;perro = 🐕&quot;,&quot;gato = 🐈&quot;,&quot;gato = 🐈&quot;,&quot;conejo = 🐇&quot;,&quot;conejo = 🐇&quot;,&quot;caballo = 🐎&quot;,&quot;caballo = 🐎&quot;,&quot;pájaro = 🐦&quot;,&quot;pájaro = 🐦&quot;,&quot;pez = 🐠&quot;,&quot;pez = 🐠&quot;,&quot;ratón = 🐭&quot;,&quot;ratón = 🐭&quot;,&quot;tortuga = 🐢&quot;,&quot;tortuga = 🐢&quot;];







 //Thanks Calvin
 
var lang = &#39;Fruit&#39;; // default lang
var arrayAllLang = [ 
    
    {
        lang: &#39;Fruit&#39;,
        data: arrayFruit
    },
    
    {
        lang: &#39;Nature&#39;,
        data: arrayNature
    },
    
    {
        lang: &#39;Clothes&#39;,
        data: arrayClothes
    },
    
    {
        lang: &#39;Autos&#39;,
        data: arrayAutos
    },
    {
        lang: &#39;Numbers&#39;,
        data: arrayNumbers
    },
    {
        lang: &#39;Colors&#39;,
        data: arrayColors
    },
    
    
    {
        lang: &#39;Animals&#39;,
        data: arrayAnimals
    },
];

var langs = arrayAllLang.map(function(arr) {
        return arr.lang;
    }); // get all langs in one array


// change lang button event
function onChangelang(e) {
    
        
    var index = langs.indexOf(lang);
    if(index&lt;langs.length-1) lang = langs[index+1];
    else lang = langs[0];
    
    
    e.innerText = lang;
    newBoard();
}


function getArray() {
    return arrayAllLang.reduce(function(acc,d) {
       if(d.lang===lang) acc = d.data;
       return acc;
    },[]);
}






var values = [];
var ids = [];
var flipped = 0;
Array.prototype.shuffle = function(){
    var i = this.length, j, temp;
    while(--i &gt; 0){
        j = Math.floor(Math.random() * (i+1));
        temp = this[j];
        this[j] = this[i];
        this[i] = temp;
    }
}
function newBoard(){
    array = getArray();
    tiles_flipped = 0;
    var output = &#39;&#39;;
    array.shuffle();
    for(var i = 0; i &lt; array.length; i++){
        output += &#39;&lt;div id=&quot;tile_&#39;+i+&#39;&quot; onclick=&quot;memoryFlipTile(this,\&#39;&#39;+array[i]+&#39;\&#39;)&quot;&gt;&lt;/div&gt;&#39;;
    }
    document.getElementById(&#39;board&#39;).innerHTML = output;
}

function memoryFlipTile(tile,val){
    if(tile.innerHTML == &quot;&quot; &amp;&amp; values.length &lt; 2) { // if first tile
        tile.style.background = &#39;#FFF&#39;;
        tile.innerHTML = val;
        if(values.length == 0) {
            values.push(val);
            ids.push(tile.id);
            // console.log(&#39;first tile&#39;);
        } 
        else if(values.length == 1) { // if second tile
            values.push(val);
            ids.push(tile.id);
            if(values[0] == values[1]) { // if matched
                // console.log(&#39;matched&#39;);
                score += 1000;
                updateScore();
                tiles_flipped += 2;
                values = [];
                ids = [];
                if(tiles_flipped == array.length){ // if all matched
                        setTimeout(doneMessage, 100);
                        function doneMessage() {
                            alert(&quot;Great Job!!! You Win!!! 🙂 Play again? or Select new Level&quot;);
                            document.getElementById(&#39;board&#39;).innerHTML = &quot;&quot;;
                            newBoard();
                        }
                }
            } else { // if not match
                // console.log(&#39;not matched&#39;);
                score -= 100;
                updateScore();
                function flip2Back(){
                    var tile_1 = document.getElementById(ids[0]);
                    var tile_2 = document.getElementById(ids[1]);
                    tile_1.innerHTML = &quot;&quot;;
                    tile_2.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    tile_2.innerHTML = &quot;&quot;; 
                    tile_1.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    values = [];
                    ids = [];
                }
                setTimeout(flip2Back, 800);
                var index;
                
                
            }
            
        }
    }
}

function updateScore() {
   document.getElementById(&#39;score&#39;).innerText = &quot;Score: &quot; + score;
}

        &lt;/script&gt; 
         &lt;script&gt;newBoard();&lt;/script&gt;   
    &lt;/body&gt;
&lt;/html&gt;
&lt;br&gt;&lt;br&gt;
&lt;div id=&quot;amzn-assoc-ad-5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/script&gt;

&lt;br&gt;&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/10/play-and-learn-spanish_8.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-6714936984722571990</guid><pubDate>Mon, 08 Oct 2018 13:59:00 +0000</pubDate><atom:updated>2018-10-21T14:28:56.573-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">Language Learning</category><category domain="http://www.blogger.com/atom/ns#">learn English</category><category domain="http://www.blogger.com/atom/ns#">Play and Learn</category><title>Play and Learn English</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Page Title&lt;/title&gt;
        &lt;style&gt;
            #B {
     width:110px;
     height:55px;
     border-width:4px;
     border-style: solid;
     border-color:purple;
     background-color:#00ff00;
     border-radius:100% 70%;
     text-align:center;
     font-size:20px;
     padding: 1px 1px;}

div#board{
    background:SkyBlue;
    border:#0000FF 1px solid;
    width:350px;
    height:440px;
    padding:5px;
    margin:0px auto;
}
div#board &gt; div{ 
    border:#00838F 1px solid;
    width:75px;
    height:75px;
    float:left;
    margin:2px;
    padding:2px;
    font-size:24px;
    cursor:pointer;
    text-align:center;
}

.level {
    float: left;
}

#score {
    text-align: right;
    margin-right: 30px;
    margin-top: 40px;
    font-size: 1.2em;
}

.clear-both {
    clear: both;
}
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
&lt;h1&gt;Play and Learn English with this fun matching game.&lt;/h1&gt;&lt;br&gt;&lt;p&gt;If you are not yet familiar with this language no worries just match the objects and let the words sink into your mind as you play. To switch subjects just tap the Level button to discover and play new topics&lt;/p&gt;
        &lt;div id=&quot;title&quot; class=&quot;text-center&quot;&gt;
            &lt;h1 style=&quot;text-align: center&quot;&gt;English Words Memory Game&lt;/h1&gt;
            &lt;div class=&quot;level&quot;&gt;&lt;button id=&quot;B&quot; onclick=&quot;onChangelang(this)&quot;&gt;Fruit&lt;/button&gt; Press button for new Level&lt;/div&gt;
            &lt;div id=&quot;score&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;clear-both&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;board&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;msg&quot;&gt;&lt;/div&gt;
  &lt;h1&gt; English Words Study List &lt;/h1&gt;  
&lt;h2&gt;Fruit&lt;/h2&gt;   
       &lt;p&gt;apple = 🍎&lt;br&gt; banana = 🍌&lt;br&gt; cherry = 🍒&lt;br&gt;
lemon = 🍋&lt;br&gt;
pear = 🍐&lt;br&gt;
watermelon = 🍉&lt;br&gt;
pineapple = 🍍&lt;br&gt;
kiwi  = 🥝&lt;/p&gt;
  &lt;h2&gt;Nature&lt;/h2&gt;
&lt;p&gt; sun = 🌞&lt;br&gt; moon = 🌛&lt;br&gt;star = ⭐&lt;br&gt;tree = 🌲&lt;br&gt;flower = 🌸&lt;br&gt;snow = 🌨&lt;br&gt;rain = ☔&lt;br&gt;leaf = 🍁&lt;/p&gt;  

&lt;h2&gt;Clothes&lt;/h2&gt;
&lt;p&gt;pants = 👖&lt;br&gt;tie = 👔&lt;br&gt;dress = 👗&lt;br&gt;bikini = 👙&lt;br&gt;shoe = 👟&lt;br&gt;hat = 👒&lt;br&gt;purse = 👜&lt;/p&gt;

&lt;h2&gt;Autos&lt;/h2&gt;
&lt;p&gt;car = 🚗&lt;br&gt;taxi = 🚕&lt;br&gt;bus = 🚌&lt;br&gt;train = 🚂&lt;br&gt;airplane = 🛩&lt;br&gt;sailboat = ⛵&lt;br&gt;bicycle = 🚲&lt;br&gt;motorcycle = 🏍
 &lt;h2&gt;Numbers&lt;/h2&gt;
&lt;p&gt;one = 1&lt;br&gt;two = 2&lt;br&gt;three =  3&lt;br&gt;four = 4&lt;br&gt;five = 5&lt;br&gt;six = 6&lt;br&gt;seven = 7&lt;br&gt;eight = 8&lt;br&gt;nine = 9&lt;br&gt;ten = 10&lt;/p&gt;
&lt;h2&gt; Colors&lt;/h2&gt;
&lt;p&gt;🐩 = Pink&lt;br&gt;🐦 = SkyBlue&lt;br&gt;🐥 = Yellow&lt;br&gt;🐻 = Brown&lt;br&gt;🌹 = Red&lt;br&gt;☁️ = White&lt;br&gt;🌚 = Black&lt;br&gt;🍀 = Green&lt;/p&gt;
&lt;h2&gt;Animals&lt;/h2&gt;
&lt;p&gt;cat = 🐈&lt;br&gt;dog = 🐕&lt;br&gt;rabbit = 🐇&lt;br&gt;
monkey = 🐒&lt;br&gt;mouse = 🐭&lt;br&gt;
horse = 🐎&lt;br&gt;fisg = 🐠&lt;br&gt;bird = 🐦&lt;/p&gt;
        &lt;script&gt;
            var score;

window.onload = function() {
    score = 0;
    updateScore();
}




var array = [];

var arrayFruit = [&#39;apple = 🍎&#39;, &#39;apple = 🍎&#39;, &#39;banana = 🍌&#39;, &#39;banana = 🍌&#39;, &#39;cherry = 🍒&#39;, &#39;cherry = 🍒&#39;, 
&#39;lemon = 🍋&#39;,&#39;lemon = 🍋&#39;, 
&#39;pear = 🍐&#39;, &#39;pear = 🍐&#39;, 
&#39;watermelon = 🍉&#39;, &#39;watermelon = 🍉&#39;, 
&#39;pineapple = 🍍&#39;, &#39;pineapple = 🍍&#39;, 
&#39;kiwi  = 🥝&#39;, &#39;kiwi  = 🥝&#39;, ];



var arrayNature=
[ &#39;sun = 🌞&#39;,&#39;sun = 🌞&#39;, &#39;moon = 🌛&#39;,&#39;moon = 🌛&#39;, &#39;star = ⭐&#39;,&#39;star = ⭐&#39;, &#39;tree = 🌲&#39;,&#39;tree = 🌲&#39;, &#39;flower = 🌸&#39;,&#39;flower = 🌸&#39;, &#39;snow = 🌨&#39; ,&#39;snow = 🌨&#39; ,&#39;rain = ☔&#39;,&#39;rain = ☔&#39;,&#39;leaf = 🍁&#39;, &#39;leaf = 🍁&#39;, ];


 
var arrayClothes = [&#39;shirt = 👕&#39;,&#39;shirt = 👕&#39;, &#39;pants = 👖&#39;, &#39;pants = 👖&#39;,&#39;tie = 👔&#39;,&#39;tie = 👔&#39;, &#39;dress = 👗&#39;, &#39;dress = 👗&#39;, &#39;bikini = 👙&#39;, &#39;bikini = 👙&#39;, &#39;shoe = 👟&#39;, &#39;shoe = 👟&#39;, &#39;hat = 👒&#39;, &#39;hat = 👒&#39;,&#39;purse = 👜&#39;,&#39;purse = 👜&#39;,];



var arrayAutos = [&#39;car = 🚗&#39;, &#39;car = 🚗&#39;, &#39;taxi = 🚕&#39; , &#39;taxi = 🚕&#39; , &#39;bus = 🚌&#39;, &#39;bus = 🚌&#39;, &#39;train = 🚂&#39;,&#39;train = 🚂&#39;, &#39;airplane = 🛩&#39;, &#39;airplane = 🛩&#39;,&#39;sailboat = ⛵&#39;, &#39;sailboat = ⛵&#39;, &#39;bicycle = 🚲&#39;, &#39;bicycle = 🚲&#39;, &#39;motorcycle = 🏍&#39;,&#39;motorcycle = 🏍&#39;, ];



 var arrayNumbers = [&quot;one = 1&quot;,&quot;one = 1&quot;,&quot;ten = 10&quot;,&quot;two = 2&quot;,&quot;three =  3&quot;,&quot;four = 4&quot;,&quot;five = 5&quot;,&quot;six = 6&quot;,&quot;seven = 7&quot;,&quot;eight = 8&quot;,&quot;two = 2&quot;,&quot;three =  3&quot;,&quot;four = 4&quot;,&quot;five = 5&quot;,&quot;six = 6&quot;,&quot;seven = 7&quot;,&quot;eight = 8&quot;,&quot;nine = 9&quot;,&quot;ninr = 9&quot;,&quot;ten = 10&quot;,];

    
var arrayColors = [&quot;🐩 = Pink&quot;,&quot;🐩 = Pink&quot;,&quot;🐦 = SkyBlue&quot;,&quot;🐦 = SkyBlue&quot;,&quot;🐥 = Yellow&quot;,&quot;🐥 = Yellow&quot;,&quot;🐻 = Brown&quot;,&quot;🐻 = Brown&quot;,&quot;🌹 = Red&quot;,&quot;🌹 = Red&quot;,&quot;☁️ = White&quot;,&quot;☁️ = White&quot;,&quot;🌚 = Black&quot;,&quot;🌚 = Black&quot;,&quot;🍀 = Green&quot;,&quot;🍀 = Green&quot;];

 var arrayAnimals = [&#39;cat = 🐈&#39;, &#39;cat = 🐈&#39;, &#39;dog = 🐕&#39;, &#39;dog = 🐕&#39;, &#39;rabbit = 🐇&#39;, &#39;rabbit = 🐇&#39;, 
&#39;monkey = 🐒&#39;,&#39;monkey = 🐒&#39;, 
&#39;mouse = 🐭&#39;, &#39;mouse = 🐭&#39;, 
&#39;horse = 🐎&#39;, &#39;horse = 🐎&#39;, 
&#39;fish = 🐠&#39;, &#39;fish = 🐠&#39;, 
&#39;bird = 🐦&#39;, &#39;bird = 🐦&#39;, ];


 //Thanks Calvin
 
var lang = &#39;Fruit&#39;; // default lang
var arrayAllLang = [ 
    
    {
        lang: &#39;Fruit&#39;,
        data: arrayFruit
    },
    
    {
        lang: &#39;Nature&#39;,
        data: arrayNature
    },
    
    {
        lang: &#39;Clothes&#39;,
        data: arrayClothes
    },
    
    {
        lang: &#39;Autos&#39;,
        data: arrayAutos
    },
    {
        lang: &#39;Numbers&#39;,
        data: arrayNumbers
    },
    {
        lang: &#39;Colors&#39;,
        data: arrayColors
    },
    
    
    {
        lang: &#39;Animals&#39;,
        data: arrayAnimals
    },
];

var langs = arrayAllLang.map(function(arr) {
        return arr.lang;
    }); // get all langs in one array


// change lang button event
function onChangelang(e) {
    
        
    var index = langs.indexOf(lang);
    if(index&lt;langs.length-1) lang = langs[index+1];
    else lang = langs[0];
    
    
    e.innerText = lang;
    newBoard();
}


function getArray() {
    return arrayAllLang.reduce(function(acc,d) {
       if(d.lang===lang) acc = d.data;
       return acc;
    },[]);
}






var values = [];
var ids = [];
var flipped = 0;
Array.prototype.shuffle = function(){
    var i = this.length, j, temp;
    while(--i &gt; 0){
        j = Math.floor(Math.random() * (i+1));
        temp = this[j];
        this[j] = this[i];
        this[i] = temp;
    }
}
function newBoard(){
    array = getArray();
    tiles_flipped = 0;
    var output = &#39;&#39;;
    array.shuffle();
    for(var i = 0; i &lt; array.length; i++){
        output += &#39;&lt;div id=&quot;tile_&#39;+i+&#39;&quot; onclick=&quot;memoryFlipTile(this,\&#39;&#39;+array[i]+&#39;\&#39;)&quot;&gt;&lt;/div&gt;&#39;;
    }
    document.getElementById(&#39;board&#39;).innerHTML = output;
}

function memoryFlipTile(tile,val){
    if(tile.innerHTML == &quot;&quot; &amp;&amp; values.length &lt; 2) { // if first tile
        tile.style.background = &#39;#FFF&#39;;
        tile.innerHTML = val;
        if(values.length == 0) {
            values.push(val);
            ids.push(tile.id);
            // console.log(&#39;first tile&#39;);
        } 
        else if(values.length == 1) { // if second tile
            values.push(val);
            ids.push(tile.id);
            if(values[0] == values[1]) { // if matched
                // console.log(&#39;matched&#39;);
                score += 1000;
                updateScore();
                tiles_flipped += 2;
                values = [];
                ids = [];
                if(tiles_flipped == array.length){ // if all matched
                        setTimeout(doneMessage, 100);
                        function doneMessage() {
                            alert(&quot;Great Job!!! You Win!!! 🙂 Play again? or Select new Level&quot;);
                            document.getElementById(&#39;board&#39;).innerHTML = &quot;&quot;;
                            newBoard();
                        }
                }
            } else { // if not match
                // console.log(&#39;not matched&#39;);
                score -= 100;
                updateScore();
                function flip2Back(){
                    var tile_1 = document.getElementById(ids[0]);
                    var tile_2 = document.getElementById(ids[1]);
                    tile_1.innerHTML = &quot;&quot;;
                    tile_2.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    tile_2.innerHTML = &quot;&quot;; 
                    tile_1.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    values = [];
                    ids = [];
                }
                setTimeout(flip2Back, 800);
                var index;
                
                
            }
            
        }
    }
}

function updateScore() {
   document.getElementById(&#39;score&#39;).innerText = &quot;Score: &quot; + score;
}

        &lt;/script&gt; 
         &lt;script&gt;newBoard();&lt;/script&gt;   
    &lt;/body&gt;
&lt;/html&gt;

&lt;div id=&quot;amzn-assoc-ad-5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/script&gt;

&lt;br&gt;&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/10/play-and-learn-english.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-7664483019176922192</guid><pubDate>Mon, 24 Sep 2018 16:34:00 +0000</pubDate><atom:updated>2018-10-21T14:28:03.002-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">Language Learning</category><category domain="http://www.blogger.com/atom/ns#">Learn Russian</category><category domain="http://www.blogger.com/atom/ns#">Play and Learn</category><title>Play &amp; Learn Russian</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Page Title&lt;/title&gt;
        &lt;style&gt;
            #B {
     width:110px;
     height:55px;
     border-width:4px;
     border-style: solid;
     border-color:purple;
     background-color:#00ff00;
     border-radius:100% 70%;
     text-align:center;
     font-size:20px;
     padding: 1px 1px;}

div#board{
    background:SkyBlue;
    border:#0000FF 1px solid;
    width:350px;
    height:440px;
    padding:5px;
    margin:0px auto;
}
div#board &gt; div{ 
    border:#00838F 1px solid;
    width:75px;
    height:75px;
    float:left;
    margin:2px;
    padding:2px;
    font-size:24px;
    cursor:pointer;
    text-align:center;
}

.level {
    float: left;
}

#score {
    text-align: right;
    margin-right: 30px;
    margin-top: 40px;
    font-size: 1.2em;
}

.clear-both {
    clear: both;
}
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
&lt;h1&gt;Play and Learn Russian with this fun matching game.&lt;/h1&gt;&lt;br&gt;&lt;p&gt;If you are not yet familiar with this language no worries just match the objects and let the words sink into your mind as you play. To switch subjects just tap the Level button to discover and play new topics&lt;/p&gt;
        &lt;div id=&quot;title&quot; class=&quot;text-center&quot;&gt;
            &lt;h1 style=&quot;text-align: center&quot;&gt;Russian Words Memory Game&lt;/h1&gt;
            &lt;div class=&quot;level&quot;&gt;&lt;button id=&quot;B&quot; onclick=&quot;onChangelang(this)&quot;&gt;Fruit&lt;/button&gt; Press button for new Level&lt;/div&gt;
            &lt;div id=&quot;score&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;clear-both&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;board&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;msg&quot;&gt;&lt;/div&gt;
  &lt;h1&gt; Russian Words Study List &lt;/h1&gt;  
&lt;h2&gt;Fruit&lt;/h2&gt;   
       &lt;p&gt;яблоко = 🍎&lt;br&gt; банан = 🍌&lt;br&gt; вишня = 🍒&lt;br&gt;
лимон = 🍋&lt;br&gt;
груша = 🍐&lt;br&gt;
Арбуз = 🍉&lt;br&gt;
ананас = 🍍&lt;br&gt;
Киви  = 🥝&lt;/p&gt;
  &lt;h2&gt;Nature&lt;/h2&gt;
&lt;p&gt; Солнце = 🌞&lt;br&gt; луна = 🌛&lt;br&gt;звездное = ⭐&lt;br&gt;дерево = 🌲&lt;br&gt;цветок = 🌸&lt;br&gt;снежный = 🌨&lt;br&gt;дождь = ☔&lt;br&gt;лист = 🍁&lt;/p&gt;  

&lt;h2&gt;Clothes&lt;/h2&gt;
&lt;p&gt;брюки = 👖&lt;br&gt;галстук = 👔&lt;br&gt;платье = 👗&lt;br&gt;бикини = 👙&lt;br&gt;обувь = 👟&lt;br&gt;шляпа = 👒&lt;br&gt;кошелек = 👜&lt;/p&gt;

&lt;h2&gt;Autos&lt;/h2&gt;
&lt;p&gt;автомобиль = 🚗&lt;br&gt;такси = 🚕&lt;br&gt;автобус = 🚌&lt;br&gt;поезд = 🚂&lt;br&gt;самолет = 🛩&lt;br&gt;лодка = ⛵&lt;br&gt;велосипед = 🚲&lt;br&gt;мотоцикл = 🏍
 &lt;h2&gt;Numbers&lt;/h2&gt;
&lt;p&gt;один = 1&lt;br&gt;два = 2&lt;br&gt;три =  3&lt;br&gt;четыре = 4&lt;br&gt;пять = 5&lt;br&gt;шесть = 6&lt;br&gt;семь= 7&lt;br&gt;восемь = 8&lt;br&gt;девять = 9&lt;br&gt;десять = 10&lt;/p&gt;
&lt;h2&gt; Colors&lt;/h2&gt;
&lt;p&gt;розовый = Pink&lt;br&gt;голубой = SkyBlue&lt;br&gt;жёлтый = Yellow&lt;br&gt;коричневый = Brown&lt;br&gt;красный = Red&lt;br&gt;белый = White&lt;br&gt;чёрный = Black&lt;br&gt;зелёный = Green&lt;/p&gt;
&lt;h2&gt;Animals&lt;/h2&gt;
&lt;p&gt;Кот = 🐈&lt;br&gt;Собака = 🐕&lt;br&gt;Кролик = 🐇&lt;br&gt;
Обезьяна = 🐒&lt;br&gt;Мышь = 🐭&lt;br&gt;
Лошадь = 🐎&lt;br&gt;Рыба = 🐠&lt;br&gt;Птица = 🐦&lt;/p&gt;
        &lt;script&gt;
            var score;

window.onload = function() {
    score = 0;
    updateScore();
}




var array = [];

var arrayFruit = [&#39;яблоко = 🍎&#39;, &#39;яблоко = 🍎&#39;, &#39;банан = 🍌&#39;, &#39;банан = 🍌&#39;, &#39;вишня = 🍒&#39;, &#39;вишня = 🍒&#39;, 
&#39;лимон = 🍋&#39;,&#39;лимон = 🍋&#39;, 
&#39;груша = 🍐&#39;, &#39;груша = 🍐&#39;, 
&#39;Арбуз = 🍉&#39;, &#39;Арбуз = 🍉&#39;, 
&#39;ананас = 🍍&#39;, &#39;ананас = 🍍&#39;, 
&#39;Киви  = 🥝&#39;, &#39;Киви  = 🥝&#39;, ];



var arrayNature=
[ &#39;Солнце = 🌞&#39;,&#39;Солнце = 🌞&#39;, &#39;луна = 🌛&#39;,&#39;луна = 🌛&#39;, &#39;звездное = ⭐&#39;,&#39;звездное = ⭐&#39;, &#39;дерево = 🌲&#39;,&#39;дерево = 🌲&#39;, &#39;цветок = 🌸&#39;,&#39;цветок = 🌸&#39;, &#39;снежный = 🌨&#39; ,&#39;снежный = 🌨&#39; ,&#39;дождь = ☔&#39;,&#39;дождь = ☔&#39;,&#39;лист = 🍁&#39;, &#39;лист = 🍁&#39;, ];


 
var arrayClothes = [&#39;Рубашка = 👕&#39;,&#39;Рубашка = 👕&#39;, &#39;брюки = 👖&#39;, &#39;брюки = 👖&#39;,&#39;галстук = 👔&#39;,&#39;галстук = 👔&#39;, &#39;платье = 👗&#39;, &#39;платье = 👗&#39;, &#39;бикини = 👙&#39;, &#39;бикини = 👙&#39;, &#39;обувь = 👟&#39;, &#39;обувь = 👟&#39;, &#39;шляпа = 👒&#39;, &#39;шляпа = 👒&#39;,&#39;кошелек = 👜&#39;,&#39;кошелек = 👜&#39;,];



var arrayAutos = [&#39;автомобиль = 🚗&#39;, &#39;автомобиль = 🚗&#39;, &#39;такси = 🚕&#39; , &#39;такси = 🚕&#39; , &#39;автобус = 🚌&#39;, &#39;автобус = 🚌&#39;, &#39;поезд = 🚂&#39;,&#39;поезд = 🚂&#39;, &#39;самолет = 🛩&#39;, &#39;самолет = 🛩&#39;,&#39;лодка = ⛵&#39;, &#39;лодка = ⛵&#39;, &#39;велосипед = 🚲&#39;, &#39;велосипед = 🚲&#39;, &#39;мотоцикл = 🏍&#39;,&#39;мотоцикл = 🏍&#39;, ];



 var arrayNumbers = [&quot;один = 1&quot;,&quot;один = 1&quot;,&quot;десять = 10&quot;,&quot;два = 2&quot;,&quot;три =  3&quot;,&quot;четыре = 4&quot;,&quot;пять = 5&quot;,&quot;шесть = 6&quot;,&quot;семь= 7&quot;,&quot;восемь = 8&quot;,&quot;два = 2&quot;,&quot;три =  3&quot;,&quot;четыре = 4&quot;,&quot;пять = 5&quot;,&quot;шесть = 6&quot;,&quot;семь= 7&quot;,&quot;восемь = 8&quot;,&quot;девять = 9&quot;,&quot;девять = 9&quot;,&quot;десять = 10&quot;,];

    
var arrayColors = [&quot;розовый = Pink&quot;,&quot;розовый = Pink&quot;,&quot;голубой = SkyBlue&quot;,&quot;голубой = SkyBlue&quot;,&quot;жёлтый = Yellow&quot;,&quot;жёлтый = Yellow&quot;,&quot;коричневый = Brown&quot;,&quot;коричневый = Brown&quot;,&quot;красный = Red&quot;,&quot;красный = Red&quot;,&quot;белый = White&quot;,&quot;белый = White&quot;,&quot;чёрный = Black&quot;,&quot;чёрный = Black&quot;,&quot;зелёный = Green&quot;,&quot;зелёный = Green&quot;];

 var arrayAnimals = [&#39;Кот = 🐈&#39;, &#39;Кот = 🐈&#39;, &#39;Собака = 🐕&#39;, &#39;Собака = 🐕&#39;, &#39;Кролик = 🐇&#39;, &#39;Кролик = 🐇&#39;, 
&#39;Обезьяна = 🐒&#39;,&#39;Обезьяна = 🐒&#39;, 
&#39;Мышь = 🐭&#39;, &#39;Мышь = 🐭&#39;, 
&#39;Лошадь = 🐎&#39;, &#39;Лошадь = 🐎&#39;, 
&#39;Рыба = 🐠&#39;, &#39;Рыба = 🐠&#39;, 
&#39;Птица = 🐦&#39;, &#39;Птица = 🐦&#39;, ];


 //Thanks Calvin
 
var lang = &#39;Fruit&#39;; // default lang
var arrayAllLang = [ 
    
    {
        lang: &#39;Fruit&#39;,
        data: arrayFruit
    },
    
    {
        lang: &#39;Nature&#39;,
        data: arrayNature
    },
    
    {
        lang: &#39;Clothes&#39;,
        data: arrayClothes
    },
    
    {
        lang: &#39;Autos&#39;,
        data: arrayAutos
    },
    {
        lang: &#39;Numbers&#39;,
        data: arrayNumbers
    },
    {
        lang: &#39;Colors&#39;,
        data: arrayColors
    },
    
    
    {
        lang: &#39;Animals&#39;,
        data: arrayAnimals
    },
];

var langs = arrayAllLang.map(function(arr) {
        return arr.lang;
    }); // get all langs in one array


// change lang button event
function onChangelang(e) {
    
        
    var index = langs.indexOf(lang);
    if(index&lt;langs.length-1) lang = langs[index+1];
    else lang = langs[0];
    
    
    e.innerText = lang;
    newBoard();
}


function getArray() {
    return arrayAllLang.reduce(function(acc,d) {
       if(d.lang===lang) acc = d.data;
       return acc;
    },[]);
}






var values = [];
var ids = [];
var flipped = 0;
Array.prototype.shuffle = function(){
    var i = this.length, j, temp;
    while(--i &gt; 0){
        j = Math.floor(Math.random() * (i+1));
        temp = this[j];
        this[j] = this[i];
        this[i] = temp;
    }
}
function newBoard(){
    array = getArray();
    tiles_flipped = 0;
    var output = &#39;&#39;;
    array.shuffle();
    for(var i = 0; i &lt; array.length; i++){
        output += &#39;&lt;div id=&quot;tile_&#39;+i+&#39;&quot; onclick=&quot;memoryFlipTile(this,\&#39;&#39;+array[i]+&#39;\&#39;)&quot;&gt;&lt;/div&gt;&#39;;
    }
    document.getElementById(&#39;board&#39;).innerHTML = output;
}

function memoryFlipTile(tile,val){
    if(tile.innerHTML == &quot;&quot; &amp;&amp; values.length &lt; 2) { // if first tile
        tile.style.background = &#39;#FFF&#39;;
        tile.innerHTML = val;
        if(values.length == 0) {
            values.push(val);
            ids.push(tile.id);
            // console.log(&#39;first tile&#39;);
        } 
        else if(values.length == 1) { // if second tile
            values.push(val);
            ids.push(tile.id);
            if(values[0] == values[1]) { // if matched
                // console.log(&#39;matched&#39;);
                score += 1000;
                updateScore();
                tiles_flipped += 2;
                values = [];
                ids = [];
                if(tiles_flipped == array.length){ // if all matched
                        setTimeout(doneMessage, 100);
                        function doneMessage() {
                            alert(&quot;Great Job!!! You Win!!! 🙂 Play again? or Select new Level&quot;);
                            document.getElementById(&#39;board&#39;).innerHTML = &quot;&quot;;
                            newBoard();
                        }
                }
            } else { // if not match
                // console.log(&#39;not matched&#39;);
                score -= 100;
                updateScore();
                function flip2Back(){
                    var tile_1 = document.getElementById(ids[0]);
                    var tile_2 = document.getElementById(ids[1]);
                    tile_1.innerHTML = &quot;&quot;;
                    tile_2.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    tile_2.innerHTML = &quot;&quot;; 
                    tile_1.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    values = [];
                    ids = [];
                }
                setTimeout(flip2Back, 800);
                var index;
                
                
            }
            
        }
    }
}

function updateScore() {
   document.getElementById(&#39;score&#39;).innerText = &quot;Score: &quot; + score;
}

        &lt;/script&gt; 
         &lt;script&gt;newBoard();&lt;/script&gt;   
    &lt;/body&gt;
&lt;/html&gt;

&lt;div id=&quot;amzn-assoc-ad-5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/script&gt;

&lt;br&gt;&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/09/play-learn-russian_24.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-7239052434600451647</guid><pubDate>Thu, 20 Sep 2018 15:14:00 +0000</pubDate><atom:updated>2018-10-21T14:25:35.960-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><title>BattleStarShip Game</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;A little twist on the classic Battleship Game BattleStarShip&lt;/title&gt;
        &lt;style&gt;
            body {
    background-color: black;
}
div#board {
    position: relative;
    width: 350px;
    height: 350px;
    margin: auto;
    background: url(&quot;http://codifyacademy.com/project_battleship_demo/img/board.jpg&quot;) no-repeat;
    
    /* Learned about this new to me gem!!! background-size:contain woooaaahhh; */
    background-size:contain;
}
div#messageArea {
    position: absolute;
    top: 0px;
    left: 0px;
    color: rgb(83, 175, 19);
}
.hit {
    background: url(&quot;https://i.pinimg.com/originals/6e/43/b2/6e43b288e5e15cffb3f9ca7ff9eff3d8.png&quot;) no-repeat center center;
    background-size:contain;
}
.miss {
    background: url(&quot;http://media.gettyimages.com/photos/diamond-words-miss-on-black-background-high-resolution-3d-image-picture-id468471800?s=170667a&amp;w=1007&quot;) no-repeat center center;
    background-size:contain;
}
form {
    position: absolute;
    bottom: 0px;
    left: 0px;
    padding: 15px;
    background-color: rgb(83, 175, 19);
}
form input {
    background-color: #98CF71;
    border-color: rgb(83, 175, 19);
    font-size: 18px;
}
table {
    border-spacing: 0px;
    position: absolute;
    left: 60px;
    top: 35px;
}
td {
    width: 30px;
    height: 30px;
}
        &lt;/style&gt;
    &lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;board&quot;&gt;

&lt;div id=&quot;messageArea&quot;&gt;&lt;/div&gt;

&lt;table&gt;
&lt;tr&gt;
&lt;td id=&quot;00&quot;&gt;&lt;/td&gt; &lt;td id=&quot;01&quot;&gt;&lt;/td&gt; &lt;td id=&quot;02&quot;&gt;&lt;/td&gt; &lt;td id=&quot;03&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;04&quot;&gt;&lt;/td&gt; &lt;td id=&quot;05&quot;&gt;&lt;/td&gt; &lt;td id=&quot;06&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;10&quot;&gt;&lt;/td&gt; &lt;td id=&quot;11&quot;&gt;&lt;/td&gt; &lt;td id=&quot;12&quot;&gt;&lt;/td&gt; &lt;td id=&quot;13&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;14&quot;&gt;&lt;/td&gt; &lt;td id=&quot;15&quot;&gt;&lt;/td&gt; &lt;td id=&quot;16&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;20&quot;&gt;&lt;/td&gt; &lt;td id=&quot;21&quot;&gt;&lt;/td&gt; &lt;td id=&quot;22&quot;&gt;&lt;/td&gt; &lt;td id=&quot;23&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;24&quot;&gt;&lt;/td&gt; &lt;td id=&quot;25&quot;&gt;&lt;/td&gt; &lt;td id=&quot;26&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;30&quot;&gt;&lt;/td&gt; &lt;td id=&quot;31&quot;&gt;&lt;/td&gt; &lt;td id=&quot;32&quot;&gt;&lt;/td&gt; &lt;td id=&quot;33&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;34&quot;&gt;&lt;/td&gt; &lt;td id=&quot;35&quot;&gt;&lt;/td&gt; &lt;td id=&quot;36&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;40&quot;&gt;&lt;/td&gt; &lt;td id=&quot;41&quot;&gt;&lt;/td&gt; &lt;td id=&quot;42&quot;&gt;&lt;/td&gt; &lt;td id=&quot;43&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;44&quot;&gt;&lt;/td&gt; &lt;td id=&quot;45&quot;&gt;&lt;/td&gt; &lt;td id=&quot;46&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;50&quot;&gt;&lt;/td&gt; &lt;td id=&quot;51&quot;&gt;&lt;/td&gt; &lt;td id=&quot;52&quot;&gt;&lt;/td&gt; &lt;td id=&quot;53&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;54&quot;&gt;&lt;/td&gt; &lt;td id=&quot;55&quot;&gt;&lt;/td&gt; &lt;td id=&quot;56&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td id=&quot;60&quot;&gt;&lt;/td&gt; &lt;td id=&quot;61&quot;&gt;&lt;/td&gt; &lt;td id=&quot;62&quot;&gt;&lt;/td&gt; &lt;td id=&quot;63&quot;&gt;&lt;/td&gt;
&lt;td id=&quot;64&quot;&gt;&lt;/td&gt; &lt;td id=&quot;65&quot;&gt;&lt;/td&gt; &lt;td id=&quot;66&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;form&gt;
&lt;input type=&quot;text&quot; id=&quot;guessInput&quot; placeholder=&quot;A0&quot;&gt;
&lt;input type=&quot;button&quot; id=&quot;fireButton&quot; value=&quot;Fire!&quot;&gt;
&lt;/form&gt;
&lt;/div&gt;
    &lt;/body&gt;
    &lt;script&gt;
      var model = {
    boardSize: 7,
    numShips: 3,
    shipLength: 3,
    shipsSunk: 0,
    
    ships: [
        { locations: [0, 0, 0], hits: [&quot;&quot;, &quot;&quot;, &quot;&quot;] },
        { locations: [0, 0, 0], hits: [&quot;&quot;, &quot;&quot;, &quot;&quot;] },
        { locations: [0, 0, 0], hits: [&quot;&quot;, &quot;&quot;, &quot;&quot;] }
    ],



    fire: function(guess) {
        for (var i = 0; i &lt; this.numShips; i++) {
            var ship = this.ships[i];
            var index = ship.locations.indexOf(guess);

            // here&#39;s an improvement! Check to see if the ship
            // has already been hit, message the user, and return true.
            if (ship.hits[index] === &quot;hit&quot;) {
                view.displayMessage(&quot;Oops, you already hit that location!&quot;);
                return true;
            } else if (index &gt;= 0) {
                ship.hits[index] = &quot;hit&quot;;
                view.displayHit(guess);
                view.displayMessage(&quot;HIT!&quot;);

                if (this.isSunk(ship)) {
                    view.displayMessage(&quot;You distroyed my Starship!&quot;);
                    this.shipsSunk++;
                }
                return true;
            }
        }
        view.displayMiss(guess);
        view.displayMessage(&quot;You missed.&quot;);
        return false;
    },

    isSunk: function(ship) {
        for (var i = 0; i &lt; this.shipLength; i++)  {
            if (ship.hits[i] !== &quot;hit&quot;) {
                return false;
            }
        }
        return true;
    },

    generateShipLocations: function() {
        var locations;
        for (var i = 0; i &lt; this.numShips; i++) {
            do {
                locations = this.generateShip();
            } while (this.collision(locations));
            this.ships[i].locations = locations;
        }
        console.log(&quot;Ships array: &quot;);
        console.log(this.ships);
    },

    generateShip: function() {
        var direction = Math.floor(Math.random() * 2);
        var row, col;

        if (direction === 1) { // horizontal
            row = Math.floor(Math.random() * this.boardSize);
            col = Math.floor(Math.random() * (this.boardSize - this.shipLength + 1));
        } else { // vertical
            row = Math.floor(Math.random() * (this.boardSize - this.shipLength + 1));
            col = Math.floor(Math.random() * this.boardSize);
        }

        var newShipLocations = [];
        for (var i = 0; i &lt; this.shipLength; i++) {
            if (direction === 1) {
                newShipLocations.push(row + &quot;&quot; + (col + i));
            } else {
                newShipLocations.push((row + i) + &quot;&quot; + col);
            }
        }
        return newShipLocations;
    },

    collision: function(locations) {
        for (var i = 0; i &lt; this.numShips; i++) {
            var ship = this.ships[i];
            for (var j = 0; j &lt; locations.length; j++) {
                if (ship.locations.indexOf(locations[j]) &gt;= 0) {
                    return true;
                }
            }
        }
        return false;
    }
    
}; 


var view = {
    displayMessage: function(msg) {
        var messageArea = document.getElementById(&quot;messageArea&quot;);
        messageArea.innerHTML = msg;
    },

    displayHit: function(location) {
        var cell = document.getElementById(location);
        cell.setAttribute(&quot;class&quot;, &quot;hit&quot;);
    },

    displayMiss: function(location) {
        var cell = document.getElementById(location);
        cell.setAttribute(&quot;class&quot;, &quot;miss&quot;);
    }

}; 

var controller = {
    guesses: 0,

    processGuess: function(guess) {
        var location = parseGuess(guess);
        if (location) {
            this.guesses++;
            var hit = model.fire(location);
            if (hit &amp;&amp; model.shipsSunk === model.numShips) {
                    view.displayMessage(&quot;You desyroyed all my Starships, in &quot; + this.guesses + &quot; guesses&quot;);
                    alert(&quot;You Destroyed all of my StarShips You Won!!!&quot;)
            }
        }
    }
}


// helper function to parse a guess from the user

function parseGuess(guess) {
    var alphabet = [&quot;A&quot;, &quot;B&quot;, &quot;C&quot;, &quot;D&quot;, &quot;E&quot;, &quot;F&quot;, &quot;G&quot;];

    if (guess === null || guess.length !== 2) {
        alert(&quot;Oops, please enter a letter and a number on the board.&quot;);
    } else {
        var firstChar = guess.charAt(0);
        var row = alphabet.indexOf(firstChar);
        var column = guess.charAt(1);
        
        if (isNaN(row) || isNaN(column)) {
            alert(&quot;Oops, that isn&#39;t on the board.&quot;);
        } else if (row &lt; 0 || row &gt;= model.boardSize ||
                   column &lt; 0 || column &gt;= model.boardSize) {
            alert(&quot;Oops, that&#39;s off the board!&quot;);
        } else {
            return row + column;
        }
    }
    return null;
}


// event handlers

function handleFireButton() {
    var guessInput = document.getElementById(&quot;guessInput&quot;);
    var guess = guessInput.value.toUpperCase();

    controller.processGuess(guess);

    guessInput.value = &quot;&quot;;
}

function handleKeyPress(e) {
    var fireButton = document.getElementById(&quot;fireButton&quot;);

    // in IE9 and earlier, the event object doesn&#39;t get passed
    // to the event handler correctly, so we use window.event instead.
    e = e || window.event;

    if (e.keyCode === 13) {
        fireButton.click();
        return false;
    }
}


// init - called when the page has completed loading

window.onload = init;

function init() {
    // Fire! button onclick handler
    var fireButton = document.getElementById(&quot;fireButton&quot;);
    fireButton.onclick = handleFireButton;

    // handle &quot;return&quot; key press
    var guessInput = document.getElementById(&quot;guessInput&quot;);
    guessInput.onkeypress = handleKeyPress;

    // place the ships on the game board
    model.generateShipLocations();
}


  
    &lt;/script&gt;
&lt;/html&gt;


&lt;div id=&quot;amzn-assoc-ad-300695b7-383b-4a28-be85-25ff5010d479&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=300695b7-383b-4a28-be85-25ff5010d479&quot;&gt;&lt;/script&gt;

&lt;br&gt;
&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/09/battlestarship-game.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-1660318095496918752</guid><pubDate>Wed, 19 Sep 2018 03:26:00 +0000</pubDate><atom:updated>2018-10-21T14:25:35.870-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><title>Emoji Memory Game</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;😀Emoji Memory Game😎&lt;/title&gt;
        &lt;style&gt;body {
    background-image: url( https://upload.wikimedia.org/wikipedia/commons/6/61/Scratch_BG_disco.gif);
background-repeat: repeat;
background-size: cover;}

#B {
     width:110px;
     height:55px;
     border-width:4px;
     border-style: solid;
     border-color:purple;
     background-color:#00ff00;
     border-radius:100% 70%;
     text-align:center;
     font-size:20px;
     padding: 1px 1px;}

div#board{
    background:SkyBlue;
    border:#0000FF 1px solid;
    width:320px;
    height:340px;
    padding:15px;
    margin:0px auto;
}
div#board &gt; div{ 
    border:#00838F 1px solid;
    width:40px;
    height:40px;
    float:left;
    margin:2px;
    padding:2px;
    font-size:32px;
    cursor:pointer;
    text-align:center;
}

.level {
    float: left;
}

#score {
    text-align: right;
    margin-right: 50px;
    margin-top: 60px;
    font-size: 24px;
}

.clear-both {
    clear: both;
}&lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id=&quot;title&quot; class=&quot;text-center&quot;&gt;
            &lt;h2 style=&quot;text-align: center&quot;&gt;Emoji Memory Game&lt;/h2&gt;
            &lt;div class=&quot;level&quot;&gt;&lt;button id=&quot;B&quot; onclick=&quot;onChangelevel(this)&quot;&gt;Start&lt;/button&gt; Press button for new Level&lt;/div&gt;
            &lt;div id=&quot;score&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;clear-both&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;board&quot;&gt;&lt;/div&gt;
        &lt;div id=&quot;msg&quot;&gt;&lt;/div&gt;
        
        &lt;script&gt;newBoard();&lt;/script&gt;   
        &lt;script&gt;var score;

window.onload = function() {
    score = 0;
    updateScore();
}

var emoji = [];
var emoji1 = [&quot;😃&quot;,&quot;😃&quot;,&quot;👑&quot;,&quot;👑&quot;,&quot;🐒&quot;,&quot;🐒&quot;];

var emoji2 = [&quot;😃&quot;,&quot;😃&quot;,&quot;👑&quot;,&quot;👑&quot;,&quot;🐒&quot;,&quot;🐒&quot;,&quot;🍓&quot;,&quot;🍓&quot;,&quot;🐦&quot;,&quot;🐦&quot;,&quot;😎&quot;,&quot;😎&quot;];

var emoji3 = [&quot;🐎&quot;,&quot;🐎&quot;,&quot;🍄&quot;,&quot;🍄&quot;,&quot;🤓&quot;,&quot;🤓&quot;,&quot;🐇&quot;,&quot;🐇&quot;,&quot;🏆&quot;,&quot;🏆&quot;,&quot;🍭&quot;,&quot;🍭&quot;,&quot;💖&quot;,&quot;💖&quot;,&quot;🎲&quot;,&quot;🎲&quot;,&quot;🚗&quot;,&quot;🚗&quot;];

var emoji4 = [&quot;😇&quot;,&quot;😇&quot;,&quot;😃&quot;,&quot;😃&quot;,&quot;🙂&quot;,&quot;🙂&quot;,&quot;🤓&quot;,&quot;🤓&quot;,&quot;😎&quot;,&quot;😎&quot;,&quot;😘&quot;,&quot;😘&quot;,&quot;😵&quot;,&quot;😵&quot;,&quot;😀&quot;,&quot;😀&quot;,&quot;😉&quot;,&quot;😉&quot;];

var emoji5= [&quot;🐒&quot;,&quot;🐒&quot;,&quot;🐢&quot;,&quot;🐢&quot;,&quot;🐦&quot;,&quot;🐦&quot;,&quot;🐩&quot;,&quot;🐩&quot;,&quot;🐪&quot;,&quot;🐪&quot;,&quot;🐠&quot;,&quot;🐠&quot;,&quot;🐎&quot;,&quot;🐎&quot;,&quot;🦁&quot;,&quot;🦁&quot;,&quot;🐕&quot;,&quot;🐕&quot;,&quot;🐈&quot;,&quot;🐈&quot;,&quot;🕊&quot;,&quot;🕊&quot;,&quot;🐙&quot;,&quot;🐙&quot;];
 
var emoji6 = [&quot;😀&quot;,&quot;😀&quot;,&quot;😃&quot;,&quot;😃&quot;,&quot;😇&quot;,&quot;😇&quot;,&quot;😉&quot;,&quot;😉&quot;,&quot;🙃&quot;,&quot;🙃&quot;,&quot;😘&quot;,&quot;😘&quot;,&quot;😍&quot;,&quot;😍&quot;,&quot;😝&quot;,&quot;😝&quot;,&quot;🤓&quot;,&quot;🤓&quot;,&quot;😎&quot;,&quot;😎&quot;,&quot;😞&quot;,&quot;😞&quot;,&quot;🤔&quot;,&quot;🤔&quot;];

var emoji7 = [&quot;🍓&quot;,&quot;🍓&quot;,&quot;🎂&quot;,&quot;🎂&quot;,&quot;😂&quot;,&quot;😂&quot;,&quot;😍&quot;,&quot;😍&quot;,&quot;🐒&quot;,&quot;🐒&quot;,&quot;🐪&quot;,&quot;🐪&quot;,&quot;🐦&quot;,&quot;🐦&quot;,&quot;🍭&quot;,&quot;🍭&quot;,&quot;🚗&quot; ,&quot;🚗&quot;,&quot;⛵&quot;,&quot;⛵&quot;,&quot;🎠&quot;,&quot;🎠&quot;,&quot;🌅&quot;,&quot;🌅&quot;,&quot;🏰&quot;,&quot;🏰&quot;,&quot;⚽&quot;,&quot;⚽&quot;,&quot;🏈&quot;,&quot;🏈&quot;];

var emoji8 = [&quot;😀&quot;,&quot;😀&quot;,&quot;😃&quot;,&quot;😃&quot;,&quot;😇&quot;,&quot;😇&quot;,&quot;😉&quot;,&quot;😉&quot;,&quot;🙃&quot;,&quot;🙃&quot;,&quot;😘&quot;,&quot;😘&quot;,&quot;😍&quot;,&quot;😍&quot;,&quot;😝&quot;,&quot;😝&quot;,&quot;🤓&quot;,&quot;🤓&quot;,&quot;😎&quot;,&quot;😎&quot;,&quot;😞&quot;,&quot;😞&quot;,&quot;🤔&quot;,&quot;🤔&quot;,&quot;😂&quot;,&quot;😂&quot;,&quot;😅&quot;,&quot;😅&quot;,&quot;😮&quot;,&quot;😮&quot;];


 var emoji9 =  [&quot;🍓&quot;,&quot;🍓&quot;,&quot;🎂&quot;,&quot;🎂&quot;,&quot;😂&quot;,&quot;😂&quot;,&quot;😍&quot;,&quot;😍&quot;,&quot;🐒&quot;,&quot;🐒&quot;,&quot;🐪&quot;,&quot;🐪&quot;,&quot;🐦&quot;,&quot;🐦&quot;,&quot;🍭&quot;,&quot;🍭&quot;,&quot;🚗&quot; ,&quot;🚗&quot;,&quot;⛵&quot;,&quot;⛵&quot;,&quot;🎠&quot;,&quot;🎠&quot;,&quot;🌅&quot;,&quot;🌅&quot;,&quot;🏰&quot;,&quot;🏰&quot;,&quot;⚽&quot;,&quot;⚽&quot;,&quot;🏈&quot;,&quot;🏈&quot;,&quot;🤓&quot;,&quot;🤓&quot;,&quot;😎&quot;,&quot;😎&quot;,&quot;😇&quot;,&quot;😇&quot;];   
 
 var emoji10 = [&quot;😀&quot;,&quot;😀&quot;,&quot;😃&quot;,&quot;😃&quot;,&quot;😇&quot;,&quot;😇&quot;,&quot;😉&quot;,&quot;😉&quot;,&quot;🙃&quot;,&quot;🙃&quot;,&quot;😘&quot;,&quot;😘&quot;,&quot;😍&quot;,&quot;😍&quot;,&quot;😝&quot;,&quot;😝&quot;,&quot;🤓&quot;,&quot;🤓&quot;,&quot;😎&quot;,&quot;😎&quot;,&quot;😞&quot;,&quot;😞&quot;,&quot;🤔&quot;,&quot;🤔&quot;,&quot;😂&quot;,&quot;😂&quot;,&quot;😅&quot;,&quot;😅&quot;,&quot;😮&quot;,&quot;😮&quot;,&quot;😁&quot;,&quot;😁&quot;,&quot;😗&quot;,&quot;😗&quot;,&quot;😵&quot;,&quot;😵&quot;];


var level = &#39;Start&#39;; // default level
var arrayAlllevel = [ 
    {
        level: &#39;Level 1&#39;,
        data: emoji1
    },
    {
        level: &#39;Level 2&#39;,
        data: emoji2
    },
    {
        level: &#39;Level 3&#39;,
        data: emoji3
    },
    {
        level: &#39;Level 4&#39;,
        data: emoji4
    },
    
    {
        level: &#39;Level 5&#39;,
        data: emoji5
    },
    
    {
        level: &#39;Level 6&#39;,
        data: emoji6
    },
    
    {
        level: &#39;Level 7&#39;,
        data: emoji7
    },
    
    {
        level: &#39;Level 8&#39;,
        data: emoji8
    },
    
    {
        level: &#39;Level 9&#39;,
        data: emoji9
    },
    
    {
        level: &#39;Level 10&#39;,
        data: emoji10
    },
];

var levels = arrayAlllevel.map(function(arr) {
        return arr.level;
    }); // get all levels in one array


// change level button event
function onChangelevel(e) {
    var index = levels.indexOf(level);
    if(index&lt;levels.length-1) level = levels[index+1];
    else level = levels[0];
    
    
    e.innerText = level;
    newBoard();
}


function getArray() {
    return arrayAlllevel.reduce(function(acc,d) {
       if(d.level===level) acc = d.data;
       return acc;
    },[]);
}

var values = [];
var ids = [];
var flipped = 0;
Array.prototype.shuffle = function(){
    var i = this.length, j, temp;
    while(--i &gt; 0){
        j = Math.floor(Math.random() * (i+1));
        temp = this[j];
        this[j] = this[i];
        this[i] = temp;
    }
}
function newBoard(){
    array = getArray();
    tiles_flipped = 0;
    var output = &#39;&#39;;
    array.shuffle();
    for(var i = 0; i &lt; array.length; i++){
        output += &#39;&lt;div id=&quot;tile_&#39;+i+&#39;&quot; onclick=&quot;memoryFlipTile(this,\&#39;&#39;+array[i]+&#39;\&#39;)&quot;&gt;&lt;/div&gt;&#39;;
    }
    document.getElementById(&#39;board&#39;).innerHTML = output;
}

function memoryFlipTile(tile,val){
    if(tile.innerHTML == &quot;&quot; &amp;&amp; values.length &lt; 2) { // if first tile
        tile.style.background = &#39;#FFF&#39;;
        tile.innerHTML = val;
        if(values.length == 0) {
            values.push(val);
            ids.push(tile.id);
            // console.log(&#39;first tile&#39;);
        } 
        else if(values.length == 1) { // if second tile
            values.push(val);
            ids.push(tile.id);
            if(values[0] == values[1]) { // if matched
                // console.log(&#39;matched&#39;);
                score += 1000;
                updateScore();
                tiles_flipped += 2;
                values = [];
                ids = [];
                if(tiles_flipped == array.length){ // if all matched
                        setTimeout(doneMessage, 100);
                        function doneMessage() {
                            alert(&quot;Great Job!!! You Won That Level!!! 🙂 Play again? or Select new Level&quot;);
                            document.getElementById(&#39;board&#39;).innerHTML = &quot;&quot;;
                            newBoard();
                        }
                }
            } else { // if not match
                // console.log(&#39;not matched&#39;);
                score -= 100;
                updateScore();
                function flip2Back(){
                    var tile_1 = document.getElementById(ids[0]);
                    var tile_2 = document.getElementById(ids[1]);
                    tile_1.innerHTML = &quot;&quot;;
                    tile_2.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    tile_2.innerHTML = &quot;&quot;; 
                    tile_1.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
                    values = [];
                    ids = [];
                }
                setTimeout(flip2Back, 800);
                var index;
                
                
            }
            
        }
    }
}

function updateScore() {
   document.getElementById(&#39;score&#39;).innerText = &quot;Score: &quot; + score;
}
&lt;/script&gt; 
    &lt;/body&gt;
&lt;/html&gt;


&lt;div id=&quot;amzn-assoc-ad-314c761e-37d0-400b-86fb-51bfa50a1366&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=314c761e-37d0-400b-86fb-51bfa50a1366&quot;&gt;&lt;/script&gt;

&lt;br&gt;&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/09/emoji-memory-game.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-3802573404373699677</guid><pubDate>Wed, 19 Sep 2018 03:01:00 +0000</pubDate><atom:updated>2018-10-21T14:30:38.228-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">hidden object</category><title>Travel Blast Game New York </title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;Travel Blast Game New York&lt;/title&gt;
        &lt;style&gt;
        body,
        div,
        p,
        span {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            max-width: 350px;
        }

        .container {
            position: relative;
        }

        .imgPart {
            background: #fff;
        }

        .imgPart img {
            border: 5px solid #afafaf;
            border-radius: 20px 20px 0 0;
            border-bottom: none;
            display: block;
            height: calc(600px - 110px);
            object-fit: cover;
            width: calc(350px - 10px);
        }

        .overlay {
            position: absolute;
            z-index: 1;
        }

        .emojiContainer {
            background: rgba(0, 0, 0, 0);
            left: 0;
            top: 0;
            width: 350px;
        }

        .emojis {
            background: rgba(255, 0, 0, 0);
            /*background: red;*/
            border-radius: 50% 50%;
            color: black;
            display: inline-block;
            font-size: 25px;
            padding: 2px;
            position: absolute;
            text-align: center;
            z-index: 2
        }

        .emojisClicked {
            background: #fff;
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: inset 3px 3px 12px black;
            box-shadow: outset 3px 3px 12px white;
        }

        .banner {
            animation: bannerBox 0.3s 1;
            background: rgba(0, 0, 0, 0.8);
            box-sizing: border-box;
            color: yellow;
            display: none;
            font-size: 36px;
            font-weight: 600;
            height: 600px;
            padding: 20px;
            text-align: center;
            top: 0;
            width: 350px;
            z-index: 3;
        }

        .scores {
            background: blue;
            color: #98daff;
            border: 5px solid #afafaf;
            border-radius: 0 0 20px 20px;
            font-size: 17px;
            font-weight: 500;
            height: 85px;
            width: 350px;
            padding: 10px;
            position: relative;
        }

        #emojiLeft,
        #scores,
        #stage {
            font-weight: 700;
            font-family: monospace;
            text-shadow: 1px 1px 10px #fff;
        }

        .scoresBox {
            background: blue;
            border-radius: 0 0 15px 0;
            height: 100%;
            padding: 0 10px;
            right: 0;
            top: 0;
            width: 180px;
        }

        .leftEmojiChild{
            border: 1px solid brown;
            border-radius: 5px;
            background: rgba(0,0,0,0.4);
        }


        #timer {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 50% 50%;
            float: right;
            font-size: 24px;
            font-weight: 600;
            margin: 0;
            padding: 3px;
            text-shadow: 2px 2px 10px #fff;

        }
        canvas{
            position:absolute;
            z-index: 10;
            top: 0;
            left: 0;
        }
        @keyframes bannerBox {
            from {
                transform: scale(0.1) rotate(0deg);
            }
            to {
                transform: scale(1.0) rotate(360deg);
            }
        }

            .emojis {
                font-size: 20px;
            }
        }





        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body bgcolor=&quot;lightblue&quot;&gt;



    &lt;div class=&quot;container&quot;&gt;
        &lt;div class=&quot;overlay loadingPage&quot;&gt;

        &lt;/div&gt;
        &lt;div class=&quot;imgPart&quot;&gt;
            &lt;img src=&quot;./he1.jpg&quot; height=&quot;450px&quot; width=&quot;340px&quot; alt=&quot;Background image for the hidden emoji game&quot; onerror=&quot;this.onerror=null;
            this.src=&#39;https://www.burgessyachts.com/media/adminforms/locations/n/e/new_york_1.jpg&#39;&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;overlay emojiContainer&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;overlay banner&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;scores&quot;&gt;
            &lt;p&gt;EMOJIS LEFT: &lt;span id=&quot;emojiLeft&quot;&gt;15&lt;/span&gt;&lt;/p&gt;
            &lt;p&gt;SCORE: &lt;span id=&quot;scores&quot;&gt;0&lt;/span&gt;&lt;/p&gt;
            &lt;p&gt;STAGE: &lt;span id=&quot;stage&quot;&gt;1&lt;/span&gt; &lt;/p&gt;
            &lt;div class=&quot;overlay scoresBox&quot;&gt;
              &lt;span id=&quot;timer&quot;&gt;100&lt;/span&gt;
              &lt;span class=&quot;leftEmojis&quot;&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;center&gt;
&lt;p style=&quot;font-size:20px&quot;&gt;🌟Scroll Down for Fun New York Facts&lt;/p&gt;
&lt;h1&gt;Fun Facts New York&lt;/h1&gt;
&lt;p style=&quot;font-size:20px&quot;&gt;🌟New York City has 722 miles of subway track.&lt;br&gt;&lt;br&gt;
🌟In 2018 NYC will open the world&#39;s first underground park
&lt;br&gt;&lt;br&gt;

  🌟The first presentation of 3D films before a paying audience took place at Manhattan&#39;s Astor Theater on June 10, 1915.
&lt;br&gt;&lt;br&gt;
🌟There are tiny shrimp called copepods in NYC&#39;s drinking water.&lt;br&gt;&lt;br&gt;
 🌟On July 28, 1945 an Army Air Corps B-25 crashed into the Empire State Building at the 79th floor level.
&lt;br&gt;&lt;br&gt;
🌟New York City is the most populated city in the United States&lt;br&gt;&lt;br&gt;
🌟The Big Apple is a term coined by musicians meaning to play the big time.
&lt;br&gt;&lt;br&gt;
🌟It can cost over $289,000 for a one-year hot dog stand permit in Central Park.&lt;br&gt;&lt;br&gt;
🌟Joseph C. Gayetty of New York City invented toilet paper in 1857.
&lt;br&gt;&lt;br&gt;
🌟The Empire State building has its own zip code.&lt;br&gt;&lt;br&gt;
🌟The first capital of the United States was New York City. In 1789 George Washington took his oath as president on the balcony at Federal Hall.
&lt;br&gt;&lt;br&gt;
🌟New York City is the most linguistically diverse city in the world.  Residents speak about 800 languages.&lt;br&gt;&lt;br&gt;
&lt;/p&gt;
&lt;h1&gt;New York City&lt;/h1&gt;
&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/6/6e/US_Sanctuary_Cities_Map.svg&quot;height=&quot;200&quot;width=&quot;250&quot;&gt;&lt;br&gt;
&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/5/52/New_York_City_District_Map_2.svg&quot;height=300px width=&quot;300px&quot;&gt;
&lt;p style=&quot;font-size:20px&quot;&gt;
Country: United States of America&lt;br&gt;
State: New York&lt;br&gt;
Boroughs: Brooklyn, Queens, Manhattan, The Bronx, and Staten Island &lt;br&gt;
Population 2017: 8.652 Million &lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;h1&gt;Enjoy more Travel Blast fun in these cities:&lt;/h1&gt;
&lt;h1&gt;Travel Blast Paris&lt;/h1&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=playlearn.paris&quot;&gt;Travel Blast Paris&lt;/a&gt;&lt;br&gt;
&lt;h1&gt;Travel Blast London&lt;/h1&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=playlearn.london&quot;&gt;Travel Blast London&lt;/a&gt;
&lt;h1&gt;Travel Blast New York&lt;/h1&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=playlearn.newyork&quot;&gt;Travel Blast New York&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href=&quot;https://www.facebook.com/Play-Learn-1967482470238165/&quot;&gt;Find our latest games here&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;/center&gt;
&lt;script&gt;
    &#39;use strict&#39;;
    const EMOJI_ARRAY = [&quot;🇺🇸&quot;, &quot;🌭&quot;, &quot;🍕&quot;, &quot;😎&quot;, &quot;🚴&quot;, &quot;🚕&quot;, &quot;🏈&quot;, &quot;👮&quot;, &quot;🗽&quot;, &quot;🛩&quot;, &quot;🎨&quot;, &quot;📷&quot;, &quot;🚶&quot;, &quot;🎵&quot;, &quot;🎭&quot;];
    
        /* Set the values between 0 and 100 to position the emojis*/
        const EMOJI_TOP_OFFSETS = [
            //For image1

             [70, 85, 70, 98, 84, 60, 90, 40, 67, 36, 80, 90, 90, 97, 79],
            //For image2
            [95, 50, 72, 92, 98, 90, 58, 45, 99, 48, 90, 71, 99, 59, 85],
            //For image3
            [69, 55, 5, 85, 39, 95, 50, 3, 87, 80, 66, 64, 70, 24, 45],
              //4
            [80, 49, 30, 95, 50, 65, 90, 99, 30, 55, 65, 75, 85, 90, 55],
               //5
            [10, 70, 40, 99, 58, 40, 99, 30, 97, 78, 90, 21, 45, 79, 40],
               //6
            [45, 56, 50, 99, 58, 70, 68, 80, 20, 78, 70, 75, 65, 79, 65],
               //7
            [80, 95, 40, 25, 80, 45, 99, 15, 40, 55, 65, 75, 55, 90, 95],
               //8
            [0, 40, 75, 85, 79, 55, 15, 15, 27, 60, 96, 99, 40, 54, 90],
            //9
  [99, 99, 80, 98, 99, 90, 40, 26, 77, 66, 68, 79, 90, 77, 70],
            //For image10
            [95, 66, 99, 62, 48, 70, 55, 45, 50, 78, 90, 91, 50, 99, 85],
            
        ];

        const EMOJI_LEFT_OFFSETS = [
            //For image1

             [60, 86, 99, 2, 2, 50, 54, 65, 20, 28, 70, 99, 35, 45, 37],
            //For image2
            [10, 90, 60, 40, 69, 30, 45, 23, 47, 56, 99, 29, 1, 54, 80],
            //For image3
            [99, 46, 2, 22, 38, 30, 58, 60, 87, 68, 80, 71, 45, 59, 45],
               //4
            [5, 95, 0, 85, 70, 60, 40, 0, 80, 55, 95, 35, 75, 30, 15],
                 //5
            [40, 75, 5, 80, 69, 60, 99, 23, 37, 56, 16, 29, 50, 34, 70],
               //6
            [10, 90, 60, 80, 69, 45, 65, 23, 87, 56, 16, 29, 80, 34, 20],
                 //7
            [5, 95, 20, 45, 70, 95, 0, 25, 80, 55, 95, 35, 75, 30, 15],
            //8
             [5, 20, 82, 2, 18, 90, 75, 65, 87, 48, 70, 99, 35, 19, 37],
            //For image9
            [10, 90, 70, 40, 69, 30, 45, 23, 87, 56, 99, 99, 8, 54, 80],
            //For image10
            [35, 46, 2, 22, 88, 60, 68, 55, 77, 68, 80, 71, 15, 9, 10],
                //11
           

        ];

        const IMAGE_LINKS_ARRAY = [
            //image1 link
         &quot;https://www.burgessyachts.com/media/adminforms/locations/n/e/new_york_1.jpg&quot;,
        
      &quot;https://2017.nyc.wordcamp.org/files/2017/08/cropped-nyc-manhattan.jpg&quot;,
      
      &quot;https://travel.usnews.com/static-travel/images/destinations/44/broadway_getty_fresh_photos_from_all_over_the_world.jpg&quot;,
      
      &quot;https://www.klm.com/travel/en/images/8B867356-2044-4B79-B622-5A25C9DD915E_tcm493-564757_912x912_80.jpg&quot;,
      
      &quot;https://media.timeout.com/images/103451632/image.jpg&quot;,
       &quot;http://www.bravofly.com/offers/flights/bravofly/img/new_york.jpg&quot;,
        &quot;https://2486634c787a971a3554-d983ce57e4c84901daded0f67d5a004f.ssl.cf1.rackcdn.com/lotte-new-york-city-palace/media/cache/LotteNewYorkPalace-Offers-Bloomingdales2-59cec00a95c6f-500x460.jpg&quot;,  
         &quot;http://www.destination360.com/north-america/us/new-york/nyc/images/s/nyc-restaurants.jpg&quot;,
      &quot;http://17502-presscdn-0-88.pagely.netdna-cdn.com/wp-content/uploads/2014/09/The-Flatiron-Building-New-York.jpg&quot;,
      &quot;http://www.clker.com/cliparts/9/4/c/0/14659577401284414067new_york_city_lights.jpg&quot;,
      
       ];

        const MESSAGE_ARRAY = [
          &quot;SOME EYES YOU HAVE!!&quot;,
          &quot;THIS ONE&#39;S NOT GOING TO BE EASY&quot;,
          &quot;WHAT! YOU DID IT AGAIN&quot;,
          &quot;NEXT PLACE IS TOUGHER&quot;,
          &quot;AWESOME JOB!!&quot;,
          &quot;YOU MUST BE ENJOYING THIS, AREN&#39;T YOU!&quot;,
          &quot;YOU WILL FEEL THE CLOCK NEXT TIME&quot;,
          &quot;NEXT EMOJIS WILL STAY HIDDEN&quot;,
          &quot;WHY DON&#39;T YOU GIVE UP ?&quot;,
          &quot;HOPE YOU HAD FUN, CAN YOU DO IT AGAIN?&quot;,
          &quot;I DARE YOU TO FIND THEM ALL THIS TIME&quot;
        ];

        const BANNER_TIME = 3000;
        const EMOJI_CLICK_TIME = 500;

        var body = document.body;
        var container = document.querySelector(&#39;.container&#39;);
        var emojiContainer = document.querySelector(&#39;.emojiContainer&#39;);
        var banner = document.querySelector(&#39;.banner&#39;);
        var clickCounter = EMOJI_ARRAY.length;
        var imgWidth;
        var imgHeight;
        var emojiDiv;
        var emojiText;
        var stage = 0;
        var scores = 0;
        var iteration = 0;
        var fontsize = 20;
        var timeElapsed = 0;
        var gameTimer; //setInterval variable for timer
        var maxStageTime = 100; //in seconds


        window.onload = function() {
            if (clickCounter !== 0) {
                displayBanner(&quot;FIND THE 15 HIDDEN EMOJIS!!!&quot;);
                createGame();
                updateScores();
            } else {
                nextStage();
            }
        };

        //stars animation object literal
        var stars = {
            canvas: document.createElement(&#39;CANVAS&#39;),
            createStars: function(parent, width = 300, height = 300,
              starCount = 50, maxRadius = 50, durMillis = 3000,
              isRings = true, clickX = undefined, clickY = undefined) {
                var canvas = stars.canvas;
                var ctx = canvas.getContext(&#39;2d&#39;);
                parent.appendChild(canvas);

                //canvas styles
                canvas.style.background = &quot;rgba(0,0,0,0)&quot;;
                canvas.width = width;
                canvas.height = height;

                var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
                    window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
                var cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame;

                var starArray = [];
                var myFrames;

                function Star(posX, posY, radius, innerRadius, rotateAngle, velocity, color) {
                    this.opacity = 1.0;
                    this.posX = posX;
                    this.posY = posY;
                    this.radius = radius;
                    this.innerRadius = innerRadius; //innerRadius for star
                    this.rotateAngle = rotateAngle;
                    this.velocity = velocity;
                    this.color = color;
                }

                Star.prototype.draw = function() {
                    var r = this.radius;
                    var iR = this.innerRadius;
                    var x = this.posX;
                    var y = this.posY;
                    var ang = Math.PI / 5;
                    var rA = this.rotateAngle;
                    ctx.fillStyle = this.color;
                    ctx.beginPath();
                    ctx.moveTo(x + r * Math.cos(rA + ang * 0), y + r * Math.sin(rA + ang * 0));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 1), y + iR * Math.sin(rA + ang * 1));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 2), y + r * Math.sin(rA + ang * 2));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 3), y + iR * Math.sin(rA + ang * 3));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 4), y + r * Math.sin(rA + ang * 4));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 5), y + iR * Math.sin(rA + ang * 5));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 6), y + r * Math.sin(rA + ang * 6));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 7), y + iR * Math.sin(rA + ang * 7));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 8), y + r * Math.sin(rA + ang * 8));
                    ctx.lineTo(x + iR * Math.cos(rA + ang * 9), y + iR * Math.sin(rA + ang * 9));
                    ctx.lineTo(x + r * Math.cos(rA + ang * 0), y + r * Math.sin(rA + ang * 0));
                    ctx.fill();
                }

                function blastRings(x, y, radius, lw, color) {
                    if (radius &lt; 0) radius = 0;
                    ctx.beginPath();
                    ctx.lineWidth = lw;
                    ctx.strokeStyle = color;
                    ctx.arc(x, y, radius + 30, 0, Math.PI * 2, false);
                    ctx.stroke();
                }

                Star.prototype.updatePosition = function() {
                    this.posX += this.velocity * Math.cos(this.rotateAngle);
                    this.posY += this.velocity * Math.sin(this.rotateAngle);
                    this.draw();
                }

                for (var i = 0; i &lt; starCount; i++) {
                    starArray.push(new Star(
                        clickX || Math.floor(((Math.random() - 0.5) * 30) + (width / 2)),
                        clickY || Math.floor(((Math.random() - 0.5) * 30) + (height / 2)),
                        Math.floor(Math.random() * maxRadius),
                        maxRadius * (Math.random() * 0.4 + 0.2),
                        Math.random() * (2 * Math.PI),
                        Math.ceil(Math.random() * 10),
                        `rgba(${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, 1.0)`
                    ));
                    // starArray[i].draw();
                }

                var start = null;

                function animate(timestamp) {
                    if (!start) start = timestamp;
                    var progress = timestamp - start;
                    //console.log(progress + &quot; , &quot; + durMillis);

                    ctx.clearRect(0, 0, width, height);
                    if(isRings){
                      blastRings(width / 2, height / 2, progress, 10, &quot;white&quot;);
                      blastRings(width / 2, height / 2, progress - 50, 15, &quot;yellow&quot;);
                      blastRings(width / 2, height / 2, progress - 100, 20, &quot;orange&quot;);
                      blastRings(width / 2, height / 2, progress - 150, 30, &quot;red&quot;);
                    }
                    starArray.forEach(function(item) {
                        item.updatePosition();
                    });

                    if (progress &lt; durMillis) {
                        myFrames = requestAnimationFrame(animate);
                    } else {
                        stars.removeStars(parent);
                    }
                }

                requestAnimationFrame(animate);

            }, //createStars () function end

            removeStars: function(parent){
              var children = parent.children;
              for(var i = 0; i &lt; children.length; i++){
                if(children[i] === stars.canvas){
                  parent.removeChild(stars.canvas);
                  break;
                }
              }
            }//removeStars () function ends here

        } // stars object literal end

        // creating the emojis on top of image
        function createGame() {
            imgWidth = document.querySelector(&#39;.imgPart img&#39;).width;
            imgHeight = document.querySelector(&#39;.imgPart img&#39;).height;

            for (var i = 0; i &lt; EMOJI_ARRAY.length; i++) {
                emojiDiv = document.createElement(&quot;DIV&quot;);
                emojiText = document.createTextNode(EMOJI_ARRAY[i]);
                emojiDiv.setAttribute(&quot;class&quot;, &quot;emojis&quot;);
                emojiDiv.setAttribute(&quot;id&quot;, &quot;emoji&quot; + (i + 1));
                emojiDiv.style.fontSize = &quot;&quot; + fontsize + &quot;px&quot;;
                emojiDiv.style.top = Math.floor((EMOJI_TOP_OFFSETS[stage % IMAGE_LINKS_ARRAY.length][i] / 100) * (imgHeight - 50)) + &quot;px&quot;;
                emojiDiv.style.left = Math.floor((EMOJI_LEFT_OFFSETS[stage % IMAGE_LINKS_ARRAY.length][i] / 100) * (imgWidth - 50)) + &quot;px&quot;;

                emojiDiv.appendChild(emojiText);
                emojiContainer.appendChild(emojiDiv);

                emojiDiv.addEventListener(&#39;click&#39;, handleEmojiClick);

            }
            clickCounter = EMOJI_ARRAY.length;
            setGameTimer();
            displayLeftEmojis();
        }

        function setGameTimer() {
            timeElapsed = 0;
            gameTimer = setInterval(function() {
                timeElapsed += 1;
                document.querySelector(&#39;#timer&#39;).textContent = maxStageTime - timeElapsed;
                if (maxStageTime - timeElapsed === 0) {
                    gameOver();
                }
            }, 1000);
        }

        function gameOver() {
            iteration = 0;
            scores = 0;
            stage = 0;
            timeElapsed = 0;
            fontsize = 20;
            clearInterval(gameTimer);
            removeEmojis(emojiContainer);
            removeEmojis(document.querySelector(&#39;.leftEmojis&#39;));
            createGame();
            updateScores();
            displayBanner(&quot;&lt;hr/&gt;&lt;hr/&gt;GAME&lt;br/&gt;OVER&lt;hr/&gt;&lt;hr/&gt;&quot;, true);
        }

        function handleEmojiClick(event) {
            this.setAttribute(&#39;class&#39;, &#39;emojis emojisClicked&#39;);
            clickCounter--;
            scores += 100;

            //displayLeftEmojis part now
            document.querySelectorAll(&#39;.leftEmojiChild&#39;).forEach((item) =&gt; {
              if(this.textContent === item.textContent){
                document.querySelector(&#39;.leftEmojis&#39;).removeChild(item);              }
            });

            if (clickCounter === 0) {
                scores += 500;
                setTimeout(function(){
                  stars.createStars(document.body, innerWidth, innerHeight, 100, 15, BANNER_TIME, true);
                }, EMOJI_CLICK_TIME + 50);
                nextStage();
            }

            //display and remove the star canvas
            stars.createStars(document.body, innerWidth, innerHeight,
              20, 20, EMOJI_CLICK_TIME, false, event.pageX, event.pageY);
            setTimeout(function(){
              stars.removeStars(document.body);
              if(clickCounter === 0){
              }
            }, EMOJI_CLICK_TIME);

            updateScores();
            this.removeEventListener(&#39;click&#39;, handleEmojiClick);
        }

        function updateScores() {
            document.querySelector(&#39;#emojiLeft&#39;).textContent = clickCounter;
            document.querySelector(&#39;#scores&#39;).textContent = scores;
            document.querySelector(&#39;#stage&#39;).textContent = stage + 1;
        }

        function displayBanner(bannerText, noClick = false) {
            banner.innerHTML = bannerText;
            banner.style.display = &quot;block&quot;;

            //create the stars animation
            stars.createStars(document.body, innerWidth, innerHeight, 100, 15, BANNER_TIME, true);

            if (!noClick) {
                banner.addEventListener(&#39;click&#39;, bannerClick);
            }

            function bannerClick() {
                banner.style.display = &quot;none&quot;;
            }
            setTimeout(function() {
                banner.style.display = &quot;none&quot;;
                banner.removeEventListener(&#39;click&#39;, bannerClick);
            }, BANNER_TIME);
        }

        function nextStage() {
            stage += 1;
            clearInterval(gameTimer);
            if ((stage % (IMAGE_LINKS_ARRAY.length)) === 0) {
                iteration += 1;
                nextIteration();
            } else {
                scores += (maxStageTime - timeElapsed) * 10;
                displayBanner(`TIME BONUS ${(maxStageTime - timeElapsed) * 10} POINTS&lt;br/&gt; &lt;hr/&gt;${MESSAGE_ARRAY[Math.floor(Math.random() * MESSAGE_ARRAY.length)]}`);
            }
            document.querySelector(&#39;.imgPart img&#39;).src = IMAGE_LINKS_ARRAY[stage % IMAGE_LINKS_ARRAY.length];
            removeEmojis(emojiContainer);
            removeEmojis(document.querySelector(&#39;.leftEmojis&#39;));
            document.querySelector(&#39;.imgPart img&#39;).addEventListener(&quot;load&quot;, createGame);
        }

        function removeEmojis(parent) {
            while (parent.firstChild) {
                parent.removeChild(parent.firstChild);
            }
        }

        function nextIteration() {

            fontsize -= 2;
            if(maxStageTime &gt; 30){
              maxStageTime -= 10;
            }
            displayBanner(&quot;1000+&lt;br/&gt;LEVEL UP BONUS&lt;hr/&gt;LETS TUNE UP THE TOUGHNESS!!&quot;);
        }

        function getRandomColor() {
            return `rgb(${Math.floor(Math.random() * 255)},
            ${Math.floor(Math.random() * 255)},
            ${Math.floor(Math.random() * 255)})`;
        }

        function displayLeftEmojis(){
            EMOJI_ARRAY.forEach((item) =&gt; {
              let span = document.createElement(&#39;SPAN&#39;);
              span.setAttribute(&#39;class&#39;, &#39;leftEmojiChild&#39;);
              let content = document.createTextNode(item);
              span.appendChild(content);
              document.querySelector(&#39;.leftEmojis&#39;).appendChild(span);
            });
        }


&lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;


&lt;div id=&quot;amzn-assoc-ad-5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=5ca40fe3-66d9-4c78-b751-3d1feee762fd&quot;&gt;&lt;/script&gt;

&lt;br&gt;&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/09/travel-blast-game-new-york.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5777826826357794628.post-6218255071377381619</guid><pubDate>Wed, 19 Sep 2018 02:53:00 +0000</pubDate><atom:updated>2018-10-21T14:28:34.585-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Free Games</category><category domain="http://www.blogger.com/atom/ns#">Language Learning</category><category domain="http://www.blogger.com/atom/ns#">learn French</category><category domain="http://www.blogger.com/atom/ns#">Learn Russian</category><category domain="http://www.blogger.com/atom/ns#">Learn Spanish</category><category domain="http://www.blogger.com/atom/ns#">Play and Learn</category><title>Multi Language Animal Game</title><description>&lt;!DOCTYPE html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;🐈Learn new Languages with this Multi Language Animal Game🐕&lt;/title&gt;
        &lt;style&gt;button {
     width:110px;
     height:55px;
     border-width:4px;
     border-style: solid;
     border-color:purple;
     background-color:#00ff00;
     border-radius:100% 70%;
     text-align:center;
     font-size:20px;
     padding: 1px 1px;}

div#board{
    background:SkyBlue;
    border:#0000FF 1px solid;
    width:320px;
    height:340px;
    padding:15px;
    margin:0px auto;
}
div#board &gt; div{ 
    border:#00838F 1px solid;
    width:70px;
    height:70px;
    float:left;
    margin:2px;
    padding:2px;
    font-size:22px;
    cursor:pointer;
    text-align:center;
}&lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
         &lt;body bgcolor=&quot;#9370DB&quot;&gt;
        &lt;div id=&quot;title&quot; class=&quot;text-center&quot;&gt;
    &lt;h2 style=&quot;text-align: center&quot;&gt;Multi Language Animals Game&lt;/h2&gt;
    &lt;button onclick=&quot;onChangelang(this)&quot;&gt;Start&lt;/button&gt;Press button for new Language
  &lt;/div&gt;
  
&lt;div id=&quot;board&quot;&gt;&lt;/div&gt;

  
  &lt;script&gt;newBoard();&lt;/script&gt;
 &lt;script&gt; var array = [];
var arrayFrench = [&quot;chien = 🐕&quot;,&quot;chien = 🐕&quot;,&quot;chat = 🐈&quot;,&quot;chat = 🐈&quot;,&quot;lapin = 🐇&quot;,&quot;lapin = 🐇&quot;,&quot;cheval = 🐎&quot;,&quot;cheval = 🐎&quot;,&quot;oiseau = 🐦&quot;,&quot;oiseau = 🐦&quot;,&quot;poisson = 🐠&quot;,&quot;poisson = 🐠&quot;,&quot;souris = 🐭&quot;,&quot;souris = 🐭&quot;,&quot;mouton = 🐑&quot;,&quot;mouton = 🐑&quot;];

var arrayGerman = [&quot;Katze = 🐈&quot;,&quot;Katze = 🐈&quot;,&quot;Hund = 🐕&quot;,&quot;Hund = 🐕&quot;,&quot;Fisch = 🐠&quot;,&quot;Fisch = 🐠&quot;,&quot;Pferd = 🐎&quot;,&quot;Pferd = 🐎&quot;,&quot;Vogel = 🐦&quot;,&quot;Vogel = 🐦&quot;,&quot;Hase = 🐇&quot;,&quot;Hase = 🐇&quot;,&quot;Affe = 🐒&quot;,&quot;Affe = 🐒&quot;,&quot;Schaf = 🐑&quot;,&quot;Schaf = 🐑&quot;];

var arraySpanish = [&quot;Gato = 🐈&quot;,&quot;Gato = 🐈&quot;,&quot;Perro = 🐕&quot;,&quot;Perro = 🐕&quot;,&quot;Caballo = 🐎&quot;,&quot;Caballo = 🐎&quot;,&quot;Mono = 🐒&quot;,&quot;Mono = 🐒&quot;,&quot;Conejo = 🐇&quot;,&quot;Conejo = 🐇&quot;,&quot;Oveja = 🐑&quot;,&quot;Oveja = 🐑&quot;,&quot;Peces = 🐠&quot;,&quot;Peces = 🐠&quot;,&quot;Pájaro = 🐦&quot;,&quot;Pájaro = 🐦&quot;];

var arrayRussian = [&#39;Кот = 🐈&#39;, &#39;Кот = 🐈&#39;, &#39;Собака = 🐕&#39;, &#39;Собака = 🐕&#39;, &#39;Кролик = 🐇&#39;, &#39;Кролик = 🐇&#39;, 
&#39;Обезьяна = 🐒&#39;,&#39;Обезьяна = 🐒&#39;, 
&#39;Мышь = 🐭&#39;, &#39;Мышь = 🐭&#39;, 
&#39;Лошадь = 🐎&#39;, &#39;Лошадь = 🐎&#39;, 
&#39;Рыба = 🐠&#39;, &#39;Рыба = 🐠&#39;, 
&#39;Птица = 🐦&#39;, &#39;Птица = 🐦&#39;, ];

var arrayHindi= [ &#39;बिल्ली= 🐈&#39;,&#39;बिल्ली= 🐈&#39;, &#39;कुत्ता = 🐕&#39;,&#39;कुत्ता = 🐕&#39;, &#39;घोडा = 🐎&#39;,&#39;घोडा = 🐎&#39;, &#39;बन्दर = 🐒&#39;,&#39;बन्दर = 🐒&#39;, &#39;खरगोश् = 🐇&#39;,&#39;खरगोश् = 🐇&#39;, &#39;भेड् = 🐑&#39; ,&#39;भेड् = 🐑&#39; ,&#39;चूहा = 🐭&#39;,&#39;चूहा = 🐭&#39;,&#39;मेंढक = 🐸&#39;, &#39;मेंढक = 🐸&#39;, ];
 
var arrayItalian = [&#39;cane = 🐕&#39;,&#39;cane = 🐕&#39;, &#39;coniglio = 🐇&#39;, &#39;coniglio = 🐇&#39;,&#39;pesce = 🐠&#39;,&#39;pesce = 🐠&#39;, &#39;scimmia = 🐒&#39;, &#39;scimmia = 🐒&#39;, &#39;tartaruga = 🐢&#39;, &#39;tartaruga = 🐢&#39;, &#39;scoiattolo = 🐿&#39;, &#39;scoiattolo = 🐿&#39;, &#39;gatto = 🐈&#39;, &#39;gatto = 🐈&#39;,&#39;leone = 🦁&#39;,&#39;leone = 🦁&#39;,];

var arrayMandarin = [&#39;青蛙 = 🐸&#39;, &#39;青蛙 = 🐸&#39;, &#39;狮子 = 🦁&#39; , &#39;狮子 = 🦁&#39; , &#39;猴子 = 🐒&#39;, &#39;猴子 = 🐒&#39;, &#39;松鼠 = 🐿&#39;,&#39;松鼠 = 🐿&#39;, &#39;猫 = 🐈&#39;, &#39;猫 = 🐈&#39;,&#39;狗 = 🐕&#39;, &#39;狗 = 🐕&#39;, &#39;马 = 🐎&#39;, &#39;马 = 🐎&#39;, &#39;羊 = 🐑&#39;,&#39;羊 = 🐑&#39;,];

var arrayPolish = [&#39;kot = 🐈&#39;,&#39;kot = 🐈&#39;,&#39;pies = 🐕&#39;,&#39;pies = 🐕&#39;,&#39;krowa = 🐮&#39;,&#39;krowa = 🐮&#39;,&#39;królik = 🐰&#39;,&#39;królik = 🐰&#39;,&#39;ryba = 🐠&#39;,&#39;ryba = 🐠&#39;,&#39;mysz = 🐭&#39;,&#39;mysz = 🐭&#39;,&#39;małpa = 🐒&#39;,&#39;małpa = 🐒&#39;,&#39;ptak = 🐦&#39;,&#39;ptak = 🐦&#39;,];

 var arrayEnglish = [&quot;dog = 🐕&quot;,&quot;dog = 🐕&quot;,&quot;cat = 🐈&quot;,&quot;cat = 🐈&quot;,&quot;rabbit = 🐇&quot;,&quot;rabbit = 🐇&quot;,&quot;horse = 🐎&quot;,&quot;horse = 🐎&quot;,&quot;bird = 🐦&quot;,&quot;bird = 🐦&quot;,&quot;fish = 🐠&quot;,&quot;fish = 🐠&quot;,&quot;mouse = 🐭&quot;,&quot;mouse = 🐭&quot;,&quot;sheep = 🐑&quot;,&quot;sheep = 🐑&quot;];       


var lang = &#39;French&#39;; // default lang
var arrayAllLang = [ 
    {
        lang: &#39;French&#39;,
        data: arrayFrench
    },
    {
        lang: &#39;German&#39;,
        data: arrayGerman
    },
    {
        lang: &#39;Spanish&#39;,
        data: arraySpanish
    },
    {
        lang: &#39;Russian&#39;,
        data: arrayRussian
    },
    
    {
        lang: &#39;Hindi&#39;,
        data: arrayHindi
    },
    
    {
        lang: &#39;Italian&#39;,
        data: arrayItalian
    },
    
    {
        lang: &#39;Mandarin&#39;,
        data: arrayMandarin
    },
    
    {
        lang: &#39;Polish&#39;,
        data: arrayPolish
    },
    
    {
        lang: &#39;English&#39;,
        data: arrayEnglish
    },
];

var langs = arrayAllLang.map(function(arr) {
        return arr.lang;
    }); // get all langs in one array


// change lang button event
function onChangelang(e) {
    // lang = lang===&#39;French&#39;? &#39;German&#39;:lang===&#39;German&#39;?&#39;Spanish&#39;:&#39;French&#39;
        
    var index = langs.indexOf(lang);
    if(index&lt;langs.length-1) lang = langs[index+1];
    else lang = langs[0];
    
    
    e.innerText = lang;
    newBoard();
}


function getArray() {
    return arrayAllLang.reduce(function(acc,d) {
       if(d.lang===lang) acc = d.data;
       return acc;
    },[]);
}

var values = [];
var ids = [];
var flipped = 0;
Array.prototype.shuffle = function(){
    var i = this.length, j, temp;
    while(--i &gt; 0){
        j = Math.floor(Math.random() * (i+1));
        temp = this[j];
        this[j] = this[i];
        this[i] = temp;
    }
}
function newBoard(){
    array = getArray();
    tiles_flipped = 0;
    var output = &#39;&#39;;
    array.shuffle();
    for(var i = 0; i &lt; array.length; i++){
        output += &#39;&lt;div id=&quot;tile_&#39;+i+&#39;&quot; onclick=&quot;memoryFlipTile(this,\&#39;&#39;+array[i]+&#39;\&#39;)&quot;&gt;&lt;/div&gt;&#39;;
    }
    document.getElementById(&#39;board&#39;).innerHTML = output;
}

function memoryFlipTile(tile,val){
    if(tile.innerHTML == &quot;&quot; &amp;&amp; values.length &lt; 2){
        tile.style.background = &#39;#FFF&#39;;
        tile.innerHTML = val;
      if(values.length == 0){
            values.push(val);
            ids.push(tile.id);
        } else if(values.length == 1){
            values.push(val);
            ids.push(tile.id);
      if(values[0] == values[1]){
                tiles_flipped += 2;
            
                values = [];
                ids = [];
                
      if(tiles_flipped == array.length){
                    alert(&quot;Great Job!!! 🙂 Play again?&quot;);
                    document.getElementById(&#39;board&#39;).innerHTML = &quot;&quot;;

newBoard();
  }  } else {
       function flip2Back(){
                
 var tile_1 = document.getElementById(ids[0]);
 var tile_2 = document.getElementById(ids[1]);
 
                  
    tile_1.innerHTML = &quot;&quot;;
    tile_2.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
    tile_2.innerHTML = &quot;&quot;; 
    tile_1.style.background = &#39;url(tile_bg.jpg) no-repeat&#39;;
       values = [];
       ids = [];
                }
                setTimeout(flip2Back, 800);
                var index;
            }}}}

  &lt;/script&gt;    
    &lt;/body&gt;
&lt;/html&gt;


&lt;div id=&quot;amzn-assoc-ad-300695b7-383b-4a28-be85-25ff5010d479&quot;&gt;&lt;/div&gt;&lt;script async src=&quot;//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&amp;adInstanceId=300695b7-383b-4a28-be85-25ff5010d479&quot;&gt;&lt;/script&gt;

&lt;br&gt;&lt;br&gt;

&lt;script&gt;
  (function(d){
     var js, id = &#39;ayboll-jssdk&#39;; if (d.getElementById(id)) {return;}
     js = d.createElement(&#39;script&#39;); js.id = id; js.async = true;
     js.src = &quot;//cdn.ayboll.com/js/one.js&quot;;
     d.getElementsByTagName(&#39;head&#39;)[0].appendChild(js);
   }(document));
&lt;/script&gt;
&lt;script&gt;(aybollads=window.aybollads||[]).push({id:&quot;91017451-4&quot;});&lt;/script&gt;
&lt;ins id=&quot;aybollads-91017451-4&quot;&gt;&lt;/ins&gt;</description><link>https://bobbiegames.blogspot.com/2018/09/multi-language-animal-game.html</link><author>noreply@blogger.com (Bobbie)</author><thr:total>0</thr:total></item></channel></rss>