start level 3, add Gord
This commit is contained in:
parent
bee7922a9f
commit
555785db1d
BIN
entity.jim
BIN
entity.jim
Binary file not shown.
10
entity.jor
10
entity.jor
|
@ -80,8 +80,8 @@ var entity-defstate
|
|||
: frame ( s n e w ) b, b, b, b, ;
|
||||
array frames
|
||||
( 0: car ) 3 1 0 2 frame
|
||||
( 1: pete stand ) 11 9 7 5 frame
|
||||
( 2: pete walk ) 12 10 8 6 frame
|
||||
( 1: gord stand ) 5 7 9 11 frame
|
||||
( 2: gord walk ) 6 8 10 12 frame
|
||||
( 3: mary stand ) 17 20 22 24 frame
|
||||
( 4: mary walk ) 19 21 23 25 frame
|
||||
( 5: car lights ) 29 27 26 28 frame
|
||||
|
@ -106,10 +106,10 @@ array frames
|
|||
does> ( dir a -- ) swap drop lookup-frame ;
|
||||
|
||||
-1 defsingle {blank}
|
||||
0 defstatic {car}
|
||||
0 defsingle {gord-sit}
|
||||
5 defstatic {car-lit}
|
||||
1 defstatic {pete-stand}
|
||||
1 2 2 5 defanim {pete-walk}
|
||||
1 defstatic {gord-stand}
|
||||
1 2 2 5 defanim {gord-walk}
|
||||
13 defsingle {pete-table}
|
||||
14 defsingle {chair}
|
||||
15 defsingle {pete-bed}
|
||||
|
|
BIN
footer.jim
BIN
footer.jim
Binary file not shown.
|
@ -109,6 +109,7 @@ var cchoose
|
|||
|
||||
0 LGREEN character neut userword
|
||||
3 LBLUE character jaye userword
|
||||
5 CYAN character gord userword
|
||||
|
||||
: noone WHITE text-color ! s" " dup dup dup
|
||||
8 portraity 16 portraity 24 portraity 32 portraity ; userword
|
||||
|
|
15
game.jor
15
game.jor
|
@ -1,7 +1,3 @@
|
|||
var MODE-MOVE
|
||||
var MODE-WAIT
|
||||
|
||||
|
||||
( T I C K )
|
||||
defer party
|
||||
defer entities
|
||||
|
@ -151,9 +147,6 @@ var q-level
|
|||
party each follow more
|
||||
else drop then ;
|
||||
|
||||
' mode-move MODE-MOVE !
|
||||
' tick-debounce MODE-WAIT !
|
||||
|
||||
: draw-entity
|
||||
>r r@ entity.x @ r@ entity.y @
|
||||
r@ entity.dir @ <r entity>sprite
|
||||
|
@ -288,6 +281,8 @@ does> @ objects ! ;
|
|||
dup SCAN-ON SCAN-OFF handle-onoff
|
||||
SCAN-ON handle-link |; listener! ;
|
||||
|
||||
0 const unconnected
|
||||
|
||||
( usage: entity :noname [ ev -- ev ] ... chain-listener ;
|
||||
ONLY works with :noname at top-level interpretation time - not :| |;
|
||||
compiles a reference to the previous listener into the :noname func
|
||||
|
@ -297,9 +292,9 @@ does> @ objects ! ;
|
|||
|
||||
:noname
|
||||
reset-level
|
||||
MODE-MOVE @ ' tick redefine
|
||||
' mode-move ' tick redefine
|
||||
' full-draw ' draw redefine
|
||||
:| pjaye yield done |; ' party redefine
|
||||
:| MODE-WAIT @ ' tick redefine |; ' any-job-started redefine
|
||||
:| MODE-MOVE @ ' tick redefine hide-footer |; ' all-jobs-complete redefine
|
||||
:| ' tick-debounce ' tick redefine |; ' any-job-started redefine
|
||||
:| ' mode-move ' tick redefine hide-footer |; ' all-jobs-complete redefine
|
||||
; ' onload redefine
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
: blah ' seremit task-emit ! ;
|
||||
blah
|
||||
|
||||
0 const DEV
|
||||
1 const DEV
|
||||
|
||||
s" game.log" open seekend fdeactivate const LOGFILE
|
||||
: emit-log ' fputc LOGFILE withfp ;
|
||||
|
@ -31,10 +31,11 @@ s" game.jor" loadfile
|
|||
|
||||
intern lev00001.jor
|
||||
intern lev00002.jor
|
||||
intern lev00003.jor
|
||||
intern end.jor
|
||||
|
||||
:noname loadfile ; checkpoint _loadlevel
|
||||
' _loadlevel ' loadlevel redefine
|
||||
|
||||
lev00001.jor loadlevel
|
||||
lev00003.jor loadlevel
|
||||
|
||||
|
|
BIN
lev00001.jim
BIN
lev00001.jim
Binary file not shown.
|
@ -16,7 +16,6 @@ objects: O
|
|||
end.jor 7 0 exitdoor dx
|
||||
' dx 6 0 scanner sx
|
||||
|
||||
: unconnected :| 0 |; ;
|
||||
defer c10 ' c10 5 1 computer cx
|
||||
' cx 5 4 computer _c10 ' _c10 ' c10 redefine
|
||||
defer c8 ' c8 11 4 computer c9
|
||||
|
|
BIN
lev00003.jim
Executable file
BIN
lev00003.jim
Executable file
Binary file not shown.
58
lev00003.jor
Executable file
58
lev00003.jor
Executable file
|
@ -0,0 +1,58 @@
|
|||
( L E V 0 0 0 0 3 )
|
||||
|
||||
objects: O
|
||||
|
||||
9 9 door d1
|
||||
' d1 7 7 switch b1
|
||||
' unconnected 5 7 computer c1
|
||||
|
||||
6 7 N ' {gord-sit} defentity Gord
|
||||
|
||||
: flicker c1 EVTOG entity>do 15 sleep ;
|
||||
|
||||
var gord-introduced
|
||||
c1 :noname
|
||||
dup EVTOUCH = isneut? and gord-introduced @ not and if
|
||||
1 gord-introduced !
|
||||
neut say" HUMAN PRESENCE\DETECTED"
|
||||
flicker flicker flicker flicker
|
||||
neut say" > HUMAN ASSISTANCE IS\REQUIRED"
|
||||
neut say" > IF HUMAN IS PRESENT\PLEASE RESPOND"
|
||||
day
|
||||
flicker flicker flicker flicker
|
||||
gord say" What the..."
|
||||
gord say" Is someone in the terminal?"
|
||||
gord say" > HUMAN IS PRESENT"
|
||||
night
|
||||
neut say" > GREETINGS, HUMAN"
|
||||
neut say" > THIS IS NEUT v0.71.4rc12"
|
||||
neut say" > PLEASE STATE NAME AND\STATUS"
|
||||
day
|
||||
gord say" > THIS IS GORD"
|
||||
gord say" v1, I guess."
|
||||
gord say" > LEG IS PINNED UNDER DESK\UNABLE TO MOVE"
|
||||
night
|
||||
neut say" > CAN YOU REACH THE SWITCH\BEHIND YOU?"
|
||||
day
|
||||
gord say" Huh? Oh, there is a\switch there on the wall."
|
||||
gord say" Never thought about what\it connected to."
|
||||
b1 EVACT entity>do 15 sleep
|
||||
gord say" > I TURNED IT ON"
|
||||
night
|
||||
neut say" > MY PROGRAMMER THANKS\YOU, GORD"
|
||||
neut say" > WE WILL ASSIST YOU SOON"
|
||||
day
|
||||
gord say" > AWAITING YOUR HELP, NEUT"
|
||||
night
|
||||
then chain-listener ;
|
||||
|
||||
:noname
|
||||
reset-level O
|
||||
|
||||
:| Gord yield done |; ' entities redefine
|
||||
|
||||
s" lev00003.map" load-map
|
||||
7 11 tile>world pjaye entity.pos!
|
||||
6 12 tile>world pneut entity.pos!
|
||||
|
||||
; ' onload redefine
|
BIN
lev00003.map
Executable file
BIN
lev00003.map
Executable file
Binary file not shown.
BIN
portrait.gfx
BIN
portrait.gfx
Binary file not shown.
BIN
sprite.gfx
BIN
sprite.gfx
Binary file not shown.
Loading…
Reference in a new issue