X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=gacela_tetris.lisp;h=ef56ed2faaa53c406bdd4c9e08729fb822cce762;hb=725dbc52d30cf457f98fa4e0e5bf1051da09d1b9;hp=4d83b70f3b69af0076aefc4b53078dd7899a32c0;hpb=678a1561ca858c34fecf04792831caf68559c2ac;p=gacela.git diff --git a/gacela_tetris.lisp b/gacela_tetris.lisp index 4d83b70..ef56ed2 100644 --- a/gacela_tetris.lisp +++ b/gacela_tetris.lisp @@ -1,6 +1,6 @@ (in-package :gacela) -(setq *zoom* -50) +(set-frames-per-second 15) (defun tetramine-i () (let ((color '(1 0 0))) @@ -48,13 +48,13 @@ (defun draw-cell (cell) (cond ((null cell) nil) - (t (draw-color cell) (draw-square :size 0.9)))) + (t (with-color cell (draw-square :size 20))))) (defun draw-row (row) - (mapcar (lambda (cell) (draw-cell cell) (translate 2 0)) row)) + (mapcar (lambda (cell) (draw-cell cell) (translate 23 0)) row)) (defun draw-grid (grid) - (mapcar (lambda (row) (draw-row row) (translate (* -2 (length row)) -2)) grid)) + (mapcar (lambda (row) (draw-row row) (translate (* -23 (length row)) -23)) grid)) (defun join-rows (source destination &optional (offset 0)) (cond ((null source) destination) @@ -103,7 +103,8 @@ (next (random-tetramine)) (timer (make-timer)) (grid (make-list 20 :initial-element (make-list 14))) - (texture (load-texture "fondo_tetris.png"))) + (background (draw-image-function "fondo_tetris.png")) + (font (open-font "lazy.ttf"))) (defun tetramine () (cond ((eq (timer-state timer) 'stopped) (start-timer timer))) @@ -128,11 +129,17 @@ (setq tetramine next x 6 y 0) (setq next (random-tetramine))) (t (incf y) (start-timer timer))))) - - (draw-square :size 1 :texture texture) - (translate -25 19) + (funcall background) + (translate -288 218) (draw-grid (join-grids tetramine grid x y)) - (translate 40 40) - (draw-grid next))) - -(run-game "Gacela Tetris" (tetramine)) + (translate 440 440) + (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)))))