44 lines
1.4 KiB
Plaintext
44 lines
1.4 KiB
Plaintext
(set screen-width 800)
|
|
(set screen-height 450)
|
|
(set username (get argv 1))
|
|
(set password (get argv 2))
|
|
(set me (make :player username (0.0 1.0 2.0) PURPLE))
|
|
(set players (login me))
|
|
(set camera (make :camera (me.pos.x (add me.pos.y 10.0) (add me.pos.z 10.0))
|
|
(me.pos.x me.pos.y me.pos.z)
|
|
(0.0 1.0 0.0)
|
|
45.0
|
|
CAMERA-PERSPECTIVE))
|
|
|
|
(init-window screen-width screen-height "lisp-ish client : raylib")
|
|
(set-target-fps 60)
|
|
|
|
(using-window
|
|
(while (not (window-should-close))
|
|
(case
|
|
(is-key-down KEY-RIGHT (
|
|
(inc me.pos.x 0.2)
|
|
(set player-updated t)))
|
|
(is-key-down KEY-LEFT (
|
|
(dec me.pos.x 0.2)
|
|
(set player-updated t)))
|
|
(is-key-down KEY-DOWN (
|
|
(inc me.pos.z 0.2)
|
|
(set player-updated t)))
|
|
(is-key-down KEY-UP (
|
|
(dec me.pos.z 0.2)
|
|
(set player-updated t))))
|
|
|
|
(sync-camera me camera)
|
|
(choose (player-updated)
|
|
(set players (move me))
|
|
(set players (ping me)))
|
|
|
|
(begin-drawing (
|
|
(clear-background RAYWHITE)
|
|
(begin-mode-3d camera (
|
|
(draw-grid 30 1.0)
|
|
(draw-cube me.pos 0.5 0.5 0.5 me.apperance)
|
|
(for-each (player) players (
|
|
(draw-cube player.pos 0.5 0.5 0.5 player.apperance)))))))))
|