-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.lua
84 lines (72 loc) · 2.77 KB
/
main.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
require "partie"
-- Callback Löve d'initialisation du jeu
function love.load()
-- globales pour l'affichage
LargeurEcran = 800
HauteurEcran = 800
MargeDessin = 30
-- globale de l'état du jeu
Etat = "menu" -- menu / solo / duo_local
-- création du plateau de jeu
MaPartie = InitialisePartie()
PetitePolice = love.graphics.newFont("Cabin-Regular.ttf",20)
MoyennePolice = love.graphics.newFont("Cabin-Regular.ttf",60)
GrandePolice = love.graphics.newFont("Cabin-Regular.ttf",100)
love.window.setMode(LargeurEcran, HauteurEcran)
love.window.setTitle("Othelöve")
end
-- Callback Löve de dessin
-- Note : il n'y a pas d'animation, on n'utilise pas la callback love.update
function love.draw()
if Etat=="menu" then
DessineMenu()
else
love.graphics.setFont(PetitePolice)
DessinePartie()
end
end
-- Callback Löve de relâché du clic gauche
function love.mousereleased( x, y, button, istouch, presses )
if Etat=="menu" then
if y>300 and y<300+BtnSoloB:getHeight() then
Etat = "soloB"
end
if y>400 and y<400+BtnSoloN:getHeight() then
Etat = "soloN"
end
if y>500 and y<500+BtnDuo:getHeight() then
Etat = "duo_local"
end
if y>700 and y<700+BtnQuitter:getHeight() then
love.event.quit( 0 )
end
else
OnMouseReleased(x, y, button, istouch, presses)
end
end
-- Callback Löve de déplacement de la souris
function love.mousemoved( x, y, dx, dy, istouch )
if Etat=="menu" then
else
OnMouseMoved(x, y, dx, dy, istouch)
end
end
function DessineMenu()
love.graphics.setFont(GrandePolice)
love.graphics.printf("Othelöve",MargeDessin,50,LargeurEcran-2*MargeDessin,"center")
love.graphics.setFont(PetitePolice)
love.graphics.printf("Un clone de Reversi en Löve/Lua",MargeDessin,150,LargeurEcran-2*MargeDessin,"center")
love.graphics.printf("version 1.0",MargeDessin,HauteurEcran-MargeDessin,LargeurEcran-2*MargeDessin,"right")
BtnSoloB = love.graphics.newText( MoyennePolice, "" )
BtnSoloB:addf("Partie en solo (jouer blancs)",LargeurEcran-2*MargeDessin,"center")
love.graphics.draw(BtnSoloB,MargeDessin,300)
BtnSoloN = love.graphics.newText( MoyennePolice, "" )
BtnSoloN:addf("Partie en solo (jouer noirs)",LargeurEcran-2*MargeDessin,"center")
love.graphics.draw(BtnSoloN,MargeDessin,400)
BtnDuo = love.graphics.newText( MoyennePolice, "" )
BtnDuo:addf("Deux joueurs (en local)",LargeurEcran-2*MargeDessin,"center")
love.graphics.draw(BtnDuo,MargeDessin,500)
BtnQuitter = love.graphics.newText( MoyennePolice, "" )
BtnQuitter:addf("Quitter",LargeurEcran-2*MargeDessin,"center")
love.graphics.draw(BtnQuitter,MargeDessin,700)
end