こんにちは、ユクサスです!
今回からいよいよゲームについての記事を書いていこうと思います!
↓【ゲーム制作】勉強始めて約3週間の初心者がEカードゲーム作ってみた のまとめページはこちら
今回作ったゲームは、「Eカードゲーム」です!
初心者ブロガーの初級プログラミング #3では、Progateのpythonコース・レッスン3について、書きました。そこでは、最後にジャンケンゲームを作成しました!そこで、ジャンケンゲームを応用して「Eカードゲーム」を作れるんじゃないかと思い作ってみました!
正直、クオリティやコードの綺麗さ・見やすさは最低レベル…
グラフィックもないから、プレイ画面も地味です…
それでも、「初心者でもこういうことができる!」・「大変だけど自分でコーディングするのは楽しい!」っていうのを伝えることができたらいいなって思います!
使用言語は『Python』で、『Google Colaboratory』でコードの作成・実行しました。それぞれに関する記事も書いてるのでよろしければどうぞ!
↓初心者ブロガーの初級プログラミング #3の記事はこちら
↓使用したプログラミング言語「Python」についてはこちら
↓コードを書くのに使用した環境「Google Colaboratory」の説明はこちら
Eカードゲームとは
知っている方も多いと思いますが、まずはどのようなゲームを作ったかを説明しようと思います!どのようなゲームを作ったか分からないと…
「どうしてそういう風にコードしたの?」ってなっちゃいますからね笑
Eカードゲームは「賭博黙示録カイジ」で出てきたゲームです。ルールは簡単で、プレイヤー2人で、じゃんけんと同じ3すくみで勝敗を決定します!
ただ、じゃんけんと違って使うものが『皇帝』・『市民』・『奴隷』です。
ここまではじゃんけんと同じ!
でも、じゃんけんにはない特殊なルールもあるよ!
それは、各プレイヤーが使えるカードが制限されていることです。プレイヤーは5枚1組のデッキを使用します。この記事では、皇帝が入ってる方を『皇帝デッキ』、奴隷が入ってる方を『奴隷デッキ』とします。
イラストの通り上が『皇帝デッキ』で『市民』が4枚と『皇帝』が1枚、下が『奴隷デッキ』で『市民』が4枚と『奴隷』が1枚でできています。
プレイヤーはデッキを選んで対戦を始めます!
じゃんけんと同じ要領で互いに一枚ずつカードを出していき、先ほどの3すくみで勝敗を決めます。
このゲームの面白いところは、使うデッキによって勝ちやすさが全く違うところです。勝ち負けの判定は、じゃんけんと同じ3すくみですが、使えるカードがデッキによって違うので、デッキごとに勝ち方が異なります。
なぜEカードゲームを作ろうと思ったか
まず、Progateを勉強していて実際に自分で考えてコードを書きたいと思ったからです。
正直Progateで勉強していて、ちゃんと力がついてるか不安だったから…
自分のスキルを確かめるため・覚えたことの復習のためにも、このゲームを作ってみました。
あと、基本のルールはじゃんけんと同じだったので簡単に作れるかなって思って…
(でも、勉強を始めたてのひよっこの私にはなかなか大変で、完成までかなりの時間がかかってしまいました笑)
実際に作ったゲーム・コードの概要
最後にゲームコードの概要を簡単に紹介します!
まず、「実際にカードを使っている感じ」を出したかったので、それぞれのデッキを『emperor』という辞書と、『slave』という辞書を生成しました。
- キー(1〜4)
『emperor』・『slave』 → どちらも『値』は 市民
キー(5)
『emperor』 → 『値』は 皇帝
『salve』 → 『値』は 奴隷
そして、勝敗を決定する関数を作ります。
この関数では、「引数」に『皇帝デッキ』から出されたカードと、『奴隷デッキ』から出されたカードを受け取るようにしています。また、与えられた「引数」から、勝敗を「戻り値」として返すようにしています。
あとは、ゲームの流れをコードして完成!
文字にしてみると、意外とやっていることが少ないですね…
最後に
今回はここまで!
先述した通り、やることの量でいったら大したことなそうに見えますが、完成せるのはホントに大変でした。思った通りに動かなかったり、そもそもちゃんと理解できていなかったり…
調べても出てこない、あるいは分からないってこともありました…
でも、だからこそ、理解できたこと・気づいたこともありました。そして、完成した時の達成感はとっても気持ちよかったです!最初にも言いましたが、このシリーズでそれを伝えたいと思ってます!
次回からは、実際に書いたコードをお見せしながら紹介していけたらと思います!全3、4回くらいで紹介できればいいなと思ってます!
では、また次の記事で!
Twitterもユクサス @Yuxas_beginner でやってます。フォロー大歓迎です!
ユクサスのアカウントで BlogMap も登録してます!記事を読んで、気に入っていただけたら「購読通知」と「いいね」をポチってもらえると、嬉しいです!ぜひ、お気軽にどうぞ!
BlogMapのページはこちらから⇨https://blogmap.jp/details/4997
コメント