#lang racket (require 2htdp/image racket/runtime-path racket/gui) (provide (all-defined-out)) (struct configuration (sprite-size columns-count rows-count energy-bomb energy-fire energy-player energy-robot)) (define default-configuration (configuration 32 20 15 10 4 30 30)) (define-runtime-path sound-file "medias/explode.wav") (define-runtime-path grass-image-file "medias/grass.png") (define-runtime-path rock-image-file "medias/rock.png") (define-runtime-path brick-image-file "medias/brick.png") (define-runtime-path bomb1-image-file "medias/bomb1.png") (define-runtime-path bomb2-image-file "medias/bomb2.png") (define-runtime-path player-image-file "medias/player.png") (define-runtime-path robot-image-file "medias/robot.png") (define IMAGE-EMPTY (rectangle 0 0 'solid 'green)) (define IMAGE-GRASS (make-object image-snip% (make-object bitmap% grass-image-file 'png/mask))) (define IMAGE-ROCK (make-object image-snip% (make-object bitmap% rock-image-file 'png/mask))) (define IMAGE-BRICK (make-object image-snip% (make-object bitmap% brick-image-file 'png/mask))) (define IMAGES-BOMB (list (make-object image-snip% (make-object bitmap% bomb1-image-file 'png/mask)) (make-object image-snip% (make-object bitmap% bomb2-image-file 'png/mask)))) (define IMAGE-PLAYER (make-object image-snip% (make-object bitmap% player-image-file 'png/mask))) (define IMAGE-ROBOT (make-object image-snip% (make-object bitmap% robot-image-file 'png/mask)))