Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

Durdles - 2-Player Action Game

 import QtQuick 2.0
 import Felgo 4.0
 import "../common" as Common
 import ".."
 import "../levels"
 import "../entities"
 import "../entities/powerUps"

 Common.LevelBase {
   id: scene

   // horizontal line in vertical center
   Obstacle {
     id: obstacle1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle2
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle3
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 2
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle4
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 3
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle5
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 4
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle6
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 5
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle7
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 6
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle8
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 7
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle9
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 8
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle10
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 + 20 * 9
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle11
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 1
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle12
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 2
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle13
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 3
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle14
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 4
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle15
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 5
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle16
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 6
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle17
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 7
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle18
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 8
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Obstacle {
     id: obstacle19
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - height / 2
       leftMargin: scene.width / 2 - 20 * 9
     }
     obstacleBody.source: Qt.resolvedUrl("../../assets/img/Obstacle.png")
   }

   Iglu {
     entityId: "iglu1"
     id: iglu1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - 90
       leftMargin: 10
     }
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu2"
     id: iglu2
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 + 90
       leftMargin: 85
     }
     rotation: 180
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu3"
     id: iglu3
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - 90
       leftMargin: scene.width - width - 10
     }
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu4"
     id: iglu4
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 + 90
       leftMargin: scene.width - width + 65
     }
     rotation: 180
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu5"
     id: iglu5
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - 90
       leftMargin: scene.width - width - 85
     }
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu6"
     id: iglu6
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 + 90
       leftMargin: scene.width - width - 85
     }
     rotation: 180
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu7"
     id: iglu7
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 - 90
       leftMargin: 85
     }
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Iglu {
     entityId: "iglu8"
     id: iglu8
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 2 + 90
       leftMargin: 180+55
     }
     rotation: 180
     igluBody.source: Qt.resolvedUrl("../../assets/img/Iglu.png")
   }

   Opponents {
     id: opponentSnowman1
     z: -1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 6 - height / 2
       leftMargin: scene.width / 6 - width / 2
     }
     opponentBody.source: Qt.resolvedUrl("../../assets/img/Snowman.gif")
   }

   Opponents {
     id: opponentSnowman2
     z: -1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 6 - height / 2
       leftMargin: scene.width / 6 * 5 - width / 2
     }
     opponentBody.source: Qt.resolvedUrl("../../assets/img/Snowman.gif")
   }

   Opponents {
     id: opponentSnowman3
     z: -1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 6 * 5 - height / 2
       leftMargin: scene.width / 6 - width / 2
     }
     opponentBody.source: Qt.resolvedUrl("../../assets/img/Snowman.gif")
   }

   Opponents {
     id: opponentSnowman4
     z: -1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 6 * 5 - height / 2
       leftMargin: scene.width / 6 * 5 - width / 2
     }
     opponentBody.source: Qt.resolvedUrl("../../assets/img/Snowman.gif")
   }

   PowerUpSpawn {
     entityId: "spawn"
     id: spaw1
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 3 - 55
       leftMargin: scene.width / 2
     }
     spawnBody.source: Qt.resolvedUrl("../../assets/img/PUSpawn.png")
   }

   PowerUpSpawn {
     entityId: "spawn"
     id: spawn2
     anchors {
       top: scene.top
       left: scene.left
       topMargin: scene.height / 3 * 2 + 55
       leftMargin: scene.width / 2
     }
Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded