Commit 95138664 authored by Marius Hartl's avatar Marius Hartl

prepare publish

parent f6fdeb69
......@@ -2,14 +2,14 @@
CONFIG += v-play
qmlFolder.source = qml
DEPLOYMENTFOLDERS += qmlFolder # comment for publishing
# DEPLOYMENTFOLDERS += qmlFolder # comment for publishing
assetsFolder.source = assets
DEPLOYMENTFOLDERS += assetsFolder
# Add more folders to ship with the application here
RESOURCES += # resources.qrc # uncomment for publishing
RESOURCES += resources.qrc # uncomment for publishing
# NOTE: for PUBLISHING, perform the following steps:
# 1. comment the DEPLOYMENTFOLDERS += qmlFolder line above, to avoid shipping your qml files with the application (instead they get compiled to the app binary)
......@@ -32,7 +32,7 @@ android {
ios {
QMAKE_INFO_PLIST = ios/Project-Info.plist
OTHER_FILES += $$QMAKE_INFO_PLIST
}
# set application icons for win and macx
......@@ -57,4 +57,5 @@ DISTFILES += \
qml/AI/BaseAI.qml \
qml/Scenes/HighScore.qml \
qml/Plugin/Amplitude.qml \
qml/Visual/CheckerBoard.qml
\ No newline at end of file
qml/Visual/CheckerBoard.qml \
qml/Scenes/Rules.qml
......@@ -71,7 +71,7 @@ EntityBase {
Rectangle {
id:helptext
color: "grey"
z: 100
z: 1000
anchors.centerIn: parent
width: 200
......@@ -85,7 +85,7 @@ EntityBase {
anchors.fill: parent
scale:0.98
z: 1001
clip: true
opacity: 0.1
......@@ -127,7 +127,7 @@ EntityBase {
Behavior on opacity {
NumberAnimation { easing.type: Easing.InOutQuad; duration: 100 }
NumberAnimation { easing.type: Easing.InOutQuad; duration: 300 }
}
......@@ -140,7 +140,7 @@ EntityBase {
function newGame() {
amplitude.logEvent("Total Games");
if(Math.random(0,1) > 0.5)
{
......@@ -162,6 +162,8 @@ EntityBase {
function newRound()
{
amplitude.logEvent("Total Rounds");
player.isGeber = !player.isGeber
selectedSchlag = -1
selectedTrumpf = -1
......@@ -176,7 +178,7 @@ EntityBase {
newgameTimer.running = true
kartenmanager.setupDeck()
infotext.text = ""
infotext.text = ""
}
Timer{
......@@ -234,10 +236,16 @@ EntityBase {
if (player.stiche >= 3) {
player.siegespunkte += gewinnsumme
infotext.text = "Runde geht an Sie"
amplitude.logEvent("Total Rounds won");
gameState = "gameOver"
} else if (fiend.stiche >= 3) {
fiend.siegespunkte += gewinnsumme
infotext.text = "Runde geht an Gegner"
amplitude.logEvent("Total Rounds lost");
gameState = "gameOver"
} else {
gameState = "beginStechen"
......@@ -276,12 +284,18 @@ EntityBase {
{
infotext.text = "Sie haben gewonnen!"
amplitude.logEvent("Total Victories");
}
if(fiend.siegespunkte > 11)
{
infotext.text = "Sie haben verloren!"
amplitude.logEvent("Total Losses");
}
......@@ -300,8 +314,8 @@ EntityBase {
interval: 3000
onTriggered: {
infotext.text = ""
newgameButton.visible = true
infotext.text = ""
newgameButton.visible = true
}
}
......@@ -333,7 +347,7 @@ EntityBase {
gamecontroller.z = 1
infotext.text = ""
infotext.text = ""
if (gameState == "determineWertigkeit") {
infoArea.setTrumpf(selectedCard.symbol)
......
......@@ -10,7 +10,8 @@ import "Scenes"
GameWindow {
id: gameWindow
licenseKey: "132D48AA60E6FD12AFC8C291C17731EA6E2FE267A61E11E56096BE945D3C09DC4E882B805A4A7550C875541A0BDC71A543514283FF564F23CABDAD2884FA4961AACCC5F6E6F635784DC3A257714926DF7ED6746CC302706F1298364F4C8AE1683C477271250A09D5F8BD9A5E754703B29000C8E3018FF73F6E850E721A6C0BA4A785031BF596443593B5A0DB73EC7BA554D444D552DA4AD797ACF497EEB878EDE3731EA1F7B71BD9CE80A1BF47C42DFDDD45FE45B5A3CDC7B6539E59B4E5F03BD10CCCECB8CCDF85F335FF30E8CC168A929E7222B32598BFF7420416CF150673BAD93EAF7C8746E75049AFCC6C2EB4A59D822F94059E507718D2E9646B51CB3F035BAEF97EBC27D151FC644D249C29189B21C752C9638CED4897DEB25C52BEB4BAF5B8F9A8D01A321E73A10DF7B3EC1F0988993595677E392477C4CD37433719452650128DD1413E2DF9567A4B78EC22"
licenseKey: "0304A786A91E1A97D97EE5667DA9424E6270EFE4A1C8A75FCD45EB8C039BDB2F9F369E208566887057876506C7402351D8D1E935913B03E775C41895814E57433082444A4A99A970E63F5329CCFDFA9152658FBB6F55B6011C136FC5C9CF081AF0B0D1F6D7672DC686B4740447DD7C36954012250888D9B4788815C79B20B5281891823000A8F922B940528AE13A97D6DD63683FF87E83581BD275DE2C85DBDD64C9C388958FF2CE33D384B0E9559BEE1E51685FCE4A24C9D196A75F8D11A5E67718033D92172592DBA056121BA4E2DA4D8E3F95A3CC201C0774E90A30B1F9E79EF01A240756C3B27CDB87C224A93AAA25D348AA79B8B2099311916D8DBBABA66DB200D7B5C5477A11A68D8BE6D90B4BBAA795D92B1EC843C12EE1B189D9D1C82A1EED0579C5826A5D99F98F438E8BA149B6608BCD9697128A30A9E0CAEA688576C662D75D3C2859F0AC49E3942002F5112BA1C784EABF726E08B8A3DEBF898A325B28EB818882E606DDE9F525D0498C32C1F61DEB75FEA65891DE9BDD32D704"
Amplitude {
id: amplitude
......@@ -36,7 +37,7 @@ GameWindow {
playerCount: 4
startGameWhenReady: false
gameNetworkItem:gameNetwork
multiplayerView: matchmakingScene.mpView
//multiplayerView: matchmakingScene.mpView
maxJoinTries: 5
fewRoomsThreshold: 3
joinRankingIncrease: 200
......@@ -83,6 +84,13 @@ GameWindow {
}
Rules{
id:rules
onChangeScene: {
gameWindow.state = sceneName
}
}
// default state is menu -> default scene is menuScene
state: "menu"
......@@ -121,7 +129,22 @@ GameWindow {
target: gameWindow
activeScene: highScore
}
},
State{
name: "rules"
PropertyChanges {
target: rules
opacity: 1
}
PropertyChanges {
target: gameWindow
activeScene: rules
}
}
]
......
......@@ -10,6 +10,47 @@ SceneBase {
signal changeScene(string sceneName)
// menu
CheckerBoard
{
anchors.top: menuScene.gameWindowAnchorItem.top
anchors.topMargin: 50
anchors.horizontalCenter: menuScene.gameWindowAnchorItem.horizontalCenter
width: 250
height: 50
z: 50
checkerboardcolor: "grey"
checkerboardopacity: 0.1
Text {
anchors.centerIn: parent
font.pointSize: 20
text: "Wattenizer"
}
}
CheckerBoard
{
anchors.bottom: menuScene.gameWindowAnchorItem.bottom
anchors.bottomMargin: 5
anchors.right: menuScene.gameWindowAnchorItem.right
anchors.rightMargin: 10
width: 90
height: 10
z: 50
checkerboardcolor: "grey"
checkerboardopacity: 0.1
Text {
anchors.centerIn: parent
font.pointSize: 6
text: "v. 1.0 by Marius Hartl"
}
}
CheckerBoard
{
......@@ -36,6 +77,13 @@ SceneBase {
text: "1 vs 1"
onClicked: changeScene("onevsone")
}
MenuButton {
text: "Spielregeln"
onClicked: changeScene("rules")
}
/*
MenuButton {
text: "Leaderboard"
onClicked: changeScene("highscore")
......@@ -43,6 +91,7 @@ SceneBase {
MenuButton {
text: "Credits"
}
*/
}
}
......
import VPlay 2.0
import QtQuick 2.5
import "../Interface"
import "../Visual"
SceneBase {
id: rules
signal changeScene(string sceneName)
// menu
CheckerBoard
{
anchors.top: rules.gameWindowAnchorItem.top
anchors.topMargin: 20
anchors.horizontalCenter: rules.gameWindowAnchorItem.horizontalCenter
width: 250
height: 25
z: 50
checkerboardcolor: "grey"
checkerboardopacity: 0.1
Text {
anchors.centerIn: parent
font.pointSize: 13
text: "Spielregeln"
}
}
CheckerBoard
{
anchors.top: rules.gameWindowAnchorItem.top
anchors.topMargin: 50
anchors.horizontalCenter: rules.gameWindowAnchorItem.horizontalCenter
width: 500
height: 250
z: 50
checkerboardcolor: "grey"
checkerboardopacity: 0.1
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 20
horizontalAlignment: Text.AlignHCenter
font.pointSize: 13
text: "Ablauf:"
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 25
font.pointSize: 5
horizontalAlignment: Text.AlignHCenter
text: "Bei jeder Runde beginnen die Spieler mit 5 Karten. Zuerst muss der Geber die Trumpffarbe bestimmen.
Danach bestimmt der Nehmer den Schlag und leitet den ersten Zug mit dem Ausspielen einer Karte ein.
Der Gegenspieler muss danach auf die ausgespielte Karte antworten. Es besteht kein Stich oder Farbzwang!
Der Spieler mit dem höheren Kartenwert, gewinnt den Zug und bekommt den Stich gutgeschrieben und muss den nächsten Zug einleiten.
Hat ein Spieler mehr als 3 Stiche, gewinnt er die Runde. Der Gewinner einer Runde bekommt 2 Siegespunkte.
Derjenige mit mehr als 11 Siegespunkte, gewinnt er das Spiel."
}
}
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 100
horizontalAlignment: Text.AlignHCenter
font.pointSize: 13
text: "Kartenwert:"
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 25
font.pointSize: 5
horizontalAlignment: Text.AlignHCenter
text: "Grundwert: Jede Karte hat einen Grundwert, welcher von 6 bis 14 geht.
Werte ab 11 werden mit Buchstaben gekennzeichnet: J = 11, Q = 12, K = 13; A = 14.
Trumpf: Es gibt 4 verschiedene Symbole(Herz, Kreuz, Pik, Karo) wobei immer eine davon Trumpf ist.
Eine Karte mit solchem Symbol wird als Trumpf bezeichnet und sticht jede Karte, welche nicht Trumpf oder Schlag ist
Spielen beide Spieler Trumpf so gewinnt die Karte mit dem höhren Grundwert den Zug.
Schlag: Ein Grundwert ist immer als Schlag deklariert. Dadurch gibt für jedes Symbol eine Schlagkarten.
Schlagkarten sind wertvollen Karten, da sie über Trumpfkarten stehen! Die höchstmögliche Karte ist Schlag und Trumpf gleichzeitig.
Stichregel: Spielt der Initierende eine Karte aus, muss der Antwortende darauf antworten.
Stimmt das Symbol des Antwortenden nicht mit dem Initierenden überein und ist nicht Trumpf oder Schlag, sticht der Initierende.
"
}
}
}
MenuButton {
width: 30
height: 30
z:1
anchors.right: gameWindowAnchorItem.right
anchors.rightMargin: 5
anchors.top: gameWindowAnchorItem.top
anchors.topMargin: 5
onClicked: changeScene("menu")
Image {
id: icon
source: "../../assets/icons/Home.png"
anchors.fill: parent
scale: 0.8
smooth: true
//fillMode: Image.Tile
}
}
}
......@@ -87,8 +87,8 @@ EntityBase {
Image {
id: glowImage
anchors.centerIn: parent
width: parent.width * 1
height: parent.height * 1
width: parent.width * 1.15
height: parent.height * 1.1
z: 1.1
source: "../../assets/Karten/outline.png"
opacity: 1
......
......@@ -46,7 +46,7 @@ Item {
layer.enabled: true
layer.effect: OpacityMask {
maskSource: mask
maskSource: parent
}
......
......@@ -4,5 +4,5 @@
"orientation": "landscape",
"versioncode": 1,
"versionname": "1.0",
"stage": "test"
"stage": "publish"
}
<RCC>
<qresource prefix="/">
<file>qml</file>
<file>qml/AI/BaseAI.qml</file>
<file>qml/GameLogic/GameLogic.qml</file>
<file>qml/Interface/MenuButton.qml</file>
<file>qml/Interface/Player.qml</file>
<file>qml/Interface/StandardButton.qml</file>
<file>qml/Interface/TextBox.qml</file>
<file>qml/Plugin/Amplitude.qml</file>
<file>qml/Scenes/HighScore.qml</file>
<file>qml/Scenes/MainMenu.qml</file>
<file>qml/Scenes/OneVSOne.qml</file>
<file>qml/Scenes/Rules.qml</file>
<file>qml/Scenes/SceneBase.qml</file>
<file>qml/Spielkarten/Karte.qml</file>
<file>qml/Spielkarten/Kartenmanager.qml</file>
<file>qml/Visual/CheckerBoard.qml</file>
<file>main.cpp</file>
</qresource>
</RCC>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment