Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script type='text/javascript'>
- // Original: Brian Gosselin (bgaudiodr@aol.com)
- // Web Site: http://www.bgaudiodr.iwarp.com
- // This script and many more are available free online at
- // The JavaScript Source!! http://javascript.internet.com
- // http://www.javascriptsource.com/games/concentration.html
- //
- // Some tidying and made Blogger friendly by MS-potilas 2011
- // see http://yabtb.blogspot.com/2011/12/christmassy-concentration-memory-game.html
- //
- // christmassy pictures here, you can change the dir to some with your pictures in it:
- var carddir = 'http://sites.google.com/site/mspotilasfi/images/muistipeli/';
- var cardsize = 40; // pixels
- var usespacing = 1; // spaces between cards (1) or not (0)
- //
- var pics = [];
- var map = [];
- for (i = 0; i <= 18; i++) {
- pics[i] = new Image();
- pics[i].src = carddir+'image' + i + '.gif';
- map[i*2] = i+1;
- map[i*2+1] = i+1;
- }
- var user = [];
- var clickarray = [0, 0];
- var ticker, ctr, timid, oktoclick, finished;
- function init() {
- clearTimeout(timid);
- for (i = 0; i <= 35 ;i++)
- user[i] = 0;
- ticker=0; ctr=0; oktoclick = true;
- finished = 0;
- scramble();
- runclk();
- for (i = 0; i <= 35; i++)
- document.mgf[('img'+i)].src = carddir + "image0.gif";
- }
- function runclk() {
- var min = Math.floor(ticker/60);
- var sec = (ticker-(min*60))+'';
- if(sec.length == 1) sec = "0"+sec;
- ticker++;
- document.mgf.mgb.value = min+":"+sec;
- timid = setTimeout('runclk()', 1000);
- }
- function scramble() {
- var temparray = new Array();
- for (z = 0; z < 5; z++) {
- for (x = 0; x <= 35; x++) {
- temparray[0] = Math.floor(Math.random()*36);
- temparray[1] = map[temparray[0]];
- temparray[2] = map[x];
- map[x] = temparray[1];
- map[temparray[0]] = temparray[2];
- }
- }
- }
- function showimage(but) {
- if (oktoclick) {
- oktoclick = false;
- document.mgf[('img'+but)].src = carddir + 'image'+map[but]+'.gif';
- if (ctr == 0) {
- ctr++;
- clickarray[0] = but;
- oktoclick = true;
- } else {
- clickarray[1] = but;
- ctr = 0;
- setTimeout('returntoold()', 600);
- }
- }
- }
- function returntoold() {
- if ((clickarray[0] == clickarray[1]) && (!user[clickarray[0]])) {
- document.mgf[('img'+clickarray[0])].src = carddir + "image0.gif";
- oktoclick = true;
- } else {
- if (map[clickarray[0]] != map[clickarray[1]]) {
- if (user[clickarray[0]] == 0)
- document.mgf[('img'+clickarray[0])].src = carddir + "image0.gif";
- if (user[clickarray[1]] == 0)
- document.mgf[('img'+clickarray[1])].src = carddir + "image0.gif";
- }
- if (map[clickarray[0]] == map[clickarray[1]]) {
- if (user[clickarray[0]] == 0&&user[clickarray[1]] == 0) { finished++; }
- user[clickarray[0]] = 1;
- user[clickarray[1]] = 1;
- }
- if (finished >= 18) {
- alert('You did it in '+document.mgf.mgb.value+'!');
- clearTimeout(timid);
- document.mgf.mgb.value = "Start a new game";
- oktoclick = false;
- } else
- oktoclick = true;
- }
- }
- </script>
- <center>
- <form name="mgf">
- <input style="padding: 2px 6px;" type="button" value="Start a game" name="mgb" onclick="init();this.blur();">
- <br>
- <br>
- <style type='text/css'> img.mgame { padding:0 !important;margin:0 !important; border:0 !important; } </style>
- <div id="mgboard"></div>
- <script type='text/javascript'>
- var htm='';
- for(var y=0;y<6;y++) {
- htm+='<div style="height:'+(cardsize+usespacing*4)+'px;">';
- for(var x=0;x<6;x++) {
- var i = y*6+x;
- 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>';
- if(usespacing) htm += " ";
- }
- htm+="</div>";
- }
- document.getElementById("mgboard").innerHTML = htm;
- </script>
- <noscript>This game needs Javascript to work.</noscript>
- </form>
- <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>
- </center>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement