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

# キャラクターガチャ

通貨を消費してキャラクターを排出するガチャです。排出率をレアリティごとに設定できます。




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

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

## 概要

コインを払ってキャラクターを引くガチャです。**Buy coins** でコインを買い、**Draw a character** でガチャを引くと、排出されたキャラクターが **Your characters** に追加されます。1 回の抽選で、GS2-Money2 からのコインの引き落とし、GS2-Lottery の抽選、GS2-Inventory へのキャラクター付与が 1 つのトランザクションとして実行されます。

## 試し方

1. **Buy coins** で **10 coins**、**50 coins**、**250 coins** のいずれかの **Buy** を押し、コインを購入します。**Your coins** の残高が増えます。
1. **Draw a character** の **Draw a character for 10 coins** の横にある **Buy** を押すと、10 コインを消費してガチャを 1 回引きます。
1. 排出されたキャラクター（`knight`、`archer`、`mage`、`healer` のいずれか）が **Your characters** に 1 行追加されます。同じキャラクターが出ると別の行として並びます。
1. 続けて引いてみましょう。80% で common（`knight` / `archer`）、20% で rare（`mage` / `healer`）が排出され、同じレアリティ内の確率は均等です。
1. コインが 10 未満のときは抽選が拒否されます。**Buy coins** でコインを買い足してください。

ウォレットは同じブラウザのほかのショールームデモと共有されるため、別のデモで手に入れたコインもここで使えます。

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

- [GS2-Lottery](/ja/microservices/lottery/): GS2-Lottery の排出テーブルが、レアリティ（common 80 / rare 20）を抽選してから、そのレアリティのキャラクターを均等な重みで抽選します。
- [GS2-Showcase](/ja/microservices/showcase/): GS2-Showcase の陳列棚がガチャ 1 回を 10 コインの商品として販売し、コインの消費と抽選をまとめた購入トランザクションを定義します。コインパックの販売にも別の陳列棚を使います。
- [GS2-Inventory](/ja/microservices/inventory/): 排出されたキャラクターは GS2-Inventory のインベントリに 1 体ずつ追加され、**Your characters** に表示されます。
- [GS2-Money2](/ja/microservices/money2/): GS2-Money2 のウォレットがコインを保持します。コインパックの購入で入金され、抽選のたびに 10 コインが引き落とされます。
- [GS2-Dictionary](/ja/microservices/dictionary/): 抽選の報酬には GS2-Dictionary への図鑑登録も含まれ、引いたキャラクターが図鑑に記録されます（このページには図鑑は表示されません）。

## GS2 Studio で使う

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

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

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

## ソースコード

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



