inkscape:connector-curvature="0" />
</g>
<g
- id="0sign-warning"
- transform="matrix(1.525334,-0.20537456,0.20537456,1.525334,99.174751,443.48013)"
+ id="0sign_warning"
+ transform="matrix(1.525334,-0.20537456,0.20537456,1.525334,99.174751,416.54677)"
inkscape:label="#g3997">
<path
- style="fill:#ac7905;fill-opacity:1;stroke:#000000;stroke-width:1.25000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ style="fill:#ac7905;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
d="m 17.598259,-420.73934 0,72.79425 -2.205794,1.22556 -3.256697,0.65967 -2.124193,-1.53194 -2.5837759,1.22555 -3.2525318,-0.90933 -2.7535111,-0.66951 0,-72.79425 2.7164414,1.0213 5.0654206,-2.34898 5.2696818,2.85962 z"
id="path3974"
inkscape:connector-curvature="0"
inkscape:connector-curvature="0"
id="rect3202"
d="m -89.373545,-452.72425 199.969995,0 3.38745,8.63727 -1.40278,10.32417 -4.20834,5.83528 3.36667,7.09778 -6.17223,7.09778 5.05001,8.02333 -199.969998,0 2.805558,-7.46222 -6.452784,-13.915 7.855564,-14.47612 z"
- style="fill:#ac7905;fill-opacity:1;stroke:#000000;stroke-width:1.25000000000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ style="fill:#ac7905;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<g
id="g4067">
<path
sodipodi:nodetypes="ssscs" />
</g>
<g
- id="0sign-cute"
+ id="0sign_cute"
transform="matrix(1.5327722,0.13939765,-0.13939765,1.5327722,-47.019003,386.37643)"
inkscape:label="#g4005">
<path
style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.87091571;stroke-opacity:1" />
</g>
<g
- id="0sign-hits"
+ id="0sign_hits"
transform="matrix(1.5390979,0,0,1.5390979,-6.5847589,444.36219)"
inkscape:label="#g4014">
<path
sodipodi:nodetypes="ssscs" />
</g>
<g
- id="00"
+ id="0n0"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3374">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="01"
+ id="0n1"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3378">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="02"
+ id="0n2"
transform="matrix(0.8473467,0,0,1,337.59724,400.73354)"
inkscape:label="#g3382">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="03"
+ id="0n3"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3386">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="04"
+ id="0n4"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3390">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="05"
+ id="0n5"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3394">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="06"
+ id="0n6"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3398">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="07"
+ id="0n7"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3402">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="08"
+ id="0n8"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3406">
<path
inkscape:connector-curvature="0" />
</g>
<g
- id="09"
+ id="0n9"
transform="translate(288.4488,400.73354)"
inkscape:label="#g3410">
<path
import mnit
+import drawing
+
class Hole
var game: Game
# Where all the UI stuff is done
class Screen
- var empty_img: Image
- var up_img: Image
- var hit_img: Image
- var trap_img: Image
- var numbers: NumberImages
-
- var sign_warning: Image
- var sign_cute: Image
- var sign_hits: Image
-
var game = new Game
- init (app: App)
- do
- empty_img = app.load_image("images/empty.png")
- up_img = app.load_image("images/up.png")
- hit_img = app.load_image("images/hit.png")
- trap_img = app.load_image("images/trap.png")
- numbers = app.load_numbers("images/#.png")
-
- sign_warning = app.load_image("images/sign-warning.png")
- sign_cute = app.load_image("images/sign-cute.png")
- sign_hits = app.load_image("images/sign-hits.png")
- end
-
fun do_frame(display: Display)
do
display.clear(0.1, 0.65, 0.2)
- sign_warning.scale = display_scale
- sign_cute.scale = display_scale
- sign_hits.scale = display_scale
- for img in numbers.imgs do img.scale = display_scale
+ app.assets.sign_warning.scale = display_scale
+ app.assets.sign_cute.scale = display_scale
+ app.assets.sign_hits.scale = display_scale
+ for img in app.numbers.imgs do img.scale = display_scale
- display.blit(sign_warning, (-120.0*display_scale).to_i, (-235.0*display_scale).to_i)
- display.blit(sign_cute, (540.0*display_scale).to_i, (-180.0*display_scale).to_i)
- display.blit(sign_hits, (1340.0*display_scale).to_i, (55.0*display_scale).to_i)
- display.blit_number(numbers, game.points, (1460.0*display_scale).to_i, (270.0*display_scale).to_i)
+ display.blit(app.assets.sign_warning, (0.0*display_scale).to_i, (0.0*display_scale).to_i)
+ display.blit(app.assets.sign_cute, (740.0*display_scale).to_i, (0.0*display_scale).to_i)
+ display.blit(app.assets.sign_hits, (1640.0*display_scale).to_i, (55.0*display_scale).to_i)
+ display.blit_number(app.numbers, game.points, (1720.0*display_scale).to_i, (170.0*display_scale).to_i)
for hole in game.holes do
# Hole
- var img = empty_img
- var dx = 512.0*display_scale
- var dy = 512.0*display_scale
+ var img = app.assets.empty
+ var dx = 300.0*display_scale
+ var dy = 256.0*display_scale
img.scale = display_scale
display.blit(img, hole.x-dx.to_i+display_offset_x, hole.y-dy.to_i+display_offset_y)
# Mole
var empty = false
if hole.hitted then
- img = hit_img
- dx = 256.0*display_scale
- dy = 417.0*display_scale
+ img = app.assets.hit
+ dx = 250.0*display_scale
+ dy = 512.0*display_scale
else if hole.up then
if hole.trap then
- img = trap_img
- dx = 512.0*display_scale
+ img = app.assets.trap
+ dx = 212.0*display_scale
dy = 830.0*display_scale
else
- img = up_img
- dx = 512.0*display_scale
- dy = 830.0*display_scale
+ img = app.assets.up
+ dx = 212.0*display_scale
+ dy = 820.0*display_scale
end
else empty = true
var screen: nullable Screen = null
+ # Image set generate by inkscape_tools
+ var assets = new DrawingImages
+
+ # Numbers to display the score
+ var numbers = new NumberImages(assets.n)
+
+ redef fun on_start
+ do
+ super
+ assets.load_all self
+ end
+
redef fun on_create
do
super
init_screen_and_game
end
- fun init_screen_and_game do screen = new Screen(self)
+ fun init_screen_and_game do screen = new Screen
redef fun frame_core(display)
do