Commit 4db3725f authored by Aurélien's avatar Aurélien
Browse files

ajout de pictos menu et niveaux dans les jeux

parent 038938bc
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -16,16 +16,19 @@ class BinaryTreeToDyckWordGui(LevelGui):
        self.createScoreLabel()

        self.layout = QGridLayout()
        self.layout.addWidget(self.scoreLabel, 0, 1, alignment=Qt.AlignRight)
        self.layout.addWidget(self.treeView, 1, 0)
        self.layout.addWidget(self.dyckWordGroupBox, 1, 1)
        self.layout.setColumnStretch(0, 2)
        self.layout.setColumnStretch(1, 1)
        self.layout.addWidget(self.menuWidget, 0, 0, alignment=Qt.AlignLeft)
        self.layout.addWidget(self.levelWidget, 0, 1, alignment=Qt.AlignLeft)
        self.layout.addWidget(self.scoreLabel, 0, 3, alignment=Qt.AlignRight)
        self.layout.addWidget(self.treeView, 1, 0, 1, 2)
        self.layout.addWidget(self.dyckWordGroupBox, 1, 2, 1, 2)
        self.layout.setColumnStretch(1, 2)
        self.layout.setColumnStretch(2, 1)

        self.setLayout(self.layout)

    def createDyckWordGroupBox(self):
        self.dyckWordGroupBox = QGroupBox()
        self.dyckWordGroupBox.setStyleSheet("background: white;")
        self.globalDyckWordLayout = QVBoxLayout()
        self.dyckWordLayout = QHBoxLayout()
        self.globalDyckWordLayout.addLayout(self.dyckWordLayout, 1)
@@ -59,27 +62,27 @@ class BinaryTreeToDyckWordGui(LevelGui):
        font = QFont("Arial", fontSize)
        if self.indexHole == 1:
            self.answer1 = QLineEdit()
            self.answer1.setStyleSheet("border: 0px")
            self.answer1.setStyleSheet("border: 3px solid black")
            self.answer1.setPlaceholderText(hole)
            self.answer1.setFont(font)
            self.answer1.setFixedWidth(3 + len(hole) * fontSize)
            self.answer1.setFixedWidth(6 + len(hole) * fontSize)
            self.answer1.setMaxLength(len(hole))
            self.dyckWordLayout.addWidget(self.answer1)
        elif self.indexHole == 2:
            self.answer2 = QLineEdit()
            self.answer2.setStyleSheet("border: 0px")
            self.answer2.setStyleSheet("border: 3px solid black")
            self.answer2.setPlaceholderText(hole)
            self.answer2.setFont(font)
            self.answer2.setMaxLength(len(hole))
            self.answer2.setMaximumWidth(3 + len(hole) * fontSize)
            self.answer2.setMaximumWidth(6 + len(hole) * fontSize)
            self.dyckWordLayout.addWidget(self.answer2)
        else:
            self.answer3 = QLineEdit()
            self.answer3.setStyleSheet("border: 0px")
            self.answer3.setStyleSheet("border: 3px solid black")
            self.answer3.setPlaceholderText(hole)
            self.answer3.setMaxLength(len(hole))
            self.answer3.setFont(font)
            self.answer3.setMaximumWidth(3 + len(hole) * fontSize)
            self.answer3.setMaximumWidth(6 + len(hole) * fontSize)
            self.dyckWordLayout.addWidget(self.answer3)

    def createButtons(self):
+65 −2
Original line number Diff line number Diff line
from PyQt5.QtGui import QFont, QPalette, QColor
from PyQt5.QtWidgets import QWidget, QAction, QMessageBox, QPushButton, QLabel
from PyQt5.QtGui import QFont, QPalette, QColor, QBrush, QPen
from PyQt5.QtWidgets import *

from PyQt5.QtCore import Qt

@@ -8,18 +8,81 @@ class LevelGui(QWidget):
    def __init__(self, controller):
        super(QWidget, self).__init__()
        self.controller = controller
        self.color = QColor(52, 73, 94)

        self.shortCutAction = QAction()
        self.shortCutAction.setShortcut("Ctrl+B")
        self.addAction(self.shortCutAction)

        self.createScoreLabel()
        self.createMenuWidget()
        self.createLevelWidget()
        self.createEndBox()

    def createMenuWidget(self):
        self.menuWidget = QWidget()
        layout = QHBoxLayout()
        scene = QGraphicsScene()
        pen = QPen(self.color)
        pen.setWidth(3)
        unit = 3.5
        line1 = QGraphicsLineItem(1 * unit, 7 * unit, 1 * unit, 3 * unit)
        line2 = QGraphicsLineItem(1 * unit, 7 * unit, 3 * unit, 7 * unit)
        line3 = QGraphicsLineItem(3 * unit, 7 * unit, 3 * unit, 4 * unit)
        line4 = QGraphicsLineItem(3 * unit, 4 * unit, 5 * unit, 4 * unit)
        line5 = QGraphicsLineItem(5 * unit, 4 * unit, 5 * unit, 7 * unit)
        line6 = QGraphicsLineItem(5 * unit, 7 * unit, 7 * unit, 7 * unit)
        line7 = QGraphicsLineItem(7 * unit, 7 * unit, 7 * unit, 3 * unit)
        line8 = QGraphicsLineItem(0.25 * unit, 3.75 * unit, 4 * unit, 0 * unit)
        line9 = QGraphicsLineItem(4 * unit, 0 * unit, 7.75 * unit, 3.75 * unit)
        line1.setPen(pen)
        line2.setPen(pen)
        line3.setPen(pen)
        line4.setPen(pen)
        line5.setPen(pen)
        line6.setPen(pen)
        line7.setPen(pen)
        line8.setPen(pen)
        line9.setPen(pen)
        scene.addItem(line1)
        scene.addItem(line2)
        scene.addItem(line3)
        scene.addItem(line4)
        scene.addItem(line5)
        scene.addItem(line6)
        scene.addItem(line7)
        scene.addItem(line8)
        scene.addItem(line9)
        scene.setSceneRect(0.25 * unit, unit, 7.5 * unit, 7 * unit)
        view = QGraphicsView(scene)
        layout.addWidget(view)
        self.menuWidget.setStyleSheet("border: 0px")
        self.menuWidget.setLayout(layout)
        self.menuWidget.setFixedSize(60, 60)

    def createLevelWidget(self):
        self.levelWidget = QWidget()
        layout = QHBoxLayout()
        scene = QGraphicsScene()
        pen = QPen(self.color)
        for i in range(3):
            for j in range(3):
                square = QGraphicsRectItem(i * 10, j * 10, 5, 5)
                square.setBrush(self.color)
                square.setPen(pen)
                scene.addItem(square)
        view = QGraphicsView(scene)
        layout.addWidget(view)
        self.levelWidget.setStyleSheet("border: 0px; background: #F2F3F4")
        self.levelWidget.setLayout(layout)
        self.levelWidget.setFixedSize(50, 50)


    def createScoreLabel(self):
        palette = QPalette()
        palette.setColor(QPalette.Foreground, QColor(24, 106, 59))
        self.scoreLabel = QLabel("Score : " + str(self.controller.level.score))
        self.scoreLabel.setFixedSize(165, 25)
        self.scoreLabel.setAutoFillBackground(True)
        self.scoreLabel.setFont(QFont("Arial", 20))
        self.scoreLabel.setPalette(palette)
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ class Menu:
        self.window = MyWindow(None)
        self.window.setMinimumSize(1000, 500)
        self.window.setCentralWidget(QWidget())
        self.window.centralWidget().setStyleSheet("background: #F2F3F4")
        self.gameButtons = []
        self.centralLayout = QHBoxLayout(self.window.centralWidget())
        self.paramWindow(1200, 600, "Bijamacc")
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ class MenuWidget(QWidget):

        self.createMenuView()

        self.setStyleSheet("background: white")
        self.layout.addWidget(self.menuView)
        self.setLayout(self.layout)

+7 −6
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ class PlanarTreeToDyckWordGui(LevelGui):

    def createDyckWordGroupBox(self):
        self.dyckWordGroupBox = QGroupBox()
        self.dyckWordGroupBox.setStyleSheet("background: white; border: 1px")
        self.globalDyckWordLayout = QVBoxLayout()
        self.dyckWordLayout = QHBoxLayout()
        self.globalDyckWordLayout.addLayout(self.dyckWordLayout, 1)
@@ -58,27 +59,27 @@ class PlanarTreeToDyckWordGui(LevelGui):
        font = QFont("Arial", fontSize)
        if self.indexHole == 1:
            self.answer1 = QLineEdit()
            self.answer1.setStyleSheet("border: 0px")
            self.answer1.setStyleSheet("border: 3px solid black")
            self.answer1.setPlaceholderText(hole)
            self.answer1.setFont(font)
            self.answer1.setFixedWidth(3 + len(hole) * fontSize)
            self.answer1.setFixedWidth(6 + len(hole) * fontSize)
            self.answer1.setMaxLength(len(hole))
            self.dyckWordLayout.addWidget(self.answer1)
        elif self.indexHole == 2:
            self.answer2 = QLineEdit()
            self.answer2.setStyleSheet("border: 0px")
            self.answer2.setStyleSheet("border: 3px solid black")
            self.answer2.setPlaceholderText(hole)
            self.answer2.setFont(font)
            self.answer2.setMaxLength(len(hole))
            self.answer2.setMaximumWidth(3 + len(hole) * fontSize)
            self.answer2.setMaximumWidth(6 + len(hole) * fontSize)
            self.dyckWordLayout.addWidget(self.answer2)
        else:
            self.answer3 = QLineEdit()
            self.answer3.setStyleSheet("border: 0px")
            self.answer3.setStyleSheet("border: 3px solid black")
            self.answer3.setPlaceholderText(hole)
            self.answer3.setMaxLength(len(hole))
            self.answer3.setFont(font)
            self.answer3.setMaximumWidth(3 + len(hole) * fontSize)
            self.answer3.setMaximumWidth(6 + len(hole) * fontSize)
            self.dyckWordLayout.addWidget(self.answer3)

    def createButtons(self):
Loading