Styles

If your app needs several instances of a face with the same properties and actors, for example, the tiles for a board game or the buttons of a calculator, you can define that as a style with a name and use that name instead. This is illustrated in the following tile game (in 10 lines!) from Nick Antoniacci:

;-- see Chapter09/tile.red:view [    title "Tile Game"    backdrop silver    style tl: button 100x100 [        temp: face/offset        face/offset: empty/offset         empty/offset: temp    ]     tl "8" tl "7" tl "6" return     tl "5" tl "4" tl "3" return     tl "2" tl "1" empty: base silver]

We defined a style tl for all eight buttons we need. Clicking on a tile button moves that button to the empty space, empty, by setting its offset to the offset of empty. Then

Get Learn Red - Fundamentals of Red now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.