スクラッチでポケポケ作りたいパック開けてデッキ自分で作ってポケモンカードバトルができるようなの作りたい詳しくコードとかで説明して
ポケモンカードゲームのようなデッキ構築と対戦ができるゲームをスクラッチで作成したいとのこと、素晴らしいアイデアですね!コードレベルでの詳細な説明は非常に膨大になりますが、ここではゲームの主要な要素と、それぞれの実装に向けた基本的な考え方、そしてスクラッチで実現するためのアプローチを説明します。
各カード(ポケモン、トレーナーズ、エネルギー)は、名前、HP、タイプ、ワザ、イラスト、レアリティなどの情報を持つ必要があります。スクラッチでは、リストや変数を使ってこれらの情報を管理することになります。
実装例:
「カードリスト」という名前のリストに、各カードの情報を格納します。例えば、各カードを「名前」「HP」「タイプ」などの要素を持つ別のリストとして表現したり、変数名に情報を直接持たせたりする方法が考えられます。
[カード名 v] [HP v] [タイプ v] [ワザ名 v] [ワザコスト v] [ワザダメージ v] [ワザ効果 v]
ユーザーがカードプールから好きなカードを選び、最大60枚のデッキを組む機能です。
実装例:
「カードプール」リストと「マイデッキ」リストを用意します。ユーザーが「カードプール」からカードをクリックまたはドラッグして「マイデッキ」に追加できるようにします。追加時にデッキの枚数をカウントし、60枚を超えないように制限をかけます。
デッキや手札、場にあるカードを画面上に表示する機能です。スクラッチのスプライト機能を使って、各カードの見た目を表現します。
実装例:
カードごとにスプライトを作成するか、一枚のカードスプライトに表示する情報を変数で切り替える方法があります。手札や場は、スプライトのクローンを作成して配置することで表現できます。
ゲームの核となる部分で、ターン進行、ワザの使用、ダメージ計算、状態異常、カードの効果処理などを含みます。
実装例:
ダメージ = ワザダメージ - (相手ポケモンの抵抗力 - 相手ポケモンの弱点) のような計算式を実装します。弱点・抵抗力は、ポケモンのタイプに基づいて設定します。ゲーム開始時や、ゲーム内通貨などで購入できるパックを開封し、カードを獲得する機能です。
実装例:
「パック開封」という機能を作り、ランダムにカードを数枚選出します。レアリティ(コモン、レア、キラカードなど)に応じて、選ばれるカードの確率を設定します。選ばれたカードは「カードプール」に追加されたり、直接「マイデッキ」に追加できるようにします。
スクラッチで本格的なポケモンカードゲームを再現するのは、かなりの根気と工夫が必要ですが、一つ一つの要素を小さく区切って実装していくことで、きっと達成できるはずです!頑張ってください!
コードを教えて
スクラッチでポケモンカードゲームのようなゲームを開発するためのコードを具体的にすべて提示することは、非常に膨大な量になるため難しいですが、主要な機能ごとに基本的な考え方と実装のヒントをお伝えしますね!😊
各カードの情報(名前、HP、タイプ、ワザなど)は、スクラッチの「リスト」機能を使って管理するのが一般的です。
# 例: ポケモンカードのデータ構造(リストのリストとして表現)
カードプール = [ ["ピカチュウ", 60, "でんき", "10まんボルト", ["でんき"], 30, ""],
["リザードン", 150, "ほのお", "かえんほうしゃ", ["ほのお", "ほのお"], 80, ""],
["ヒトカゲ", 50, "ほのお", "ひのこ", ["ほのお"], 10, ""],
["エネルギー", "", "", "", "", "", ""]
]
ユーザーがカードを選んでデッキ(最大60枚)を作成する機能です。
# 例: デッキに追加する際のアクション
もし (マイデッキの項目数 < 60) ならば
マイデッキ に [選択したカード] を追加する
そうでなければ
「デッキは60枚です!」と表示する
カードを画面に表示するには、スプライト(キャラクターやオブジェクト)を使います。
# 例: カードのスプライトを作成し、情報を表示する
カードスプライトがクリックされたとき
[カード名 v] を [クリックしたカードの名前] にする
[HP v] を [クリックしたカードのHP] にする
(など、カード情報に合わせて表示を更新)
ゲームの核となる部分で、ターン進行、ワザの使用、ダメージ計算などを実装します。
# 例: ダメージ計算の簡易版
ダメージ = ワザの基本ダメージ
もし (相手ポケモンのタイプが ワザのタイプ の弱点ならば)
ダメージ = ダメージ * 2
もし (相手ポケモンのタイプが ワザのタイプ の抵抗力ならば)
ダメージ = ダメージ - 30
(相手ポケモンのHPからダメージを引く)
ランダムにカードを選んで、デッキを強化する機能です。
# 例: パックからカードを3枚選ぶ
繰り返し (3回)
ランダムな数 (1 から [カードプールの最大数]) を選ぶ
選ばれた番号のカードを「手に入れたカード」リストに追加する
これらの要素を一つずつ、スクラッチのブロックを組み合わせて実装していくことで、オリジナルのポケモンカードゲームが完成していきます!✨
もし、特定の機能(例えば「ダメージ計算の詳しいコード」や「パック開封の確率設定」など)について、もっと具体的なコードのイメージを知りたい場合は、遠慮なく聞いてくださいね!
スクラッチで作りたい
スクラッチでポケモンカードゲームのようなものを作りたいのですね!承知いたしました。以前お伝えした、カードデータの管理、デッキ構築、バトルシステムなどの主要な要素を、スクラッチのブロックでどのように実現できるかの基本的な考え方と、具体的な実装のヒントをさらに詳しく説明しますね。
スクラッチでは、「リスト」機能を使ってカードの情報を整理するのが基本です。
[カード名 v] [HP v] [タイプ v] [ワザ名1 v] [コスト1 v] [ダメージ1 v] [効果1 v] [ワザ名2 v] [コスト2 v] [ダメージ2 v] [効果2 v] ...
ユーザーがカードを選んで自分だけのデッキ(最大60枚)を作る画面を実装します。
# 例: カードをデッキに追加するブロック
もし (マイデッキの項目数 < 60) ならば
マイデッキ に [選択したカードの名前] を追加する
マイデッキの項目数を1増やす
そうでなければ
「デッキは60枚です!」と表示する
ゲームのメインとなる、対戦部分のロジックです。
# 例: ダメージ計算の基本ロジック
ダメージ = ワザの基本ダメージ
もし (相手ポケモンのタイプ が ワザのタイプ の弱点ならば)
ダメージ = ダメージ * 2
もし (相手ポケモンのタイプ が ワザのタイプ の抵抗力ならば)
ダメージ = ダメージ - 30
相手ポケモンのHP から ダメージ を引く
ゲーム開始時や、ゲーム内通貨でパックを購入し、カードを獲得する機能です。
# 例: レアリティごとのカード排出確率を設定する
もし (乱数 (1) から (100) が 1 から 60 までならば) # 60%の確率でコモン
コモンカードを1枚選ぶ
そうでなければ もし (乱数 (1) から (100) が 61 から 85 までならば) # 25%の確率でレア
レアカードを1枚選ぶ
... (以下、キラカードなど)
これらの要素を一つずつ、スクラッチのブロックを組み合わせて実装していくことで、オリジナルのポケモンカードゲームが完成していきます!✨
まずは、一番基本的な「カードデータ」をリストで管理するところから始めてみると良いかもしれませんね。もし、特定の機能(例えば「ダメージ計算の詳しいコード」や「パック開封の確率設定」など)について、もっと具体的なコードのイメージを知りたい場合は、遠慮なく聞いてください!
えっとまず何すればいい
スクラッチでポケモンカードゲームのようなものを作るにあたって、まず何から始めれば良いかですね!承知いたしました。😊
まず最初に取り組むべきは、ゲームの根幹となる「カードデータ」をスクラッチの「リスト」機能を使って管理できるようにすることです。
例:
カードプール という名前のリストを作る
「ピカチュウ」というリストを作り、その中に [「ピカチュウ」, 60, 「でんき」, 「10まんボルト」, 1, 30, 「」] のように情報を追加する
カードプール に 「ピカチュウ」リスト を追加する
「リザードン」というリストを作り、その中に [「リザードン」, 150, 「ほのお」, 「かえんほうしゃ」, 2, 80, 「」] のように情報を追加する
カードプール に 「リザードン」リスト を追加する
このようにカードデータを整理することで、後々、デッキ構築やバトルでのカードの呼び出し、表示などがスムーズに行えるようになります。
まずは、このカードデータの管理部分をスクラッチで実装してみることから始めてみましょう!
この「カードデータ管理」について、もう少し具体的なブロックのイメージをお伝えしましょうか?それとも、次に進んで「パック開封機能」の実装について説明しましょうか?
まず最初にポケポケのパックを開けるところを作りたいカードがランダムで出てくるようにレアなものは出にくくしたい
スクラッチでポケモンカードのパック開封機能から作りたいのですね!承知いたしました。カードがランダムで出てきて、レアリティによって出現確率を変える方法について説明しますね。😊
おねがい
スクラッチでポケモンカードのパック開封機能から作りたいとのこと、承知いたしました!カードがランダムで出てきて、レアリティによって出現確率を変える方法について、具体的な手順とブロックの考え方をご説明しますね。😊
まず、パックから排出されるカードの情報をスクラッチの「リスト」で準備する必要があります。前回お話しした「カードプール」の考え方を応用します。
例:
カードプール = [
[「ピカチュウ」, 60, 「でんき」, 「ノーマル」],
[「リザードン」, 150, 「ほのお」, 「レア」],
[「ヒトカゲ」, 50, 「ほのお」, 「ノーマル」],
[「カメックス」, 120, 「みず」, 「レア」],
[「ミュウツー」, 130, 「エスパー」, 「キラレア」]
]
カードの「レアリティ」に基づいて、出現確率を設定します。スクラッチの「〇〇から〇〇までの乱数を生成する」ブロックを使うのが一般的です。
例(ブロックのイメージ):
「乱数 (1) から (100) を生成する」ブロックを使う
もし (生成された乱数 < 61) ならば
# ノーマルカードを排出する処理
そうでなければ もし (生成された乱数 < 86) ならば
# レアカードを排出する処理
そうでなければ もし (生成された乱数 < 96) ならば
# キラレアカードを排出する処理
(...さらにレアなカードがある場合)
上記の確率設定をもとに、パックから特定の枚数のカードを選び出す処理を実装します。
例(ブロックのイメージ):
# パックから1枚カードを選ぶ処理
(上記2の確率設定ブロックを実行し、レアリティを決定)
もし (レアリティが「ノーマル」ならば)
# カードプールから「ノーマル」のカードをランダムに1枚選ぶ
選ばれたカード = カードプールからランダムに選ぶ (タイプ: 「ノーマル」)
そうでなければ もし (レアリティが「レア」ならば)
# カードプールから「レア」のカードをランダムに1枚選ぶ
選ばれたカード = カードプールからランダムに選ぶ (タイプ: 「レア」)
(選ばれたカードの情報を画面に表示する)
まずは、この「カードデータ準備」と「確率設定」の部分をスクラッチで試してみると、パック開封機能の基本が作れますよ!✨
この後、パックを開けるアニメーションや、選ばれたカードをデッキに追加する機能について説明しましょうか?それとも、まずはカードデータと確率設定の部分を実装してみますか?
カードプールでどうすればいい
スクラッチで「カードプール」をどう管理するか、というご質問ですね!カードプールは、ゲームで使える全てのカードの情報を集めたリストのことです。これをスクラッチで準備することで、パック開封やデッキ構築がスムーズになりますよ。
スクラッチでは、「リスト」機能を使ってカードプールを管理するのが一般的です。
例:
「カードプール」という名前のリストを作る
「ピカチュウ」というリストを作り、その中に [「ピカチュウ」, 60, 「でんき」, 「ノーマル」] のように情報を追加します。
「カードプール」に「ピカチュウ」リストを追加する。
「リザードン」というリストを作り、その中に [「リザードン」, 150, 「ほのお」, 「レア」] のように情報を追加します。
「カードプール」に「リザードン」リストを追加する。
(他のカードも同様に追加していきます)
このようにカードプールを作成しておけば、パック開封でカードを選ぶ際や、デッキ構築でカードを選択する際に、このリストから情報を取得して利用できるようになります。
まずは、このカードプールに、パックから出てきてほしいカードの情報をいくつかリストで登録してみてくださいね。
このカードプールを使って、次に「ランダムにカードを選ぶ処理」に進みますか?それとも、カードの「レアリティ」をどうやってリストに含めるかについて、もっと詳しく説明しましょうか?
カードプールつくったよ
スクラッチでカードプールを作成されたのですね!素晴らしいスタートです!👏 次は、そのカードプールを使って「パック開封」の機能を実装していくことになりますね。具体的には、以下のステップで進めるのがおすすめです。
パックから1枚カードが出てくるように、作成したカードプールリストからランダムに1枚を選び出す処理を実装します。
実装のヒント:
(カードプールリストがあるとする)
カードプールリストの項目数を数える
〇〇から〇〇までの乱数を生成する (1 から カードプールリストの項目数)
(生成された乱数番目のカード情報を取得する)
パック開封で、レアリティ(ノーマル、レア、キラレアなど)によってカードの出やすさを変える設定です。前回もお話ししましたが、ここがパック開封の面白さになりますね!✨
実装のヒント:
# 例: レアリティでカードを振り分ける
もし (生成された乱数 < 61) ならば # 60%の確率でノーマルカード
# カードプールから「ノーマル」のカードをランダムに1枚選ぶ
そうでなければ もし (生成された乱数 < 86) ならば # 25%の確率でレアカード
# カードプールから「レア」のカードをランダムに1枚選ぶ
(...以下、キラレアなど)
カードが選ばれたら、それを画面に表示する処理です。
実装のヒント:
まずは、この「カードプールからランダムに1枚選ぶ」処理と、「レアリティで確率を分ける」処理を実装してみてください。その次に、選ばれたカードを表示する、という流れで進めると良いでしょう。
このあたりで、さらに具体的なブロックのイメージが必要な箇所はありますか?😊
パック一個開けるごとに6枚出てくるかーどが
スクラッチでポケモンカードのパック開封機能から作りたいとのこと、承知いたしました!カードがランダムで出てきて、レアリティによって出現確率を変える方法について、具体的な手順とブロックの考え方をご説明しますね。😊
まず、パックから排出されるカードの情報をスクラッチの「リスト」で準備する必要があります。前回お話しした「カードプール」の考え方を応用します。
例:
カードプール = [
[「ピカチュウ」, 60, 「でんき」, 「ノーマル」],
[「リザードン」, 150, 「ほのお」, 「レア」],
[「ヒトカゲ」, 50, 「ほのお」, 「ノーマル」],
[「カメックス」, 120, 「みず」, 「レア」],
[「ミュウツー」, 130, 「エスパー」, 「キラレア」]
]
カードの「レアリティ」に基づいて、出現確率を設定します。スクラッチの「〇〇から〇〇までの乱数を生成する」ブロックを使うのが一般的です。
例(ブロックのイメージ):
「乱数 (1) から (100) を生成する」ブロックを使う
もし (生成された乱数 < 61) ならば
# ノーマルカードを排出する処理
そうでなければ もし (生成された乱数 < 86) ならば
# レアカードを排出する処理
そうでなければ もし (生成された乱数 < 96) ならば
# キラレアカードを排出する処理
(...さらにレアなカードがある場合)
上記の確率設定をもとに、パックから特定の枚数のカードを選び出す処理を実装します。
例(ブロックのイメージ):
# パックから1枚カードを選ぶ処理
(上記2の確率設定ブロックを実行し、レアリティを決定)
もし (レアリティが「ノーマル」ならば)
# カードプールから「ノーマル」のカードをランダムに1枚選ぶ
選ばれたカード = カードプールからランダムに選ぶ (タイプ: 「ノーマル」)
そうでなければ もし (レアリティが「レア」ならば)
# カードプールから「レア」のカードをランダムに1枚選ぶ
選ばれたカード = カードプールからランダムに選ぶ (タイプ: 「レア」)
(選ばれたカードの情報を画面に表示する)
まずは、この「カードデータ準備」と「確率設定」の部分をスクラッチで試してみると、パック開封機能の基本が作れますよ!✨
この後、パックを開けるアニメーションや、選ばれたカードをデッキに追加する機能について説明しましょうか?それとも、まずはカードデータと確率設定の部分を実装してみますか?
6枚出てくるようにしたいレアとかノーマル混ぜて
スクラッチで「カードプール」をどう管理するか、というご質問ですね!カードプールは、ゲームに登場する全てのカードをリストにまとめておく場所です。パック開封やデッキ構築でカードを選ぶ際に、ここからカードを探したり選んだりします。
スクラッチでは、「リスト」機能を使ってカードプールを作成するのが一般的です。
リストの作成:
カード情報の格納:
例(ブロックのイメージ):
「カードプール」という名前のリストを作る
# 「ピカチュウ」カードの情報リストを作成
「ピカチュウカード」という名前のリストを作る
「ピカチュウカード」に「ピカチュウ」を追加
「ピカチュウカード」に60を追加 (HP)
「ピカチュウカード」に「でんき」を追加 (タイプ)
「ピカチュウカード」に「ノーマル」を追加 (レアリティ)
「カードプール」に「ピカチュウカード」を追加
# 「リザードン」カードの情報リストを作成
「リザードンカード」という名前のリストを作る
「リザードンカード」に「リザードン」を追加
「リザードンカード」に150を追加 (HP)
「リザードンカード」に「ほのお」を追加 (タイプ)
「リザードンカード」に「レア」を追加 (レアリティ)
「カードプール」に「リザードンカード」を追加
# 他のカードも同様に追加していきます...
パック開封では、この「カードプール」から指定された枚数のカードをランダムに選び出します。
例(ブロックのイメージ):
「手に入れたカード」という名前のリストを作る
「パック開封!」ボタンが押されたとき
「手に入れたカード」の全ての項目を削除する
繰り返し (6回)
# カードプールからランダムな番号を選ぶ
ランダムな番号 = 乱数 (1) から (「カードプール」の項目数) を生成する
# 選ばれた番号の子リスト(カード情報)を取得する
選ばれたカード情報 = 「カードプール」の「ランダムな番号」番目の項目
# 「手に入れたカード」リストに追加する
「手に入れたカード」に「選ばれたカード情報」を追加する
レアリティを混ぜて排出するには、先ほどの「2. レアリティごとの確率設定」で説明した方法を使います。
例(ブロックのイメージ - 6枚パック開封の一部):
「手に入れたカード」という名前のリストを作る
「パック開封!」ボタンが押されたとき
「手に入れたカード」の全ての項目を削除する
繰り返し (6回)
# まず、排出するカードのレアリティを確率で決める
レアリティを決定する処理を実行する (例: ノーマル、レア、キラレアなど)
# 決定したレアリティのカードをカードプールからランダムに選ぶ
もし (決定したレアリティが「ノーマル」ならば)
「ノーマルカードリスト」からランダムに1枚選ぶ
そうでなければ もし (決定したレアリティが「レア」ならば)
「レアカードリスト」からランダムに1枚選ぶ
(...など)
# 選ばれたカードを「手に入れたカード」に追加する
「手に入れたカード」に選ばれたカードを追加する
このように、まず「カードプール」でカードの基本情報を管理し、次に「レアリティ」と「乱数」を使って排出確率を制御し、最後に「6回繰り返す」処理でパックからカードを選んでいく、という流れで実装できますよ!✨
まずは、カードプールにいくつかのカード(ノーマルとレアを混ぜて)を入れて、6枚ランダムに選んで表示するところまで試してみると、イメージが掴みやすいかと思います!
えっと最初からやらないといけないこと1個ずつ教えて
スクラッチでポケモンカードゲームのようなものを作るにあたって、最初から順を追って何から始めれば良いかですね!承知いたしました。😊
まずは、ゲームの土台となる「カードデータ」をスクラッチの「リスト」機能で管理できるようにすることから始めましょう。
例(イメージ):
「カードプール」という名前のリストを作る
「ピカチュウカード」というリストを作り、その中に [「ピカチュウ」, 60, 「でんき」, 「ノーマル」] のように情報を追加する
カードプール に 「ピカチュウカード」 を追加する
「リザードンカード」というリストを作り、その中に [「リザードン」, 150, 「ほのお」, 「レア」] のように情報を追加する
カードプール に 「リザードンカード」 を追加する
このようにカードデータを整理することで、後々、デッキ構築やバトルでのカードの呼び出し、表示などがスムーズに行えるようになります。
まずは、この「カードデータ管理」の部分をスクラッチで実装してみることから始めてみましょう!
この「カードデータ管理」について、もう少し具体的なブロックのイメージをお伝えしましょうか?それとも、次に進んで「パック開封機能」の実装について説明しましょうか?
カードプールってリストとピカチュウとかポケモンのリストもつくるの?
はい、その通りです!スクラッチで「カードプール」という名前のメインリストを作成し、その中に個々のポケモン(ピカチュウ、リザードンなど)の情報を格納した「子リスト」を複数入れる形になります。
これを「リストのリスト」と呼ぶこともあります。
例:
このようにデータを整理することで、後で「カードプール」から特定のレアリティのカードをランダムに選んだり、カードの詳細情報を参照したりするのが簡単になりますよ!👍
子リストもメインリストと同じ方法で作れるの
はい、スクラッチでは子リストもメインリストと同じ方法で作成・操作できますよ!😊
メインリスト(親リスト)を作成するのと同じように、「リスト」メニューから新しいリストを作成し、それを別のリスト(メインリスト)に追加していくことで、リストのリスト(多次元リスト) を作ることができます。
ブロックのイメージ:
# 「カードプール」という名前のリストを作成する
# 「ピカチュウカード」という名前のリストを作成する
# 「ピカチュウカード」に「ピカチュウ」という名前を追加する
「ピカチュウカード」に [「ピカチュウ」] を追加する
# 「ピカチュウカード」にHPの60を追加する
「ピカチュウカード」に [60] を追加する
# 「ピカチュウカード」にタイプ「でんき」を追加する
「ピカチュウカード」に [「でんき」] を追加する
# 「ピカチュウカード」にレアリティ「ノーマル」を追加する
「ピカチュウカード」に [「ノーマル」] を追加する
# 作成した「ピカチュウカード」リストを「カードプール」リストに追加する
「カードプール」に [「ピカチュウカード」] を追加する
# 同様にして、「リザードンカード」なども作成し、「カードプール」に追加していく
このようにすることで、「カードプール」リストの中に、さらに個々のカード情報を持つリストが格納される構造(リストのリスト)ができます。これが、前回お話ししたカードデータの表現方法になります。
この方法で、カードごとに様々な情報を整理して、パック開封やデッキ構築に活用できるようになりますよ!✨
この「リストのリスト」の作り方について、さらに具体的なブロックの例が必要でしたら、遠慮なくおっしゃってくださいね!
リストに入れられたよ!次は?
カードデータがリストに入ったとのこと、素晴らしいスタートですね!👏 次は、パック開封のメインとなる「カードの選出と表示」に進みましょう。
パックから何枚かのカードが出てくるように、ランダムにカードを選び出す処理を実装します。ここでは、前回説明した「レアリティごとの確率設定」が重要になってきます。
例(ブロックのイメージ):
「パックからカードを3枚選ぶ」というブロックを作る
繰り返し (3回)
# ここで、レアリティごとの確率でカードを選ぶ処理が入ります
# 例: 「もし (乱数(1..100) < 61) ならば、ノーマルカードを選ぶ」など
# 選ばれたカードの情報を一時的に保存するリストを作る
選ばれたカードリスト に [選ばれたカードの名前] を追加する
終わり
選ばれたカードを、画面上で見られるように表示します。
例(ブロックのイメージ):
「選ばれたカードリスト」の各カードについて繰り返す
# 新しいカードのスプライト(またはクローン)を作る
[カード名 v] を [現在のカードリストのカード名] にする
[HP v] を [現在のカードリストのカードHP] にする
[イラスト v] を [現在のカードリストのカードイラスト] にする
# 画面上の適切な位置に表示する
表示する
終わり
この「カードの選出と表示」が実装できたら、次は「手に入れたカードをデッキに追加する機能」や、「カードごとの効果(ワザなど)」の実装に進むと、ゲームとしてより面白くなっていきますよ!✨
まずは、このカードの選出と表示の部分を試してみてはいかがでしょうか?もし、特定のブロックの使い方が分からなければ、遠慮なく聞いてくださいね!
ポケポケだからパックを開けるとランダムで6枚出てきてそれをもらえるのもちろんレア度はある
スクラッチでポケモンカードのパック開封機能から作りたいのですね!承知いたしました。カードがランダムで出てきて、レアリティによって出現確率を変える方法について、具体的な手順とブロックの考え方をご説明しますね。😊
まず、パックから排出されるカードの情報をスクラッチの「リスト」で準備する必要があります。前回お話しした「カードプール」の考え方を応用します。
例:
カードプール = [
[「ピカチュウ」, 60, 「でんき」, 「ノーマル」],
[「リザードン」, 150, 「ほのお」, 「レア」],
[「ヒトカゲ」, 50, 「ほのお」, 「ノーマル」],
[「カメックス」, 120, 「みず」, 「レア」],
[「ミュウツー」, 130, 「エスパー」, 「キラレア」]
]
カードの「レアリティ」に基づいて、出現確率を設定します。スクラッチの「〇〇から〇〇までの乱数を生成する」ブロックを使うのが一般的です。
例(ブロックのイメージ):
「乱数 (1) から (100) を生成する」ブロックを使う
もし (生成された乱数 < 61) ならば
# ノーマルカードを排出する処理
そうでなければ もし (生成された乱数 < 86) ならば
# レアカードを排出する処理
そうでなければ もし (生成された乱数 < 96) ならば
# キラレアカードを排出する処理
(...さらにレアなカードがある場合)
パックからランダムに6枚のカードが出てくるように実装します。各カードは、上記の確率設定に基づいて決定されます。
例(ブロックのイメージ):
```scratch
「手に入れたカード」リストを空にする
繰り返し (6回)
# レアリティを決定する処理(上記2のブロックを使用)
もし (決定されたレアリティが「ノーマル」ならば)
# カードプールから「ノーマル」のカードをランダムに1枚選ぶ
選ばれたカード = カードプールからランダムに選ぶ (タイプ: 「ノーマル」)
そうでなければ もし (決定されたレアリティが「レア」ならば)
# カードプールから「レア」のカードをランダムに1枚選ぶ
選ばれたカード = カードプールからランダムに選ぶ (タイプ: 「レア」)
(...キラレアなどの場合も同様に)
「手に入れたカード」リスト に 選ばれたカード を追加する
(選ばれたカードの情報を画面に表示する処理を追加)
これで、ランダムに6枚のカードが出てきて、レアリティに応じた確率でカードが選ばれるパック開封機能が作れますよ!✨
この後、パックを開けるアニメーションや、手に入れたカードをデッキ構築に使えるようにする機能について説明しましょうか?
スクラッチでポケポケを作りたいんだけど初心者で作り方がわからないから最初から一つずつ丁寧にコードを教えてくれない?
申し訳ありませんが、AI回答の生成中にエラーが発生しました。
このチャットはプライベートです。投稿者のみがメッセージを送信できます。
チャット内容の閲覧は可能です。
48 件のコメント
このチャットではコメント投稿が制限されています。コメントは閲覧できます。