DreamProWrestlingⅡへの道~その2~

Power Apps Advent Calendar 2024シリーズ2 12月6日分の記事です

今回のコンセプトは?

さて前回はトップページ作った内容でしたが

今回はメニュー・・・と行きたいところですが、メニューは何の変哲もないギャラリー使ったメニューなので割愛します。

ということで今回のコンセプトはというと

それは「興行」です!!

前作はリーグ戦、タッグリーグ戦、シングルマッチ、タッグマッチ、試練の十番勝負、勝ち抜き戦と試合形式にこだわりました(笑)

がしかし、今回のコンセプトは昭和の時代ならではの「興行」です

つまり何月何日にどこの会場で全〇試合、ということがコンセプトなのです

恐らく今までにそんなところに焦点を当てたプロレスゲームはないと思います

 

さあ、マッチメイクだ!!

レスラーマスターは前作のをそのまま使用しています

権利関係があるのでここでは画像は掲載しません(実際には画像もあります)

さて、どんなふうにマッチメイクしていくのでしょうか

 

まず選手を選ぶボタンには

- ButtonCanvasRedselect:
    Control: Button
    Properties:
      OnSelect: =Select(Parent);Collect(colred,{name:ThisItem.name});Collect(colwrestler,{name:ThisItem.name})
      BasePaletteColor: =Color.Red
      Text: ="Select"
      DisplayMode: =If(CountRows(Filter(colred,name=ThisItem.name))=1||CountRows(Filter(colblue,name=ThisItem.name))=1||CountRows(Filter(colwrestler,name=ThisItem.name))=1,DisplayMode.Disabled,DisplayMode.Edit)
      Width: =50
      X: =190
      Y: =14

 

赤コーナーか青コーナーで選ばれていたら選択させないようにしています

いくつかコレクションを作ります

colredには赤コーナーで選択した選手を

colblueには青コーナーで選択した選手を

colwrestlerにはどちらかで選択した選手の判定用にそれぞれコレクションを作ります

 

Removeボタンには
- ButtonCanvasRedremove:
    Control: Button
    Properties:
      OnSelect: =Select(Parent);RemoveIf(colred,name=ThisItem.name);RemoveIf(colwrestler,name=ThisItem.name)
      BasePaletteColor: =Color.Red
      Text: ="Remove"
      Width: =50
      X: =255
      Y: =14

ではちょっと選手を選んでみましょうか

おっと2025.1.4東京ドームでは三沢VS武藤ですよ!!

今となっては絶対に見ることの出来ない夢カードですね

レスラー名のテキスト表示はこうしてあります

- TextCanvasRed:
    Control: Text
    Properties:
      Align: ='TextCanvas.Align'.Center
      Font: =Font.Georgia
      FontColor: =Color.White
      Size: =25
      Text: =Concat(colred,name," ")
      Weight: ='TextCanvas.Weight'.Bold
      Height: =60
      Width: =Parent.Width

 

さて、なぜConcatしてる?

それはですね、今回はシングルマッチだけではなくタッグマッチや6人タッグマッチにも対応させるべく、例えば赤コーナーで選んだ選手のnameをConcatでつないでいるということです

見栄えを考慮してあえて半角スペースで結合しています

でここからがマッチメイクの本番です(笑)

 

試合会場にもこだわる(笑)

プロレス者にしかわからない感覚ですが、だいたい全国各地の体育館の名前を憶えているはずです。取り壊しになった体育館まで憶えています(笑)

さてはてここでCopilotの出番です。

こんな感じでやりとりをした結果

[
    "東京ドーム",
    "後楽園ホール",
    "両国国技館",
    "大阪城ホール",
    "日本武道館",
    "福岡国際センター",
    "横浜アリーナ",
    "名古屋国際会議場",
    "札幌中島体育センター",
    "仙台サンプラザホール",
    "広島サンプラザホール",
    "神戸ワールド記念ホール",
    "愛知県体育館",
    "大阪府立体育会館",
    "高松市総合体育館",
    "熊本県立総合体育館",
    "鹿児島アリーナ",
    "埼玉スーパーアリーナ",
    "千葉公園体育館",
    "蔵前国技館",
    "大阪球場",
    "福岡スポーツセンター",
    "後楽園球場",
    "横浜文化体育館"
]

ということにしました。私的にはだいたい満足です(笑)

Colcardなるコレクションに試合を追加していく

試合会場や試合時間が選択されるとAddボタン他を押せるようになります

Addボタンは以下のとおり

- ButtonCanvasAdd:
    Control: Button
    Properties:
      OnSelect: |-
        =Collect(
            colcard,
            {
                no: CountRows(colcard) + 1,
                date: DatePicker1.SelectedDate,
                arena: DropdownCanvas1.Selected.Value,
                red: Concat(
                    colred,
                    name,
                    " "
                ),
                blue: Concat(
                    colblue,
                    name,
                    " "
                ),
                time: RadioGroupCanvasTime.Selected.Value,
                type: Switch(
                    CountRows(colred),
                    1,
                    "シングルマッチ",
                    2,
                    "タッグマッチ",
                    3,
                    "6人タッグマッチ"
                ),
                detail: "",
                redresult: "",
                blueresult: ""
            }
        );
        Clear(colred);
        Clear(colblue)
      Icon: ="Add"
      Text: ="Add"
      DisplayMode: |+
        =If(IsBlank(RadioGroupCanvasTime.Selected)||CountRows(colred)<>CountRows(colblue)||CountRows(colred)=0||IsBlankOrError( DropdownCanvas1.Selected.Value),DisplayMode.Disabled,DisplayMode.Edit)
      Width: =80
      X: =977
      Y: =21

 

試合を試合順含めてコレクションに格納していきます

no:試合順

date:開催日

arena:会場名

red:赤コーナーのレスラー

blue:青コーナーのレスラー

time:試合時間

type:試合形式(これは人数から判定)

detail:試合結果を格納するために作る

redresult:勝敗結果格納用

blueresult:勝敗結果格納用

って感じです

では何試合か追加してみましょう

いや~文字見るだけでワクワクしますね(笑)

こんな興行あったら特リン(特別リングサイド席のこと)いくら出しますかね

私は10万までは出しますね

それでも見れないかもしれないですね、ダフ屋必至の興業です

皆さんのメインはどの試合ですかね?

 

で、ですね

試合順が気に入らない場合ありますよね

そんな場合には以前書いたこの記事のを実装しています

powerdaaps.hatenablog.com

ということでマッチメイク画面の概要はお伝えしましたかね

次回に続きます

あと2回で書ききれるのか心配ではありますが(笑)

まだまだありますよネタ的には