2022-05-13 13:12:05 +00:00
|
|
|
// Copyright (C) 2017 The Qt Company Ltd.
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
2011-04-27 10:05:43 +00:00
|
|
|
|
2011-11-14 04:38:18 +00:00
|
|
|
import QtQuick 2.0
|
2021-08-30 13:46:39 +00:00
|
|
|
import "samegame.js" as SameGame
|
2011-04-27 10:05:43 +00:00
|
|
|
|
|
|
|
Rectangle {
|
|
|
|
id: screen
|
|
|
|
|
|
|
|
width: 490; height: 720
|
|
|
|
|
|
|
|
SystemPalette { id: activePalette }
|
|
|
|
|
|
|
|
Item {
|
|
|
|
width: parent.width
|
|
|
|
anchors { top: parent.top; bottom: toolBar.top }
|
|
|
|
|
|
|
|
Image {
|
|
|
|
id: background
|
|
|
|
anchors.fill: parent
|
2021-08-30 13:46:39 +00:00
|
|
|
source: "pics/background.jpg"
|
2011-04-27 10:05:43 +00:00
|
|
|
fillMode: Image.PreserveAspectCrop
|
|
|
|
}
|
|
|
|
|
|
|
|
Item {
|
|
|
|
id: gameCanvas
|
|
|
|
property int score: 0
|
|
|
|
property int blockSize: 40
|
|
|
|
|
|
|
|
anchors.centerIn: parent
|
|
|
|
width: parent.width - (parent.width % blockSize);
|
|
|
|
height: parent.height - (parent.height % blockSize);
|
|
|
|
|
|
|
|
MouseArea {
|
2021-02-12 07:53:00 +00:00
|
|
|
anchors.fill: parent
|
|
|
|
onClicked: (mouse)=> SameGame.handleClick(mouse.x,mouse.y);
|
2011-04-27 10:05:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Dialog {
|
|
|
|
id: dialog
|
|
|
|
anchors.centerIn: parent
|
|
|
|
z: 100
|
|
|
|
}
|
|
|
|
|
|
|
|
//![0]
|
|
|
|
Dialog {
|
|
|
|
id: nameInputDialog
|
|
|
|
anchors.centerIn: parent
|
|
|
|
z: 100
|
|
|
|
|
|
|
|
onClosed: {
|
|
|
|
if (nameInputDialog.inputText != "")
|
|
|
|
SameGame.saveHighScore(nameInputDialog.inputText);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//![0]
|
|
|
|
|
|
|
|
Rectangle {
|
|
|
|
id: toolBar
|
|
|
|
width: parent.width; height: 30
|
|
|
|
color: activePalette.window
|
|
|
|
anchors.bottom: screen.bottom
|
|
|
|
|
|
|
|
Button {
|
|
|
|
anchors { left: parent.left; verticalCenter: parent.verticalCenter }
|
|
|
|
text: "New Game"
|
|
|
|
onClicked: SameGame.startNewGame()
|
|
|
|
}
|
|
|
|
|
|
|
|
Text {
|
|
|
|
id: score
|
|
|
|
anchors { right: parent.right; verticalCenter: parent.verticalCenter }
|
|
|
|
text: "Score: " + gameCanvas.score
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|