summaryrefslogtreecommitdiffstats
path: root/animals/memory.js
blob: a01083aee880b9c7699807bcf15a4c1e0b6eab62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
var component;
var maxRow = 3;
var maxColumn = 6;
var maxIndex = maxColumn * maxRow;
var finished = new Array();
var positions = new Array();

var animals = [ "ArtFavor_Cartoon_Sheep.png", "danko_Friendly_rabbit.png",
                "lemmling_Cartoon_cow.png", "PeterM_Sad_cat.png",
                "bugmenot_Happy_Pig.png", "Gerald_G_Crawfish.png",
                "Machovka_lady_bug.png", "carlitos_Green_Worm.png",
                "Gerald_G_Rubber_Duck.png", "molumen_Green_sitting_frog.png"]

function createBoard() {
    var currentTime = new Date();
    var seed = currentTime.getSeconds() * currentTime.getHours();
    Math.random(seed);

    for (var i = 0; i < maxIndex; i++) {
        positions[i] = i;
        var position = Math.floor(Math.random()*positions.length);
        var tmp = positions[i];
        positions[i] = positions[position];
        positions[position] = tmp;
    }

    for (var i = 0; i < maxIndex/2; i++) {
        createAnimal(animals[i], i, positions[i*2]%maxColumn, Math.floor(positions[i*2]/maxColumn));
        createAnimal(animals[i], i, positions[i*2+1]%maxColumn, Math.floor(positions[i*2+1]/maxColumn));
    }
}

function createAnimal(image, animalId, column, row) {
    if (component == null)
        component = Qt.createComponent("Animal.qml");

    if (component.status == Component.Ready) {
        var dynamicObject = component.createObject(gameBoard);
        if (dynamicObject == null) {
            console.log("error creating block");
            console.log(component.errorString());
        }
        dynamicObject.type = animalId;
        dynamicObject.image = "images/" + image;
        dynamicObject.x = 5 + column * (gameBoard.blockSize+5);
        dynamicObject.y = 5 + row * (gameBoard.blockSize+5);
        dynamicObject.width = gameBoard.blockSize;
        dynamicObject.height = gameBoard.blockSize;
    } else {
        console.log("error loading block component");
        console.log(component.errorString());
    }
}

function finishedTiles(a1, a2) {
    finished.push(a1, a2);
    if (finished.length == maxIndex) {
        console.log("Victoria");
        for (var i = 0; i < maxIndex; i++) {
            finished[i].opacity = 0.5;
            finished[i].height *= 0.5;
            finished[i].width *= 0.5;
            finished[i].hide();
        }
    } else {
        console.log("got " + finished.length + " of " + maxIndex);
    }
}