public/lib/wardrobe.js

分割 7 / 7 · 元ファイル 953〜1003行付近

原文の連続部分です。長い圧縮行は行の途中で分割する場合があります。全分割を順に連結するとファイル全文になります。

      gloss(g, r, 'rgba(255,255,250,.45)', 0.32);
    } },
    { id: 'angular', nm: '角張った石', price: 70, draw: function (g, r) {
      g.fillStyle = '#79776f';
      g.beginPath();
      g.moveTo(-r * 1.10, -r * 0.30); g.lineTo(-r * 0.20, -r * 1.10); g.lineTo(r * 1.05, -r * 0.45);
      g.lineTo(r * 0.70, r * 0.95); g.lineTo(-r * 0.60, r * 1.05);
      g.closePath(); g.fill();
      g.fillStyle = 'rgba(255,255,240,.22)';
      g.beginPath(); g.moveTo(-r * 0.20, -r * 1.05); g.lineTo(r * 0.95, -r * 0.42); g.lineTo(r * 0.10, -r * 0.10); g.closePath(); g.fill();
    } },
    { id: 'striped', nm: '模様入りの石', price: 90, draw: function (g, r) {
      chunk(g, r, 7, 0.82, 0.13, '#8a7f6d');
      g.save();
      g.beginPath(); g.arc(0, 0, r * 0.98, 0, 7); g.clip();
      g.strokeStyle = '#e6ddc6'; g.lineWidth = Math.max(0.8, r * 0.20);
      for (var i = -1; i <= 1; i++) {
        g.beginPath(); g.moveTo(-r * 1.2, i * r * 0.62 - r * 0.20); g.lineTo(r * 1.2, i * r * 0.62 + r * 0.20); g.stroke();
      }
      g.restore();
    } },
    { id: 'brick', nm: 'レンガのかけら', price: 80, draw: function (g, r) {
      g.fillStyle = '#a85b46';
      g.beginPath(); g.moveTo(-r * 1.15, -r * 0.72); g.lineTo(r * 1.10, -r * 0.80);
      g.lineTo(r * 1.15, r * 0.78); g.lineTo(-r * 1.05, r * 0.72); g.closePath(); g.fill();
      g.fillStyle = 'rgba(255,240,230,.30)';
      g.fillRect(-r * 1.05, -r * 0.70, r * 2.05, r * 0.26);
      g.fillStyle = 'rgba(60,30,20,.25)';
      g.fillRect(-r * 1.00, r * 0.34, r * 2.00, r * 0.30);
    } },
    { id: 'gold', nm: '金の石', price: 150, draw: function (g, r) {
      chunk(g, r, 8, 0.80, 0.15, '#d3a33c');
      g.fillStyle = 'rgba(255,245,190,.55)';
      g.beginPath(); g.moveTo(-r * 0.70, -r * 0.70); g.lineTo(r * 0.20, -r * 0.90);
      g.lineTo(-r * 0.10, -r * 0.05); g.closePath(); g.fill();
      gloss(g, r, 'rgba(255,255,225,.50)', 0.22);
    } },
    { id: 'star', nm: '星の石', price: 140, draw: function (g, r) {
      g.fillStyle = '#e6c84f';
      g.beginPath();
      for (var i = 0; i < 10; i++) {
        var a = -Math.PI / 2 + i * Math.PI / 5, rr = r * (i % 2 ? 0.50 : 1.22);
        if (i === 0) g.moveTo(Math.cos(a) * rr, Math.sin(a) * rr); else g.lineTo(Math.cos(a) * rr, Math.sin(a) * rr);
      }
      g.closePath(); g.fill();
      gloss(g, r, 'rgba(255,255,220,.40)', 0.22);
    } }
  ];

  window.WARDROBE = { COSTUMES: COSTUMES, HATS: HATS, STONES: STONES };
})();