プログラム初心者がiPhoneアプリでそこそこ稼ぐまでの軌跡

Swift(Playgrounds)とXcodeを頭の弱い素人が猛勉強しiPhoneアプリの開発を目指す(そしてあわよくばそこそこ稼ぐのを目指す)ブログです。

いよいよPlaygroundsを始めるよ! 【コードを学ぼう1】1:コマンドを使う

こんにちは。

Make appです。

 

いよいよ本日から、本題であるプログラミングを進めていこうと思います。

 

www.apple.com

Plyagroundsは、プログラミングコード「Swift」を、ゲームのような感じで初心者が簡単に勉強できるappleが作ったMaciPadに対応しているアプリです。

と、私も思ってましたよ!!

ところが、前回の最後に書いたように、とんだ問題がありました。

 

というのもですね、Playgroundsをやり始めて気づいたんですが、これ、そもそもプログラミングコードっていうものを、ほんの少しでもわかっている人でないと、良くわからないと思います。いや、もしかすると、初心者向けである、という事は理解できるので、やっぱりプログラミングっつーーものが、比較的難しいものなのかい?ってな感想を現時点では抱いております。

 

f:id:amatureapp:20200618155227j:plain

少し具体的に言うと、↑これがPlaygroundsの最初のコードを書く画面なのですが、主人公(Byte)っていう右奥を向いている宇宙人みたいなのが要るんです。

 

何これ??

 

そして、moveForwardってコマンドを書いてくれって指示なんですが…

 

なんか思ってたのと違う。

 

いや、たしかにゲームっぽい画面にするならもちろんこのような感じが良いんだと思いますが、なんか、プログラミングって、思ってたのは、真っ白いなんにもないキャンバスに、自分で自由に書いていくような感じというか(←すみませんプログラミングの完全素人の発言と聞いてください)、そういうイメージで入ったので、

 

あれ?Byteってキャラは既に存在されてるの?とか、

MoveForwardってもうそういう「動作」についても決まってるの??

 

なんていう事がすんなり受け入れられないんですよ…。

もちろん、この画面になるまでに、プロローグ的な説明スライド(はじめに「コードを学ぼう1」)はあるので、親切だとは思うんですが、何ていうか、完全素人には、いきなりツキハナーシ感はありました。

 

高校の数学の教科書って、中学校の数学が分かっている人前提で書いているじゃないですか。なんか、中学の勉強をプロローグでサラッと言われて、いきなり高校の教科書を読め!と言われた感覚に近いです。えぇ、そんな経験したことないですけど、たぶんそんな感じです。

 

と、言うことで、もし私と同じく完全素人の方が入れば、以下のようにPlaygroundsに挑む心構えを持ってください。

 

1)キャンバスは真っ白ではないです。既にアップルさんが用意してくれた、キャラクターや動作のプログラムは組み込まれた状態のアプリです。(ま、よく考えたら当然なんですけどね。イキナリ真っ白だと、それこそ何書いたら良いかわかんないですし…)

 

2)各章のプロローグはしっかりと読みましょう。ただ、理解できないことも多いので「そういうことが前提の世界」としてサクッと読み進めましょう。

 

3)サクッと進めていくと、過去に戻った時に「これはこういう事だったのか!!」と分からなかった事が、ぱぁ〜〜〜〜〜〜!!と分かる事になる瞬間があります。

 

また前段が長くなってしまいましたが、基本的にはそういう事で進めていきます。

 

では、まずは最初のお題「コマンドを使う」です。

 

前提として…キャラはByteくん、動作(コマンドのこと)は、「進む」と「宝石を取る」っていうのがあるよ、と理解します。

 

結局プログラミングって、パソコンに(何が)(どうする)って指示出すことだと思うので、

(Byteくん)が、(3歩歩いて)(宝石を取る)っていう文章を書けば良いんだと思います。

ただ、今回は登場人物が(Byteくん)しか居ないので、あえて(誰が)の部分は書かなくて良いようですね。

 

そして(どうする)っていうのをパソコンに理解させるには、文字の後に()を記載する必要がある、と言うことも、そういうもんだとしてサクッと覚えて進めましょう。

ここで、「なぜ(括弧)なの?」とか言い出すと、マジで進まないです。

僕も早速その沼にハマりそうでしたが…何とか抜け出せました…。あやうく、プログラミングが大嫌いになるところでした…。

 

とりあえず、()つけたらそれが(動作)コマンドだよってパソコンが理解するんだ!と正義感を振りかざし、脳裏に焼き付けましょう!

 

 

結論、答えとしては…

moveForword()

moveForword()

moveForword()

collectGem()

 

で、無事にByteくんが宝石を取ってくれました!

(プログラム部分の背景色を付けたいんだけど…行ごとにしか付かない…こちらも素人ですので、ちょっとずつ勉強していこう…)

 

f:id:amatureapp:20200618164108j:plain

おめでとうございます!と大げさに褒めてくれます。

こんな感じで、一応人生で30年ぶりくらいにプログラミングを書いてみました。

30年前は雑誌に書いてあるのをそのまま打っていたので、少し考えた分、今回のほうがレベルが高いと思いましょう!思いたい!!

 

この程度の問題でつまずいてはられないので、サクッとこの辺で。

 

Male appでした。