Salut tout le monde!
J'ai un petit projet d'étude qui consiste à programmer un jeu style Démineur de microsoft sur la plateforme pharo. Je suis débutant en Smalltalk et je voudrais bien être accro en ce langage. J'ai besoin de votre aide SVP.
Ce que j'ai déja fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 "Classe de cellule du jeu" SimpleSwitchMorph subclass: #CellulJeu instanceVariableNames: 'mouseAction' classVariableNames: '' poolDictionaries: '' category: 'Demineur' "classe de plateau du jeu" BorderedMorph subclass: #JeuDemineur instanceVariableNames: 'cells' classVariableNames: '' poolDictionaries: '' category: 'Demineur'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 CellulJeu>>initialize super initialize. self label:''. self borderWidth: 2. bounds:=0@0 corner: 30@30. offColor:=Color darkGray . onColor :=Color paleRed. self useSquareCorners. self turnOff JeuDemineur>>initialize "Initilisation et creation du tableau du jeu" |sampleCell width height n| super initialize. n:=self CellParCote."nombre de cellule par cote du plateau" sampleCell :=CellulJeu new. width:=sampleCell width . height :=sampleCell height. self bounds: (200@200 extent:((width *n)@(height *n))+(2*self borderWidth)). cells:=Matrix new:n tabulate: [:i :j|self newCellAt: i at: j] JeuDemineur>>newCellAt: i at: j |c origin| c:=CellulJeu new. origin:= self innerBounds origin. self addMorph:c. c position:((i-1)*c width)@((j-1)*c height)+origin. c mouseAction: [self ouverCellAt: i at: j]. ^c JeuDemineur>>ouverCellAt: i at: j (cells at:i at:j) toggleState "la cellule change seulement"
Partager