(in-package :gacela)
+(set-frames-per-second 15)
+
(defun tetramine-i ()
(let ((color '(1 0 0)))
`((,color ,color ,color ,color))))
(defun draw-cell (cell)
(cond ((null cell) nil)
- (t (draw-color cell) (draw-square :size 20))))
+ (t (with-color cell (draw-square :size 20)))))
(defun draw-row (row)
(mapcar (lambda (cell) (draw-cell cell) (translate 23 0)) row))
(let ((tetramine (random-tetramine)) (x 6) (y 0)
(next (random-tetramine))
(timer (make-timer))
- (grid (make-list 20 :initial-element (make-list 14))) ;320x460
- (background (draw-image-function "fondo_tetris.png")))
+ (grid (make-list 20 :initial-element (make-list 14)))
+ (background (draw-image-function "fondo_tetris.png"))
+ (font (open-font "lazy.ttf")))
(defun tetramine ()
(cond ((eq (timer-state timer) 'stopped) (start-timer timer)))
(setq tetramine next x 6 y 0)
(setq next (random-tetramine)))
(t (incf y) (start-timer timer)))))
-
(funcall background)
(translate -288 218)
(draw-grid (join-grids tetramine grid x y))
(translate 440 440)
- (draw-grid next)))
-
-(run-game "Gacela Tetris" (tetramine))
+ (draw-grid next)
+ (render-text "Hola" font)))
+
+(let ((frame 0.0) (fps (make-timer)) (update (make-timer)))
+ (start-timer update)
+ (start-timer fps)
+ (run-game "Gacela Tetris"
+ (tetramine)
+ (incf frame)
+ (cond ((> (get-time update) 1000) (print (/ frame (/ (get-time fps) 1000.0))) (start-timer update)))))