meta-cards work.

This commit is contained in:
C. Guy Yarvin 2014-05-26 14:16:17 -07:00
parent 53cd9e3a23
commit 3581f69eec
2 changed files with 5 additions and 8 deletions

View File

@ -28,7 +28,6 @@
|= wab=(list blit) |= wab=(list blit)
^+ +> ^+ +>
?~ wab +> ?~ wab +>
:: +>(mos [[hen [%give %meta !>(`_[p=_@tas q=_*]`[%blit (flop wab)])]] mos])
+>(mos [[hen [%give %blit (flop wab)]] mos]) +>(mos [[hen [%give %blit (flop wab)]] mos])
:: ::
++ wod :: word forward ++ wod :: word forward

View File

@ -8870,18 +8870,14 @@
?. (sunk p.mex) :: a card is a cell ?. (sunk p.mex) :: a card is a cell
~& %song-a !! ~& %song-a !!
?. ?=(%meta -.q.mex) [%& mex] :: ordinary card ?. ?=(%meta -.q.mex) [%& mex] :: ordinary card
~& %song-meta
=+ tiv=(slot 3 mex) :: tiv: vase of vase =+ tiv=(slot 3 mex) :: tiv: vase of vase
?. (sunk p.tiv) :: a vase is a cell ?. (sunk p.tiv) :: a vase is a cell
~& (,@tas -.p.tiv)
~& p.tiv
~& %song-b !! ~& %song-b !!
?. (souk -:!>(*type) p:(slot 2 tiv)) :: vase head is type ?. (souk -:!>(*type) p:(slot 2 tiv)) :: vase head is type
~& %song-c !! :: ~& %song-c !! ::
=+ mut=(,[p=* q=*] q.tiv) :: card type, value =+ mut=(,[p=* q=*] q.tiv) :: card type, value
:- %| :: metacard :- %| :: metacard
|- ^- [p=* q=*] :: |- ^- [p=* q=*] ::
~& %song-meta-loop ::
?. ?=([%meta p=* q=[p=* q=*]] q.mut) mut :: ordinary metacard ?. ?=([%meta p=* q=[p=* q=*]] q.mut) mut :: ordinary metacard
?. (sike -:!>([%meta vase]) p.mut) :: meta-metacard ?. (sike -:!>([%meta vase]) p.mut) :: meta-metacard
~& %song-d !! :: ~& %song-d !! ::
@ -8902,16 +8898,18 @@
[%call p=@tas q=* r=[p=@tas q=*]] [%call p=@tas q=* r=[p=@tas q=*]]
:^ %call (need ((sand %tas) ((hard ,@) p.q.caq))) :^ %call (need ((sand %tas) ((hard ,@) p.q.caq)))
((hard path) q.q.caq) ((hard path) q.q.caq)
(song (slot 15 caq)) (song (spec (slot 15 caq)))
:: ::
[%give p=[p=@tas q=*]] [%give p=[p=@tas q=*]]
[%give (song (slot 3 caq))] [%give (song (spec (slot 3 caq)))]
:: ::
[%sick p=[p=@tas q=*]] [%sick p=[p=@tas q=*]]
[%sick (song (slot 3 caq))] [%sick (song (slot 3 caq))]
:: ::
[%slip p=@tas q=[p=@tas q=*]] [%slip p=@tas q=[p=@tas q=*]]
[%slip (need ((sand %tas) ((hard ,@) p.q.caq))) (song (slot 7 caq))] :+ %slip
(need ((sand %tas) ((hard ,@) p.q.caq)))
(song (spec (slot 7 caq)))
== ==
:: ::
++ said ++ said