プログラミングでゲームを作ろう!オススメのプログラミングはこれだ!(Part 1)
どうも、ウラミチです。
私は、大学講義の中で、プログラミングの授業が必修科目にありました。
プログラミングなんて、絶対難しいでしょ。
そんなイメージがあり、講義を受けるのが不安でした。
しかし、いざ受けてみるとびっくりするほど簡単!!!
たった15回の講義で、自作のゲームを作れるまでになったのです!
なぜ簡単なのか??
そんなの単純です。
大学の中で、最初に学ぶプログラミング講義だったからです。
Webエンジニアを育てたいはずなのに、いきなりめちゃくちゃ難しいプログラミングに取り組ませたら、挫折者続出ですよね?
このnoteでは、
・プログラミングを始めようか迷っている
・プログラミングを始めたいけど、難しそう
・簡単なプログラミングについて知りたい
そういった方に向けた内容となっております。
ーーーーーーーーーーーーーーーーーーーーー
本題の前に
皆さんは、プログラミングを勉強することでどのようなメリットがあるのか気になりますよね?
それは、次のことが挙げられます。
①、ロジカルな思考になる
②、好きな時にできる
③、選択肢が広がる
④、アイディアを形にできる
⑤、高収入につながる
まずは、これらの5つについて、話していきます。
①、ロジカルな思考になる
プログラミングを学ぶことによって、ロジカルな思考を持つことができます。
世の中には、感情任せに怒るだけで、まったく理にかなっていない発言をする人がいますよね。
しかし、プログラミングは物事を順序立てて、組み立てることが重要です。
プログラミングに取り組んでいく中で、日常生活においても、ロジカルな思考が身につくわけです。
プログラミングを学び、ロジカルな思考を持っている人は、どんな時も冷静で問題を的確に探し出すことができます。
そんな人に憧れませんか?
②、好きな時にできる
現在、新型コロナウイルスの影響で、様々な業界が経済的な損失を負っています。
しかし、ネットビジネスの業界はどうでしょうか。
緊急事態宣言が出され、外出自粛を余儀なくされた人々は、Amazonで生活用品を買い、YouTubeを観る。
ネットは、このような状況下でも活動し、給料を得ることができるわけです。
プログラミングは、どのような場所や時間でもネット環境があるだけで取り組むことができます。
プログラミングを仕事にすることは、とても効率的なわけなんです。
③、選択肢が広がる
プログラミングは、選択肢が出来ます。
会社に属している人もいれば、フリーランスで活動している人もいますよね。
プログラミングが身に付いていて、独自で活動できる人は、会社に属していても、依存しなくて済むわけです。
会社が倒産したり、リストラにあったりしても、お金に困ることはなくなる。
本当の安定とは、こういったことだと思います。
④、アイディアを形にできる
プログラミングを学習することで、自分のアイディアを形にすることができます。
すでにある物を使うよりも、まだ無いものを創ることができたら、誇らしくないですか?
友達が目の前で使っているアプリが、自分が製作したアプリだったら、最高ですよね。
プログラミングを学習することで、ものを使う側の「消費者」としての思考ではなく、作る側の「生産者」としての思考が身につくわけです。
⑤、高収入につながる
プログラミングは、学生でも始めている人が多くいます。
そんな学生が、年収1000万を超えているような時代ですよ。
それはなぜだか、わかりますか?
需要が半端ない!からなんです。
しかし、人が足りていない状況もあります。
今始めれば、業界のトップになれるかもしれませんよ。
このように、プログラミングを学ぶことには、多くのメリットがあります。
始めるしかないでしょ!!!
ということで、長くなりましたが本題に入ります。
●オススメするプログラミング言語
冒頭でも述べたように、私は大学の講義でプログラミングの授業を取っていました。
そこで使っていたのが、Python(パイソン)
というプログラミング言語になります。
なぜ、Pythonがオススメなのか。
Pythonは、プログラミングを始めたばかりの人にも簡単に使うことができる便利な機能がたくさん詰まっているからです。
他のプログラミング言語と比べて、シンプルでとても読みやすく、入力したプログラムがきちんと動いたかどうかを、すぐに確認できる、インタラクティブシェルという機能も持っています。
さらに、2021年現在では、JavaやC#といったプログラミング言語を抜き、トップシェアを誇っているわけです。
また、Pythonは米国の大手企業がシステムに導入していることでも有名で、マイクロソフト、アップル、Google、Yahoo!、YouTube、Dropboxなどの有名企業で採用されています。
皆さんが好きなお金の話です。
Pythonエンジニアの年収帯:400~850万円
PHPエンジニアの年収帯:350~650万円
Javaエンジニアの年収帯:300~700万円
Rubyエンジニアの年収帯:300~650万円
C#エンジニアの年収帯:350~650万円
どうですか、Pythonやってみたくありません
か???
今回からは、Pythonがどのようなプログラミング言語なのかを、シリーズ化して、発信していきたいと思います。
ゴールは、ゲームを作る!!
しかし、ただゲームを作るだけではなく、Pythonのプログラミングがどういうものなのかを理解しておかなければ、このnoteを読む意味がないですよね。
私の発信を日々読めば、プログラミングが出来るようになるのと同時に、ゲームも完成していきます!
さあ、早速始めていきましょー!
ーーーーーーーーーーーーーーーーーーーーー
いまからは、
・Pythonのプログラミング(入門編)
このテーマで進めていきます。
初回なので、有料版の方がよりパソコンの機能に近い形でできますが、手軽に始められるよう、無料アプリ版のPython3IDEで進めていきます。
簡単にインストールできますよ!
1、hello world
まずは、プログラミングを学ぶ人の誰もが通る道、Hello Worldを表示させる方法について学習していきます。
プログラムを入力します。
プログラムを入力することを、プログラミングでは命令するといいます。
まずは、printというワードを使って、命令していきます。
上記と同じように入力できましたか?
少しでも違うと、エラーを起こして表示されません。
上記のように入力し、中央右端の三角を押すと、
下に表示されます。
これで、一つの命令プログラムが成立したわけです。
(running! で始まり、run end! が表示されれば正しく入力できています。)
ここで重要なのは
・カッコの中が表示させたい文字
・文字を表示させるために使う単語がprint
であるということです。
よっしゃ!!
さっそくプログラミング言語を使って、命令ができましたよ!
やれそうじゃないですか???
2、計算と変数
✔️計算
プログラミング機能が搭載されたものには、必ず計算機能があります。
ここで使うのも、printです。
このように、入力します。
あれれ、入力の仕方が上記のHello Worldを表示させたときと少し違いますね。
要するに、クォート文字で囲むかどうかで、表示が変わってくるのです。
カッコの中をそのまま表示させたい場合は、クォート(“や’)で囲みます。
こうなるわけです。
逆に、クォート文字で囲まなければ、表示が式の答えになるという仕組みです。
感の良い方なら、ここで気付いたはずです。
クォート文字には、囲んだものを一つの括りにする役割があります。
これだと、Helloと Worldのどちらを表示すべきかわからず、エラーが起こってしまいます。
このエラーは、Hello Worldというページの1行目に書かれている、print(Hello World)がPythonの文章として間違っているという意味になります。
補足…
Pythonで使える演算子
掛け算や割り算の演算子は、×や÷ではうまく表示されません。
✔️変数
変数とは簡単に言うと、箱だと思って下さい。
これから先、より複雑なプログラムを書くようになると、プログラムの中で多くのデータを取り扱うようになります。
そのため、特定のデータを置き換え、プログラム内を整理するための機能が変数です。
例えば、okane(変数)=100であれば、100という数字が、okaneという名前に変わったことになります。
ここで、print(okane)と入力すると
このようになるわけです。
今、違う表示が出てしまった方はいませんか??
こう入力すると、okaneがそのまま表示されます。
早速、復習でしたが上手くできましたか?
この機能の便利なところは、データが複雑化したときに実感できます。
例えば、okaneが6755775477このような数値になったとします。
これを3倍にしたい!
上記のように入力するのもありですが、少々入力が面倒ですよね。
そこで、
上記のように、置き換えた変数を用いると、様々な場面に応用できるようになるわけです。
このように、単純な計算に変数を使えばそれなりに便利になります。
しかし、まだまだ本当の便利さを知ったわけではありません。
3、文字列、リスト、タプル、辞書
✔️文字列
プログラマーは、「私は高校生です。」のような文字の並びを文字列といいます。
もちろん、ここまで私が書いてきた文章も文字列です。
Pythonには、文字列を作る際のルールがあります。
それでは、文字列の変数をJamesとし、始めていきましょう。
■文字列を作る
ここで重要なのは、表示させたい文字列は、”や’で囲むということです。
囲み忘れると、、、
もちろんエラーになります。
上記でも出てきたように、”や’には、囲まれたものを一括りにする役割があります。
文字列を作ることにとっては、切り離すことができないものです。
ここで、文字列が長くなり、改行したくなりました。
何も考えず、改行して入力してみます。
エラーになってしまいました。
きちんと、クォートで囲っているはずなのに…
EOL=「End-Of-Line」(行の終わり)という意味。
このエラーでは、文字列の途中で、行の終わりになってしまっていることを教えてくれています。
文字列を複数行作りたいときには、クォート文字を3つにします。
今回であれば、ダブルクォートを3つです。
クォート文字を3つにすることで、行の終わりが明確になり、それぞれの文字列を正しく表示することができました。
■データを文字列に埋め込む方法
文字列には、データを埋め込むという機能があります。
埋め込みたい場所には、%sと書いておきます。
これは、myscoreの値を自由に変えることができるという便利さがあります。
こういったことを駆使することで、点数性のゲームのscore表示に繋げることができます。
■文字列の掛け算
10×5=50ですね。
では、文字a×10はPythonだとこうなります。
10aとなるのではなく、aが10個表示されました。
これは文字列をページの右側に寄せたい時などに使えます。
スペースをクォートで囲むことで、スペースが文字として認識されます。
それに20を掛けることで、20スペース分が空き、右側に寄った文字列を表示できるようになりました。
✔️リスト
リストとは、複数あるデータの中から、一つを指定する時などに用いる、とても便利なものです。
■文字列よりも強力な「リスト」
生き物のリストを作ります。
リストを作るルールは、各括弧で囲むことです。
今、このリストは6個の文字列で作られています。
それぞれのデータのことをリストの要素といいます。
リストを作る際には、入力が面倒に感じると思います。
しかし、データを自由に編集する上では、文字列よりもリストがより便利なのです。
例えば、newt(トカゲ)だけを表示させたいときには、次のようにします。
勘の良い方なら、気付いたかもしれません。
おやおや??
newtは3番目にあるのに、入力の際には、[2]の数字を指定している??
リストのインデックス値(リストの中での位置)は0から始まります。
これは、覚えておかなければならないことです。
リストは、中のデータを変更することもできます。
newtではなく、snail(カタツムリ)に変更したいときは、次のようにします。
ポイントは、インデックス値を指定し、変更したい内容を=で繋ぐことです。
ここでも忘れていけないのは、リストの最初は0から数えることです。
もちろん、リストの一部を取り出すことも可能です。
これは、インデックス値2~5を取り出すという命令をしました。
[2:5]の部分は、「インデックス値2からスタートして、インデックス値5より小さい範囲」という意味です。
つまり、3番目から5番目の要素を取り出すということになります。
■リストに要素を追加する
リストに要素を追加したいときは、appendという機能を使います。
appendを使った際には、リストの最後に追加されます。
リストにbee(蜂)を追加します。
このような入力方法になります。
■リストから要素を取り除く
これは、リストから一部を取り出すとは意味が違います。
リストから、そのデータを削除するということです。
その際には、delを使います。
このような入力の仕方をします。
きちんと理解ができている人は、上の入力を見ただけで、どのデータが削除されたかわかるはずです。
その他、2つのリストを足し合わせるなどの機能もありますが、ここでは省略します。
✔️タプル
これは、リストにそっくりな役割があります。
各括弧の部分が丸括弧になるだけです。
簡単ですね。
しかし、タプルは、内容の変更が一度限りなのです。
3を取り出した後、0を4に変更することはできませんでした。
要素の追加も削除も書き換えもやり放題なリストに対して、自由度の低いタプルがあるのでしょうか。
これから、複雑なプログラムを書いていく中で、変化しないという性質が便利になることもあるからなのです。
今は実感が湧きにくいですが、これからゲームを作るに至ってやプログラムを組むに至って、タプルの必要がわかってきます。
さあ、第3章は少し複雑なことをしました。聞いたことの無い言葉も出てきました。
次が第3章の最後です。
後少し、頑張りましょう!!
✔️辞書
辞書といっても、国語辞書のような言葉を教えてくれることはありません。
リストやタプルのようなデータをしまっておくためのものを指します。
例えば、3人に好きなスポーツを聞いたとします。
その時の辞書を作ります。
これで辞書の完成です。
コロン記号の左が「キー」となり、右が「値」となります。
表にすると、
キー 値
Jackson Football
James Basketball
Mike Baseball
このようなことになります。
この便利なところは、数百、数千とあるデータから、1人の好きなスポーツを探し出すことができることです。
例えば、Jacksonの好きなスポーツを知りたいときは、
このように「キー(Jackson)」を指定することで、Jacksonの好きなスポーツを見つけることができました。
注意が必要なのは、リストとは違い、Jacksonという文字列自体にキーの役割があるため、インデックス値での指定は、エラーが起こってしまいます。
2って何だ??とPythonに言われました。
ここまで、長々とお付き合い頂き、誠に感謝しております。
第3章までで、part1は締めくくらせて頂きます。
拙い文章のため、わかりにくかった箇所が多くあると思います。
TwitterなどにDMを頂ければ、すぐに返信致します。
@reuse_uramichi
次のpart2も宜しくお願い致します。