Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Théo BOUTEMY
siam
Commits
3f005f13
Commit
3f005f13
authored
May 05, 2021
by
Pauline LEYRIT
Browse files
oui
parent
2a67812a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Monappli.py
0 → 100644
View file @
3f005f13
""
import
sys
from
PyQt5
import
QtGui
,
QtCore
,
QtWidgets
,
uic
from
interface
import
Ui_Siam
from
pieces
import
Piece
from
table_de_jeu
import
Plateau
# l'approche par héritage simple de la classe QMainWindow (même type de notre fenêtre
# créée avec QT Designer. Nous configurons après l'interface utilisateur
# dans le constructeur (la méthode init()) de notre classe
class
MonAppli
(
QtWidgets
.
QMainWindow
):
def
__init__
(
self
):
super
().
__init__
()
self
.
ui
=
Ui_Siam
()
self
.
ui
.
setupUi
(
self
)
self
.
painter
=
QtGui
.
QPainter
()
self
.
ui
.
plateau
.
paintEvent
=
self
.
drawPlateau
# "dessine_moi" se traduit par paintEvent
self
.
ui
.
bouton_pousser
.
clicked
.
connect
(
self
.
pousser
)
self
.
ui
.
bouton_entrer
.
clicked
.
connect
(
self
.
entrer
)
self
.
ui
.
bouton_entrerp
.
clicked
.
connect
(
self
.
entrer_en_poussant
)
self
.
ui
.
bouton_tourner
.
clicked
.
connect
(
self
.
changement_orientation
)
self
.
ui
.
bouton_sortit
.
clicked
.
connect
(
self
.
sortir
)
self
.
ui
.
bouton_deplacer
.
clicked
.
connect
(
self
.
changement_position
)
self
.
jeux
=
Plateau
(
xmax
=
self
.
ui
.
plateau
.
width
(),
ymax
=
self
.
ui
.
plateau
.
height
(),
nb_montagne
=
3
,
joueur1
=
'Theo'
,
joueur2
=
'Pauline'
)
pixmap
=
QtGui
.
QPixmap
(
"plateau.jpg"
)
pal
=
QtGui
.
QPalette
()
pal
.
setBrush
(
QtGui
.
QPalette
.
Background
,
QtGui
.
QBrush
(
pixmap
))
self
.
ui
.
plateau
.
lower
()
self
.
ui
.
plateau
.
stackUnder
(
self
)
self
.
ui
.
plateau
.
setAutoFillBackground
(
True
)
self
.
ui
.
plateau
.
setPalette
(
pal
)
def
pousser
(
self
):
print
(
"je pousse"
)
self
.
ui
.
plateau
.
update
()
# la méthode update génère l'évènement paintEvent qui lui-même appelle la méthode draw_ecosys
self
.
jeux
.
jouer
()
# self.jeux.unTour()
def
entrer
(
self
):
print
(
"j'entre"
)
self
.
ui
.
plateau
.
update
()
self
.
jeux
.
unTour
()
def
entrer_en_poussant
(
self
):
print
(
"j'entre en poussant"
)
self
.
ui
.
plateau
.
update
()
self
.
jeux
.
unTour
()
def
changement_orientation
(
self
):
print
(
"je tourne"
)
self
.
ui
.
plateau
.
update
()
self
.
plateau
.
unTour
()
def
sortir
(
self
):
print
(
"je sors"
)
self
.
ui
.
plateau
.
update
()
self
.
plateau
.
unTour
()
def
changement_position
(
self
):
print
(
"je bouge"
)
self
.
ui
.
plateau
.
update
()
self
.
plateau
.
unTour
()
def
drawPlateau
(
self
,
*
args
):
# on informe le peintre qu'on veut dessiner dans le widget conteneur
self
.
painter
.
begin
(
self
.
ui
.
plateau
)
# variable intermédiraire pour alléger le code
qp
=
self
.
painter
# boucle pour parcourir les pions et gérer les images (vu ci-dessus)
for
pion
in
self
.
jeux
:
if
pion
.
car
()
==
'R'
:
qp
.
setPen
(
QtCore
.
Qt
.
red
)
# définir la couleur du pinceau
qp
.
drawEllipse
(
pion
.
abscisse
,
pion
.
ordonnee
,
5
,
5
)
else
:
qp
.
setPen
(
QtCore
.
Qt
.
green
)
qp
.
drawRect
(
pion
.
abscisse
,
pion
.
ordonnee
,
5
,
5
)
# on informe le peintre qu'on a fini
self
.
painter
.
end
()
# TO DO
# Chargement de votre fenetre ui.
if
__name__
==
"__main__"
:
app
=
QtWidgets
.
QApplication
(
sys
.
argv
)
window
=
MonAppli
()
window
.
show
()
app
.
exec_
()
test.py
View file @
3f005f13
def
test
():
a
=
int
(
input
(
'demander a '
))
print
(
a
+
1
)
import
unittest
import
math
import
numpy
as
np
from
tableau_de_jeu
import
*
from
piece
import
*
from
joueur
import
*
if
__name__
==
'__main__'
:
print
(
test
(
1
))
\ No newline at end of file
'''
'''
table_jeu1
=
Plateau
(
5
,
5
,
3
,
'theo'
,
'Pauline'
)
class
TestTableau_de_jeu
(
unittest
.
TestCase
):
def
test_init
(
self
):
self
.
assertEqual
(
table_jeu1
.
xmax
,
5
)
self
.
assertEqual
(
table_jeu1
.
ymax
,
5
)
self
.
assertEqual
(
table_jeu1
.
nb_montagne
,
3
)
self
.
assertIsInstance
(
table_jeu1
.
initialiserPlateau
().
ele
,
np
.
ndarray
)
# def test_initialiserPlateau(self):
# for k in range(1, 4):
# self.assertEqual(table_jeu1.initialiserPlateau().table_jeu[2, k].car(),
# 'R') # test: initialiserPlateau place bien les rochers au centre de la table
# self.assertEqual(jeu.orientation(0, 1, 'O'), None) # la case est vide
if
__name__
==
'__main__'
:
unittest
.
main
()
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment