>                   *       *              *               *      *       
>         *            *      *              *     *                 *   *
>       *           *             *      *      *               *      *  
>               *              *            *    *      *        *        
> *    ┏┓┏━┓╻ ╻┏━╸╻ ╻┏━┓┏━╸┏━┓   ┏━╸┏━╸╺┳╸┏━╸┏━┓      *              *   
>       ┃┃ ┃┗┳┛┣╸ ┃ ┃┗━┓┣╸ ┗━┓*  ┣╸ ┣╸  ┃ ┣╸ ┗━┓     *            *    *
>   * ┗━┛┗━┛ ╹ ┗━╸┗━┛┗━┛┗━╸┗━┛   ╹  ┗━╸ ╹ ┗━╸┗━┛      *              *    
>           *                  *    *            *               *        
>        *         *        *          *                *                 
> *   *         *     *            *   *                  *       *       
>   *            *                *     *                *   *     *     *
>                  *         *            *               *           *
> 
> I tried things based on [//] or @slide[4..*;4..*] = @msg but came
> nowhere.

I don't have that font installed, but managed to get the code below
to work.  I think it's hard to do just an assignment because you
do want a space to count as Nil in some sense --

     my $out = qx[figlet - Joyeuses fetes];
     my @grid = $out.lines.map: *.comb;

     my @background =
       ( flat map {
           flat (Nil xx (3 + 5.rand), "*") 
         }, 1..100 
       ).rotor: 90;

     sub composite($bg,$val) {
       return $val unless $bg;
       return $val if $bg eq ' ';
       return $bg // ' ';
     }

     for @background.kv -> $r, @v {
       for @v.kv -> $k, $v {
         print composite(@grid[$r][$k],$v) // ' ';
       }
       put '';
     }

which gave me

             *     _       *      *       *   *     *      * __  *   _   *   *  
   *    *      *
           *   *  | |*___  _ * _  ___*_  *_ ___ *___* ___   / _| ___| |_*___  
___  *     *
       _____*  _  | |/ _ \| |*| |/ _ \ | | /*__|/ _ \/ __|*| |_ / _*\ __/ _ \/ 
__|  *      *
      |_____| |*|_| | (_) | |_| |* __/ |_| \__ \  __/\__ \ |  _|  __/ ||* 
__/\__ \ *    *      *
            *  \___/ \___/ \__, |\___|\__,_|___/\___||___/ |_|  
\___|\__\___||___/       *     *
             *      *    * |___/ *       *      *    *       *       *   *     
*     *      *

Reply via email to