]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/jamshred/game/game.factor
factor: trim using lists
[factor.git] / extra / jamshred / game / game.factor
index e187d26a177678619e548513dab6f7d814dc047c..c54a1973bd61bffb9c5c18ba13e33c3f4cee2813 100644 (file)
@@ -1,13 +1,14 @@
-! Copyright (C) 2007 Alex Chapman
+! Copyright (C) 2007, 2008 Alex Chapman
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel opengl arrays sequences jamshred.log jamshred.player jamshred.tunnel math.vectors ;
+USING: accessors arrays jamshred.player jamshred.sound
+jamshred.tunnel kernel math math.constants sequences ;
 IN: jamshred.game
 
-TUPLE: jamshred tunnel players running quit ;
+TUPLE: jamshred sounds tunnel players running quit ;
 
 : <jamshred> ( -- jamshred )
-    <random-tunnel> "Player 1" <player> 2dup swap play-in-tunnel 1array f f
-    jamshred boa ;
+    <sounds> <random-tunnel> "Player 1" pick <player>
+    2dup swap play-in-tunnel 1array f f jamshred boa ;
 
 : jamshred-player ( jamshred -- player )
     ! TODO: support more than one player
@@ -29,3 +30,12 @@ TUPLE: jamshred tunnel players running quit ;
 : mouse-moved ( x-radians y-radians jamshred -- )
     jamshred-player -rot turn-player ;
 
+CONSTANT: units-per-full-roll 50
+
+: jamshred-roll ( jamshred n -- )
+    [ jamshred-player ] dip 2 pi * * units-per-full-roll / roll-player ;
+
+: mouse-scroll-x ( jamshred x -- ) jamshred-roll ;
+
+: mouse-scroll-y ( jamshred y -- )
+    neg swap jamshred-player change-player-speed ;