]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/jamshred/player/player.factor
factor: trim using lists
[factor.git] / extra / jamshred / player / player.factor
index 6982af63f6f2415172897b28a4270505d128b9f1..2a8f706df3739dc62242c271d1f4810dfaa7735b 100644 (file)
@@ -1,9 +1,10 @@
 ! Copyright (C) 2007, 2008 Alex Chapman
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors colors.constants combinators jamshred.log
-jamshred.oint jamshred.sound jamshred.tunnel kernel locals math
-math.constants math.order math.ranges math.vectors math.matrices
-sequences shuffle specialized-arrays strings system ;
+
+USING: accessors colors combinators jamshred.oint
+jamshred.sound jamshred.tunnel kernel math math.order
+math.vectors ranges sequences specialized-arrays
+specialized-arrays.instances.alien.c-types.float strings system ;
 QUALIFIED-WITH: alien.c-types c
 SPECIALIZED-ARRAY: c:float
 IN: jamshred.player
@@ -25,7 +26,7 @@ CONSTANT: max-speed 30.0
     f f 0 default-speed player boa ;
 
 : turn-player ( player x-radians y-radians -- )
-    [ over ] dip left-pivot up-pivot ;
+    overd left-pivot up-pivot ;
 
 : roll-player ( player z-radians -- )
     forward-pivot ;
@@ -39,18 +40,18 @@ CONSTANT: max-speed 30.0
     >>tunnel to-tunnel-start ;
 
 : update-time ( player -- seconds-passed )
-    millis swap [ last-move>> - 1000 / ] [ (>>last-move) ] 2bi ;
+    nano-count swap [ last-move>> - 1,000,000,000 / ] [ last-move<< ] 2bi ;
 
-: moved ( player -- ) millis swap (>>last-move) ;
+: moved ( player -- ) nano-count swap last-move<< ;
 
 : speed-range ( -- range )
-    max-speed [0,b] ;
+    max-speed [0..b] ;
 
 : change-player-speed ( inc player -- )
     [ + 0 max-speed clamp ] change-speed drop ;
 
 : multiply-player-speed ( n player -- )
-    [ * 0 max-speed clamp ] change-speed drop ; 
+    [ * 0 max-speed clamp ] change-speed drop ;
 
 : distance-to-move ( seconds-passed player -- distance )
     speed>> * ;
@@ -92,7 +93,7 @@ CONSTANT: max-speed 30.0
 : update-nearest-segment2 ( heading player -- )
     2dup distance-to-heading-segment-area 0 <= [
         [ tunnel>> ] [ nearest-segment>> rot heading-segment ]
-        [ (>>nearest-segment) ] tri
+        [ nearest-segment<< ] tri
     ] [
         2drop
     ] if ;
@@ -130,11 +131,10 @@ CONSTANT: max-speed 30.0
     ?move-player-freely over 0 > [
         ! bounce
         drag-player
-        (move-player)
     ] when ;
 
 : move-player ( player -- )
     [ update-time ] [ distance-to-move ] [ (move-player) 2drop ] tri ;
 
 : update-player ( player -- )
-    [ move-player ] [ nearest-segment>> "white" named-color swap (>>color) ] bi ;
+    [ move-player ] [ nearest-segment>> COLOR: white swap color<< ] bi ;