/* ---------- 精灵（精细像素画，预渲染离屏缓存） ---------- */
const sprites = {
  // 马里奥 12x16
  mario: new Sprite([
    "....rrrrr...",
    "...rrrrrrrr.",
    "...sss..s.s.",
    "..sSssssssss",
    "..sSSsssssss",
    "..ssSSsssss.",
    "...sssssss..",
    "..RRbbRR....",
    ".RRRbbRRR...",
    "RRRRbbRRRRo.",
    "ssrbbbbbrss.",
    "sssbbbbbsss.",
    "ss.bbbbb.ss.",
    "...bbb.bb...",
    "..www..www..",
    ".wwww..wwww.",
  ], { r:"#d82800", s:"#fc9838", S:"#e07820", R:"#d82800", b:"#0058f8", o:"#fc9838", w:"#6b2c00" }),
  // 栗子怪 12x10
  goomba: new Sprite([
    "....bbbb....",
    "..bbbbbbbb..",
    ".bbBBBBBBbb.",
    "bbBWBBBBWBbb",
    "bbBWBBBBWBbb",
    "bbbBBBBBBbbb",
    "bbbBbwwBbbbb",
    ".bbwwwwwwbb.",
    "..kk....kk..",
    ".kkkk..kkkk.",
  ], { b:"#8a4b20", B:"#c8703a", W:"#ffffff", w:"#000000", k:"#5a2f10" }),
  // 金币 10x12
  coin: new Sprite([
    "...yyyy...",
    "..yyyyyy..",
    ".yyYYYYyy.",
    "yyYWWYYyyy",
    "yyYWYYYYyy",
    "yyYWYYYYyy",
    "yyYWYYYYyy",
    "yyYYYYYyyy",
    ".yyYYYYyy.",
    "..yyyyyy..",
    "...yyyy...",
  ], { y:"#e09000", Y:"#fccc00", W:"#fff8b0" }),
  // 砖块瓦片 16x16
  brick: new Sprite([
    "ooooooooooooooo.",
    "obbbbbbbbbbbbbo.",
    "obbbbbbbbbbbbbo.",
    "obbbbbbbbbbbbbo.",
    "mmmmmmmmmmmmmmmm",
    "obbbbbobbbbbbbo.",
    "obbbbbobbbbbbbo.",
    "obbbbbobbbbbbbo.",
    "mmmmmmmmmmmmmmmm",
    "obbbbbbbbbbbbbo.",
    "obbbbbbbbbbbbbo.",
    "obbbbbbbbbbbbbo.",
    "obbbbbbbbbbbbbo.",
    "obbbbbbbbbbbbbo.",
    "oooooooooooooooo",
    "mmmmmmmmmmmmmmmm",
  ], { o:"#7a3000", b:"#c85c1c", m:"#3a1800" }),
  // 地面瓦片 16x16
  ground: new Sprite([
    "hhhhhhhhhhhhhhh.",
    "oCCCCCCCCCCCCCo.",
    "oCCCCCCCCCCCCCo.",
    "oCCCCCCCCCCCCCo.",
    "oCCCCCCCCCCCCCo.",
    "oCCCCCCCCCCCCCo.",
    "oCCCCCCCCCCCCCo.",
    "oooooooooooooooo",
    ".oCCCCCCCCCCCCo.",
    ".oCCCCCCCCCCCCo.",
    ".oCCCCCCCCCCCCo.",
    ".oCCCCCCCCCCCCo.",
    ".oCCCCCCCCCCCCo.",
    ".oooooooooooooo.",
    "mmmmmmmmmmmmmmmm",
    "mmmmmmmmmmmmmmmm",
  ], { h:"#f8b878", o:"#7a3000", C:"#c85c1c", m:"#3a1800" }),
  // 问号砖 16x16
  qblock: new Sprite([
    "oooooooooooooooo",
    "oYYYYYYYYYYYYYYo",
    "oYYWWYYYYYYYYYYo",
    "oYWWWWYYYYYYYYYo",
    "oYWWYYWWYYYYYYYo",
    "oYYYYYWWYYYYYYYo",
    "oYYYYWWYYYYYYYYo",
    "oYYYWWYYYYYYYYYo",
    "oYYYWWYYYYYYYYYo",
    "oYYYYYYYYYYYYYYo",
    "oYYYWWYYYYYYYYYo",
    "oYYYWWYYYYYYYYYo",
    "oYYYYYYYYYYYYYYo",
    "oYYYYYYYYYYYYYYo",
    "oooooooooooooooo",
    "mmmmmmmmmmmmmmmm",
  ], { o:"#7a3000", Y:"#e8a010", W:"#fff8d0", m:"#3a1800" }),
};