document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. <script type=\'text/javascript\'>
  2. // Original:  Brian Gosselin (bgaudiodr@aol.com)
  3. // Web Site:  http://www.bgaudiodr.iwarp.com
  4. // This script and many more are available free online at
  5. // The JavaScript Source!! http://javascript.internet.com
  6. // http://www.javascriptsource.com/games/concentration.html
  7. //
  8. // Some tidying and made Blogger friendly by MS-potilas 2011
  9. // see http://yabtb.blogspot.com/2011/12/christmassy-concentration-memory-game.html
  10. //
  11. // christmassy pictures here, you can change the dir to some with your pictures in it:
  12. var carddir = \'http://sites.google.com/site/mspotilasfi/images/muistipeli/\';
  13. var cardsize = 40;  // pixels
  14. var usespacing = 1; // spaces between cards (1) or not (0)
  15. //
  16. var pics = [];
  17. var map = [];
  18. for (i = 0; i <= 18; i++) {
  19.   pics[i] = new Image();
  20.   pics[i].src = carddir+\'image\' + i + \'.gif\';
  21.   map[i*2] = i+1;
  22.   map[i*2+1] = i+1;
  23. }
  24. var user = [];
  25. var clickarray = [0, 0];
  26. var ticker, ctr, timid, oktoclick, finished;
  27. function init() {
  28.   clearTimeout(timid);
  29.   for (i = 0; i <= 35 ;i++)
  30.     user[i] = 0;
  31.   ticker=0; ctr=0; oktoclick = true;
  32.   finished = 0;
  33.   scramble();
  34.   runclk();
  35.   for (i = 0; i <= 35; i++)
  36.     document.mgf[(\'img\'+i)].src = carddir + "image0.gif";
  37. }
  38. function runclk() {
  39.   var min = Math.floor(ticker/60);
  40.   var sec = (ticker-(min*60))+\'\';
  41.   if(sec.length == 1) sec = "0"+sec;
  42.   ticker++;
  43.   document.mgf.mgb.value = min+":"+sec;
  44.   timid = setTimeout(\'runclk()\', 1000);
  45. }
  46. function scramble() {
  47.   var temparray = new Array();
  48.   for (z = 0; z < 5; z++) {
  49.    for (x = 0; x <= 35; x++) {
  50.     temparray[0] = Math.floor(Math.random()*36);
  51.     temparray[1] = map[temparray[0]];
  52.     temparray[2] = map[x];
  53.     map[x] = temparray[1];
  54.     map[temparray[0]] = temparray[2];
  55.   }
  56.  }
  57. }
  58. function showimage(but) {
  59.   if (oktoclick) {
  60.     oktoclick = false;
  61.     document.mgf[(\'img\'+but)].src = carddir + \'image\'+map[but]+\'.gif\';
  62.     if (ctr == 0) {
  63.       ctr++;
  64.       clickarray[0] = but;
  65.       oktoclick = true;
  66.     } else {
  67.       clickarray[1] = but;
  68.       ctr = 0;
  69.       setTimeout(\'returntoold()\', 600);
  70.     }
  71.   }
  72. }
  73. function returntoold() {
  74.   if ((clickarray[0] == clickarray[1]) && (!user[clickarray[0]])) {
  75.     document.mgf[(\'img\'+clickarray[0])].src = carddir + "image0.gif";
  76.     oktoclick = true;
  77.   } else {
  78.     if (map[clickarray[0]] != map[clickarray[1]]) {
  79.       if (user[clickarray[0]] == 0)
  80.         document.mgf[(\'img\'+clickarray[0])].src = carddir + "image0.gif";
  81.       if (user[clickarray[1]] == 0)
  82.         document.mgf[(\'img\'+clickarray[1])].src = carddir + "image0.gif";
  83.     }
  84.     if (map[clickarray[0]] == map[clickarray[1]]) {
  85.       if (user[clickarray[0]] == 0&&user[clickarray[1]] == 0) { finished++; }
  86.       user[clickarray[0]] = 1;
  87.       user[clickarray[1]] = 1;
  88.     }
  89.     if (finished >= 18) {
  90.       alert(\'You did it in \'+document.mgf.mgb.value+\'!\');
  91.       clearTimeout(timid);
  92.       document.mgf.mgb.value = "Start a new game";
  93.       oktoclick = false;
  94.     } else
  95.       oktoclick = true;
  96.   }
  97. }
  98. </script>
  99.  
  100. <center>
  101. <form name="mgf">
  102. <input style="padding: 2px 6px;" type="button" value="Start a game" name="mgb" onclick="init();this.blur();">
  103. <br>
  104. <br>
  105. <style type=\'text/css\'> img.mgame { padding:0 !important;margin:0 !important; border:0 !important; } </style>
  106. <div id="mgboard"></div>
  107. <script type=\'text/javascript\'>
  108. var htm=\'\';
  109. for(var y=0;y<6;y++) {
  110.   htm+=\'<div style="height:\'+(cardsize+usespacing*4)+\'px;">\';
  111.   for(var x=0;x<6;x++) {
  112.     var i = y*6+x;
  113.     htm += \'<a href="javascript:showimage(\'+i+\')" onclick="this.blur();"><img class="mgame" src="http://sites.google.com/site/mspotilasfi/images/muistipeli/image0.gif" name="img\'+i+\'" border="0"></a>\';
  114.     if(usespacing) htm += "&nbsp;";
  115.   }
  116.   htm+="</div>";
  117. }
  118. document.getElementById("mgboard").innerHTML = htm;
  119. </script>
  120. <noscript>This game needs Javascript to work.</noscript>
  121. </form>
  122. <div style="font-size:9px; color: #bbb;">Free JavaScripts provided by <a target="_blank" href="http://javascriptsource.com/" style="color: #bbb;">The JavaScript Source</a></div>
  123. </center>
');