var correctCards = 0;
var score = 0; // total score
var score_high = 0; // highest score
var score_temp = 0;
var dtGameStart = 0;
var dtLastCorrectAction = 0;
var dtGameEnd = 0;
var totalTime;
var scoremessages = ["0"];
var flagwin = "win";
var numbers = [1, 2, 3, 4, 5, 6, 7, 8];
var words = numbers;
var numberOfCards = 8;
var timedecreasing;
var myTimeout;
var myTimeoutMessage;
//var act = 0;
$(init);
function init() {
//CreateAudio();
document.getElementById("trace").innerHTML = ''; // clear trace
$('#successMessage').hide();
$('#successMessage').css({
width: 0,
height: 0
});
// Reset the game
score = 0;
scoremessages.push("0");
correctCards = 0;
$('#cardPile').html('');
$('#cardSlots').html('');
// shuffle cards for first row
var setextension = '.png';
//var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
numbers.sort(function () { return Math.random() - .5 });
for (var i = 0; i < numberOfCards; i++) {
var ipucu_numaralar = numbers[i]; //, ipucu için kullanılabilir.
ipucu_numaralar = '';
$('
' + ipucu_numaralar + '
').data('number', numbers[i]).attr('id', 'card' + numbers[i]).appendTo('#cardPile').draggable({
containment: '#content',
stack: '#cardPile div',
cursor: 'move',
revert: true
});
}
// create second slot for shuffled card matches
//var words = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten'];
words.sort(function () { return Math.random() - .5 });
for (var i = 1; i <= numberOfCards; i++) {
var ipucu_numaralar = 'Drop ' + words[i - 1]; // numbers[i], ipucu için kullanılabilir.
ipucu_numaralar = '';
$('' + ipucu_numaralar + '
').data('number', words[i - 1]).appendTo('#cardSlots').droppable({
accept: '#cardPile div',
hoverClass: 'hovered',
drop: handleCardDrop
});
}
var dtObj = new Date();
dtGameStart = dtObj.getTime();
dtLastCorrectAction = dtGameStart;
displayScoreMessage();
PlayAudioFile('s'); // start game
CalculateScore('i'); // init
}
function FreezeBoard() {
var tmp_id;
for (var i = 0; i < numberOfCards; i++) {
tmp_id = '#card' + numbers[i];
$(tmp_id).draggable("disable");
}
$('html,body').css('cursor', 'crosshair');
}
function handleCardDrop(event, ui) {
var slotNumber = $(this).data('number');
var cardNumber = ui.draggable.data('number');
// If the card was dropped to the correct slot, change the card colour, position it directly on top of the slot, and prevent it being dragged again
if (slotNumber == cardNumber) {
ui.draggable.addClass('correct');
ui.draggable.draggable('disable');
$(this).droppable('disable');
ui.draggable.position({ of: $(this), my: 'left top', at: 'left top' });
ui.draggable.draggable('option', 'revert', false);
correctCards++;
PlayAudioFile('c'); // correct move
} else {
PlayAudioFile('r'); // wrong move
}
// If all the cards have been placed correctly then display a message and reset the cards for another go
if (correctCards == numberOfCards) {
PlayAudioFile('w'); //win the game
ShowStars();
scoremessages.push(flagwin);
}
}
function showResultMessage(result) {
clearTimeout(myTimeout); // destroy timeout
clearTimeout(myTimeoutMessage); // destroy timeout
if (result == "success") {
document.getElementById("result").innerHTML = "Great game! Purbles love you.";
var duration = (totalTime / 1000).toFixed(0); // Toplam süre tam sayı olarak saniye cinsinden
var msg_score = 'Total Score: ' + score + ' in ' + duration + ' seconds.';
if (score > score_high) {
score_high = score;
msg_score = msg_score + '
' + 'You have a new record now!';
}
document.getElementById("score").innerHTML = msg_score;
} else if (result == "fail") {
document.getElementById("result").innerHTML = "You lose the game!
Purbles need your help...";
document.getElementById("score").innerHTML = 'Total Score: ' + score;
PlayGameOver();
FreezeBoard();
}
$('#successMessage').show();
$('#successMessage').animate({
width: '400px',
height: '200px',
opacity: 1
});
}