[squeak-dev] The Trunk: EToys-kfr.487.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jan 11 14:40:58 UTC 2023
Marcel Taeumel uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-kfr.487.mcz
==================== Summary ====================
Name: EToys-kfr.487
Author: kfr
Time: 14 December 2022, 4:52:54.725958 pm
UUID: 9e4ab847-85fd-dc47-a79a-e6f6388e33e2
Ancestors: EToys-ct.486
MineGame scale to HD Display
=============== Diff against EToys-ct.486 ===============
Item was changed:
----- Method: Mines>>defaultBorderWidth (in category 'initialization') -----
defaultBorderWidth
"answer the default border width for the receiver"
+ ^ 2 px!
- ^ 2!
Item was changed:
----- Method: Mines>>initialize (in category 'initialization') -----
initialize
"initialize the state of the receiver"
super initialize.
level := 1.
self listDirection: #topToBottom;
wrapCentering: #center;
cellPositioning: #topCenter;
vResizing: #shrinkWrap;
hResizing: #shrinkWrap;
+ layoutInset: 3 px;
- layoutInset: 3;
addMorph: self makeControls;
addMorph: self board.
helpText := nil.
self newGame!
Item was changed:
----- Method: Mines>>makeControls (in category 'initialize') -----
makeControls
| row |
row := AlignmentMorph newRow color: color;
+ borderWidth: 2 px;
+ layoutInset: 3 px.
- borderWidth: 2;
- layoutInset: 3.
row borderStyle: BorderStyle inset.
row hResizing: #spaceFill;
vResizing: #shrinkWrap;
wrapCentering: #center;
cellPositioning: #leftCenter;
+ extent: 5 px @ 5 px.
- extent: 5 @ 5.
row
addMorph: (self
buildButton: SimpleSwitchMorph new
target: self
label: ' Help ' translated
selector: #help:).
row
addMorph: (self
buildButton: (levelButton := SimpleButtonMorph new)
target: self
label: level asString translated
selector: #nextLevel).
row
addMorph: (self
buildButton: SimpleButtonMorph new
target: self
label: ' Quit ' translated
selector: #delete).
"row
addMorph: (self
buildButton: SimpleButtonMorph new
target: self
label: ' Hint ' translated
selector: #hint)."
row
addMorph: (self
buildButton: SimpleButtonMorph new
target: self
label: ' New game ' translated
selector: #newGame).
minesDisplay := LedMorph new digits: 2;
+ extent: 2 * 10 px @ 15 px.
- extent: 2 * 10 @ 15.
row
addMorph: (self wrapPanel: minesDisplay label: 'Mines:' translated).
+ timeDisplay := LedTimerMorph new digits: 3; extent: 3 * 10 px @ 15 px.
- timeDisplay := LedTimerMorph new digits: 3; extent: 3 * 10 @ 15.
row
addMorph: (self wrapPanel: timeDisplay label: 'Time:' translated).
+ hiScoreDisplay := LedMorph new digits: 3; extent: 3 * 10 px@ 15 px.
- hiScoreDisplay := LedMorph new digits: 3; extent: 3 * 10 @ 15.
row
addMorph: (self wrapPanel: hiScoreDisplay label: 'Hi Score:' translated).
^ row!
Item was changed:
----- Method: Mines>>wrapPanel:label: (in category 'initialize') -----
wrapPanel: anLedPanel label: aLabel
"wrap an LED panel in an alignmentMorph with a label to its left"
| a |
a := AlignmentMorph newRow
wrapCentering: #center; cellPositioning: #leftCenter;
hResizing: #shrinkWrap;
vResizing: #shrinkWrap;
borderWidth: 0;
+ layoutInset: 3 px;
- layoutInset: 3;
color: color lighter.
a addMorph: anLedPanel.
a addMorph: (StringMorph contents: aLabel).
^ a
!
Item was changed:
----- Method: MinesBoard>>defaultBorderWidth (in category 'initialization') -----
defaultBorderWidth
"answer the default border width for the receiver"
+ ^ 2 px!
- ^ 2!
Item was changed:
----- Method: MinesTile>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
"Draw a rectangle with a solid, inset, or raised border.
Note: the raised border color *and* the inset border color are generated
from the receiver's own color, instead of having the inset border color
generated from the owner's color, as in BorderedMorph."
| font rct |
super drawOn: aCanvas.
self borderStyle style == #inset ifTrue: [
self isMine ifTrue: [
+ font := StrikeFont familyName: 'Atlanta' size: 22 px emphasized: 1.
+ rct := self bounds insetBy: ((self bounds width) - (font widthOfString: '*'))/2 @0.
- font := StrikeFont familyName: 'Atlanta' size: 22 emphasized: 1.
- rct := self bounds insetBy: ((self bounds width) - (font widthOfString: '*'))/2 at 0.
rct := rct top: rct top + 1.
aCanvas drawString: '*' in: (rct translateBy: 1 at 1) font: font color: Color black.
^ aCanvas drawString: '*' in: rct font: font color: Color red .].
self nearMines > 0 ifTrue: [
+ font := StrikeFont familyName: 'ComicBold' size: 22 px emphasized: 1.
+ rct := self bounds insetBy: ((self bounds width) - (font widthOfString: nearMines asString))/2 @0.
- font := StrikeFont familyName: 'ComicBold' size: 22 emphasized: 1.
- rct := self bounds insetBy: ((self bounds width) - (font widthOfString: nearMines asString))/2 at 0.
rct := rct top: rct top + 1.
aCanvas drawString: nearMines asString in: (rct translateBy: 1 at 1) font: font color: Color black.
^ aCanvas drawString: nearMines asString in: rct font: font color: ((palette at: nearMines) ) .]].!
Item was changed:
----- Method: MinesTile>>initialize (in category 'initialization') -----
initialize
super initialize.
self label: ''.
+ self borderWidth: 3 px.
+ bounds := 0 at 0 corner: 20 px at 20 px.
- self borderWidth: 3.
- bounds := 0 at 0 corner: 20 at 20.
offColor := self preferredColor.
onColor := self preferredColor.
switchState := false.
oldSwitchState := false.
disabled := false.
isMine := false.
nearMines := 0.
self useSquareCorners.
palette := (Color wheel: 8) asOrderedCollection reverse.
" flashColor := palette removeLast."
!
More information about the Squeak-dev
mailing list
|