\来たれ!若きプログラマー!/
マジック
×プログラム
プログラミングコンテスト
目次
● 部門(1) 土地枚数によってマリガン率を計算するプ ログラム作成 ○ 対象者 ○ 課題説明 ○ 提出物 ○ 審査について ● 部門(2) デッキ1人回しWEBアプリ ○ 対象者 ○ 課題説明 ○ 提出物 ○ 審査について ● 部門(3) デッキアーキタイプの自動分類 ○ 対象者 ○ 課題説明 ○ 提出物 ○ 審査について 株式会社Sekappy ドキュメント公開日:2020年4月24日(金) 募集期間:2020年4月24日~5月10日 23:59 結果発表:2020年6月中旬予定 告知ブログ:https://sekappy.com/blog/1806部門
(1) 土地枚数によってマリガン率を計算するプログラム作成
1.対象者
エンジニア未経験の方2.課題説明
マジックでデッキを作る際、マリガンが増えないように土地配分を考えることは重要です。 そこで、デッキの中の土地枚数によってマリガン率を計算するプログラムを作成してくださ い。 [計算条件] ・単色デッキかつ土地は基本地形のみの想定(色事故は考慮しません!) ・ロンドンマリガン方式で、初手7枚に土地1枚以下または土地6枚以上の場合マリガンする ものとする [入力] ・デッキ枚数 ・土地の枚数 [出力] ・マリガン0回の確率(%表示で小数第3位四捨五入) ・マリガン1回の確率(%表示で小数第3位四捨五入) ・マリガン2回の確率(%表示で小数第3位四捨五入)3.提出物
①ソースコード
・推奨言語(PHP, Ruby, Python,C, C#, C++, Java, JavaScript) ・圧縮してフォームにアップロードしてください ※各種ライブラリやフレームワーク、APIなどの外部サービスの利用は自由としますが、 各規約等に従って利用してください。 ②再現手順・操作手順 ・フォームに入力して提出してください。 ③アピールポイント ・フォームに入力して提出してください。
4.審査について
審査はSekappy社内の審査員が行います。 ・コードの保守性 ・利便性(UI/UX) ・アイデアの独自性 ・アルゴリズムの効率良さ 以上の観点で評価し、優秀者には表彰を行います。部門
(2) デッキ1人回しWEBアプリ
1.対象者
エンジニア実務経験3年未満の方(未経験の方も可)2.課題説明
マジックでデッキを作ったら、試しに1人回ししたくなるもの!ブラウザで手軽に1人回し できるWEBアプリを作ってみましょう。 下記の様なMTGアリーナ形式のデッキリストの入力に対して、様々な処理を行うWEBアプ リを作成してください。■サンプルデッキリスト: デッキ 4 吸収 (RNA) 151 1 太陽の恵みの執政官 (THB) 3 2 払拭の光 (THB) 4 3 アーデンベイル城 (ELD) 238 1 ヴァントレス城 (ELD) 242 3 ドビンの拒否権 (WAR) 193 1 夢さらい (THB) 214 3 エルズペス、死に打ち勝つ (THB) 13 2 寓話の小道 (ELD) 244 1 廃墟の地 (THB) 242 4 神聖なる泉 (RNA) 251 7 島 (THB) 251 2 神秘の論争 (ELD) 58 2 覆いを割く者、ナーセット (WAR) 61 4 海の神のお告げ (THB) 58 3 平地 (THB) 250 3 空の粉砕 (THB) 37 4 時を解す者、テフェリー (WAR) 221 4 啓蒙の神殿 (THB) 246 3 メレティス誕生 (THB) 5 3 意味の渇望 (THB) 74 サイドボード 4 霊気の疾風 (M20) 42 2 太陽の恵みの執政官 (THB) 3 2 紺碧のドレイク (M20) 53 2 終局の始まり (WAR) 45 1 ドビンの拒否権 (WAR) 193 1 ガラスの棺 (ELD) 15 2 神秘の論争 (ELD) 58 1 覆いを割く者、ナーセット (WAR) 61
[実装機能例] ・「初手確認」のボタンを設置し、デッキリストからランダムに7枚引いた結果を出力する 機能 ・「1枚ドロー」ボタンを設置し、初期手札へランダムに一枚追加する機能 ・実際のMtGのルール同様に「初手確認」後は「マリガン」と「キープ」を選択させ、マリ ガンを行った分だけ手札を戻し、その後のドローにも影響する(戻したカードは最後に引け る)機能 ・土地を置いたり、スペルをプレイできる機能 [入力] ・デッキリストデータ(MTGアリーナ形式) ・クリックやドラッグなどの各種入力イベント [出力] ・各種入力イベントに対応する動作、出力
3.提出物
①ソースコード ・HTML、CSS、JavaScript 、画像などの素材 ・圧縮してフォームにアップロードしてください ※各種ライブラリやフレームワーク、APIなどの外部サービスの利用は自由としますが、 各規約等に従って利用してください。 ②再現手順・操作手順 ・フォームに入力して提出してください。 ③アピールポイント ・フォームに入力して提出してください。4.審査について
審査はSekappy社内の審査員が行います。 ・コードの保守性 ・利便性(UI/UX) ・アイデアの独自性 ・アルゴリズムの効率良さ部門
(3) デッキアーキタイプの自動分類
1.対象者
エンジニア実務経験3年未満の方(未経験の方含む)2.課題説明
MTGでは日々新しいデッキのアーキタイプ(http://mtgwiki.com/wiki/アーキタイプ)が生ま れ、またその流行が移り変わっています。様々なアーキタイプを分析、検討することは、 MTGプレイヤーの楽しみの一つです。 そこで、その助けとなるよう、デッキリストのアーキタイプを分類するプログラムを作成し てください。 デッキリストはMagic Online形式のテキストデータで与えられます。(THB期スタンダー ド)■サンプルデッキリスト: 4 Beanstalk Giant 4 Bonecrusher Giant 4 Brazen Borrower 4 Edgewall Innkeeper 4 Fae of Wishes 4 Lovestruck Beast 4 Escape to the Wilds 4 Lucky Clover 4 Breeding Pool 6 Forest 4 Island 2 Mountain 2 Steam Vents 4 Stomping Ground 2 Temple of Abandon 2 Temple of Epiphany 2 Temple of Mystery Sideboard 1 Aether Gust
1 Claim the Firstborn 1 Domri's Ambush 1 Expansion/Explosion 1 Fling
1 Fry
1 Nissa, Who Shakes the World 1 Once and Future
1 Redcap Melee 1 Return to Nature 1 Shadowspear 1 Sorcerous Spyglass 1 Storm's Wrath 1 The Great Henge 1 Unsummon
デッキリストは以下からダウンロードしてください。
https://drive.google.com/file/d/1Kk0ETo1FuGuhe8Kgdcx5wAUFnpkEbebY/view?usp=sharin g
分類の基準は任意です。例えば以下のような分類や、その組み合わせで自由に分類してくだ さい。 ・戦略による分類(アグロ、コンボ、コントロールなど) ・色による分類 ・キーカードによる分類 参考リンク https://www.hareruyamtg.com/ja/deck/ https://www.mtggoldfish.com/metagame/standard#paper [入力] デッキリストデータ(Magic Online形式、1000件) [出力] デッキ分類結果 [デッキ分類結果例] deck0000 青白 夢さらい コントロール deck0001 赤 エンバレスの宝剣 アグロ deck0002 黒赤 エンバレスの宝剣 アグロ deck0003 赤 災厄の行進 アグロ deck0004 白青赤 創案の火 コントロール deck0005 黒赤緑 魔女のかまど コンボ ...
3.提出物
①ソースコード
・推奨言語(PHP, Ruby, Python,C, C#, C++, Java, JavaScript) ・圧縮してフォームにアップロードしてください ※各種ライブラリやフレームワーク、APIなどの外部サービスの利用は自由としますが、 各規約等に従って利用してください。 ②分類結果 テキストファイル、CSVファイル、Excelファイルなど、一般的なPCで読み込むことがで きる形式でご提出ください。 ③再現手順・操作手順 ・フォームに入力して提出してください。 ④アピールポイント ・フォームに入力して提出してください。