【ゲーム制作】勉強始めて約3週間の初心者がEカードゲーム作ってみた #2

ユクサス

こんにちは、ユクサスです!

 前回は、Eカードゲームの説明・作成コードの概要について書きました。今回は、いよいよコードを見せながら紹介できたらな〜って思ってます笑

↓【ゲーム制作】勉強始めて約3週間の初心者がEカードゲーム作ってみた のまとめはこちらから

あわせて読みたい
【ゲーム制作】勉強始めて約3週間の初心者がEカードゲーム作ってみた まとめ こんにちは、ユクサスです!  このページは、【ゲーム制作】勉強始めて約3週間の初心者がEカードゲーム作ってみた のまとめページです。  このシリーズもそこそこの回...

 前回と同じく、使用言語は『Python』で、『Google Colaboratory』でコードの作成・実行しました。それぞれに関する記事も書いてるのでよろしければどうぞ!

↓使用したプログラミング言語『Python』についてはこちら

あわせて読みたい
Pythonって何?初心者目線でPythonでできることを紹介! こんにちは、ユクサスです! いざ、「プログラミングを始めよう!」、と思っても一体何から始めればいいか悩んでいませんか? プログラミングを始めるのに、最初に決め...

↓コードを書くのに使用した環境『Google Colaboratory』はこちら

あわせて読みたい
【初心者必見!】グーグルコラボラトリーのメリットと使い方まで紹介しちゃいます! こんにちは、ユクサスです!  前々回の記事、初心者ブロガーの初級プログラミング#3では、Progateレッスン3で習った内容について書きました。そしてレッスン3の最後で...
目次

今回このゲームを作成するに使った知識

 まず、このゲームを作るのに使った知識、言い換えると「3週間の勉強で得た知識」を紹介しようと思います!

 実は、しっかり学習したのは Progate レッスン1〜3までだけ です。

ユクサス

3週間もあれば超余裕で習得できるよ!

↓初心者ブロガーの初級プログラミングはこちらから(Progateの内容について書いてます!)

あわせて読みたい
初心者ブロガーの初級プログラミングシリーズ まとめ このページは、『初心者ブロガーの初級プログラミング』シリーズのまとめページです!  今はまだ記事数が少ないですが、後々記事が多くなった時のために先にまとめペー...
STEP
レッスン1
  • 変数の扱い・計算・比較演算
  • if文
STEP
レッスン2
  • リストと辞書
  • for文・while文
STEP
レッスン3
  • 関数
  • モジュール・ライブラリ

 基本的には、この知識だけで作成してます!できるだけ丁寧に説明していこうと思っているので、Python初心者・勉強中の方でも、理解できる内容になってると思います!

ユクサス

ほんとにたったのこれだけ!
初心者の方でも、是非一緒に作っていこう!

ゲームコードの概要

ユクサス

まずは、ゲームコードの概要からおさらい! 

  1. 辞書として、数字を『キー』、カードを『値』として『皇帝デッキ』と『奴隷デッキ』を作成
  2. 出されたカードを『引数』とし、勝敗を『戻り値』として返す 『関数』 の作成
  3. ゲームの流れをコード

簡単にまとめるとこんな感じです。やっぱり、文字にすると大したことないですね…笑

ユクサス

(これでも、完成までめっちゃ時間かかってます笑)

初期値の設定

 まずは、「1. 辞書として、数字を『キー』、カードを『値』として『皇帝デッキ』と『奴隷デッキ』を作成」の部分から説明します。

これが、初期値などの設定にあたる箇所です。

ユクサス

この記事では、この辺を詳しく説明するよ!

ユクサス

軽く説明を入れました

コードを作りながら、後付けで変数を用意したものもあるので変数の名前の順番が変なところがあります。

ユクサス

ごめんなさい…

 でも、あえて完璧でない状態を紹介することで「初心者がなんとかして作った感」を伝えられたらいいなって思います笑

では、次に少し細く説明して行きます。

コメント(ゲームの名前)

 コメントはProgate レッスン1にて学習しました。実際には実行されないが、コードに書き込むことができ、メモ書きのような使い方ができます。

 今回は、作った関数が少なく、まだまだ初心者だったのでコメントはここくらいしか使ってません…

 しかし、もっと複雑なコードを書くときなどは積極的に使うことをオススメします。何を行うコードなのかですぐにわかりますし、逆に何をするものかわからなくなったら大変ですからね笑

ユクサス

特に初心者さんは、早めに慣れとくといいかも!

モジュール・ライブラリの導入

 今回は、「random」、「time」、「getpass」ライブラリを使いました。

 それぞれのライブラリは上にあるようなことができます。

 今回「random」では、CPUが毎回ランダムでカードを出すのに、「time」は、出したカードや勝敗の結果を表示するまでに間を開けることで緊張感を出すために、「getpass」は、対人戦でお互いの入力を見えなくするようにするために使いました。

ユクサス

詳しいことは、出てきた時に説明します

辞書・リストの生成

 ここでは、『皇帝デッキ』と『奴隷デッキ』、そしてCPU戦で使うために後付けで作ったリストを生成してます。ちなみにemperor は英語で『皇帝』を、slave は英語で『奴隷』を表しています。

 それぞれのデッキの構成は上のイラストなので、どちらの辞書も1〜4の『キー』に対応する『値』を『市民』に、そして5の『キー』に対応する『値』だけ、皇帝デッキでは、『皇帝』を、奴隷デッキでは、『奴隷』を設定しています。

 また、CPU戦用リストはこの数字をランダムに並び替えて、それをデッキの『キー』として『値』を取り出すことで、毎回CPUがランダムにカードを出すようにしています。こちらも、また出てきた時に詳しく説明しようと思います。

ユクサス

少しずつゲームの形ができてきたね!

変数(勝敗を表す)

 これは、’〇〇の勝ち!’を1回1回打ち込むのがめんどくさかったので、最初から変数として用意しようとしたものです笑

 これによって、勝敗を出すときに「シングルクォーテーションで囲んで日本語を打ち込む」という作業を「大文字のアルファベットを1文字入力」するだけに簡略化できて、かなり効率が上がります。

 何度も出てくる文字列などは、最初に短い変数にしてしまうと後の作業が楽になったりします。

ユクサス

 (偉そうに言ってるけど、ある程度コードを打ち込んでから思いついてるんだよね笑)

最後に

ユクサス

また長くなってきたから、今回もこの辺で締めます!

ユクサス

プログラミング初心者さんにも、しっかりわかるようにしようと思っていたら、ついつい長く語ってちゃう…

 前回は、3、4回でこのシリーズをまとめたいって言っていたかもしれませんが、もっと長くなるかもしれないです。

 それでも最後まで、ついてきてくれると嬉しいです。

 今回は最初に設定したことについて、コード共に紹介してきました。次回からはいよいよ作った関数について、コードと一緒に紹介していこうと思います!

 ユクサスのアカウントで BlogMap も登録してます!記事を読んで、気に入っていただけたら「購読通知」と「いいね」をポチってもらえると、嬉しいです!ぜひ、お気軽にどうぞ!

BlogMapのページはこちらから⇨https://blogmap.jp/details/4997

 何かわからないことや、質問があればお問合せフォームやコメント、ツイッターでも気軽にお待ちしてます。

ユクサス

では、また別の記事でお会いしましょう!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次
閉じる