> For the complete documentation index, see [llms.txt](/llms.txt)

# スタミナショップ

スタミナを回復する商品を販売します。




**このデモについて**

デモは匿名アカウントで自動的にログインします。このアカウントはショールームのすべてのデモで共有されるため、あるデモで手に入れたアイテムや通貨が別のデモにも反映されます。読み込みには少し時間がかかります。画面が小さい場合は新しいタブで開いてお試しください。

## 概要

コインでスタミナを買い足すショップです。**Get coins** で無償コインを受け取り、**Your stamina** でスタミナを使ってから、**The shelf** に並ぶ 3 段階の回復商品を購入します。購入は GS2-Exchange の交換として、GS2-Money2 からのコインの引き落としと GS2-Stamina の回復を 1 つのトランザクションで実行します。

## 試し方

1. **Get coins** の **Deposit** を押すと、**Your coins** の **Free balance** が 100 増えます。
1. **Your stamina** の **Spend** を押してスタミナを 10 消費します（最大 100、初期値 50）。満タンでないあいだは **Next recovery** に次の自然回復（1 分ごとに 5）までの時間が表示されます。
1. **The shelf** には **+5 stamina for 30 coins**、**+15 stamina for 70 coins**、**+40 stamina for 100 coins** の 3 商品が並びます。
1. いずれかの商品の **Buy** を押すと、**Free balance** から価格分のコインが引かれ、**Stamina** のゲージが回復量だけ増えます。
1. コインが足りない商品の **Buy** は拒否されます。その場合は **Get coins** の **Deposit** でコインを補充してください。

スタミナは上限を超えて回復できる設定のため、満タン近くで購入すると 100 を超えることがあります。

## 使用している GS2 のサービス

- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の交換レートが商品 1 つにつき 1 つ定義され、コインの消費とスタミナの回復をまとめた購入トランザクションになります。無償コインの付与とスタミナ消費の操作も交換レートで実行します。
- [GS2-Stamina](/ja/microservices/stamina/): GS2-Stamina がスタミナ（最大 100、1 分ごとに 5 回復）を保持し、購入時に商品の回復量だけ回復します。
- [GS2-Money2](/ja/microservices/money2/): GS2-Money2 のウォレットが無償コインを保持し、購入時に商品の価格分が引き落とされます。

## GS2 Studio で使う

GS2 Studio のシンプルモードで **機能を追加** を開き、**スタミナショップ** の **追加** を押すと、この機能を自分のプロジェクトに取り込めます。パッケージを直接指定する場合は **GitHub から追加** を選び、次のパッケージを指定します。

```text
https://github.com/gs2io/gs2-studio-package/tree/main/micro-shop-energy/packages/micro-shop-energy
```

- オーナー: `gs2io`
- リポジトリ: `gs2-studio-package`
- サブディレクトリ: `micro-shop-energy/packages/micro-shop-energy`

## ソースコード

- デモのプロジェクト: <https://github.com/gs2io/gs2-studio-package/tree/main/micro-shop-energy/live-demo>
- 機能パッケージ: <https://github.com/gs2io/gs2-studio-package/tree/main/micro-shop-energy>



