ほそめパパブログ

アラフォー3児のパパが子育てについて書いてます

Frepでのハート送信を題材に『プログラムを組む事』について解説

投稿日:2017年2月18日 |最終更新日:

Pocket

どうもほそめパパです。

今回はツムツムでハートの自動送信をするのにFRepを使っている、又はこれから使おうとしてるけどプログラムの作り方がわからない。

プログラムってそもそも何なの?という疑問についてわかりやすく説明します。

FRepの使い方は知ってるけど、どのように作れば自動送信が出来るか知りたい方は最後に説明している記事を紹介しているのでそちらを参考にして下さい。

プログラムというもの自体の意味が理解出来ていないとトラブルが起こった場合、原因もわからなければ解決方法もわかりません。

遠回りと思われるかもしれませんが、まずはプログラムというものについて理解していきましょう。

スポンサーリンク

自動化の実現方法について

どのようにすれば最終的な目標となるハート送信の自動化が出来るようになるでしょうか?

こちらの3つが出来れば完成も間近です。
・プログラムの考え方を理解する
・FRepの機能を使えるようになる
・自動送信プログラムを作る

自動送信プログラムを作るようになればわかりますが、いきなり完璧なものは出来ません。失敗を何度も繰り返しながらコツコツと時間を掛ける作業になってきます

パソコンが苦手であれば、わからないことがわからない状態になるかもしれません。

ただ、途中で諦めない限り無駄な時間にはなりません。書いていることをゆっくりでもいいので、理解しながら進めていくと必ずできるようになります。

ハートの自動送信を手動と自動で行った場合のそれぞれのメリットとデメリットはこちらになります。

【手動】
メリット:画面を確認しながら操作するので操作ミスが少ない
デメリット:地道な作業を繰り返すのに時間が掛かってしまう

【自動】
メリット:指示した通りの事を自動的にしてくれる
デメリット:教えたことしかできないので、予想外のことが起こるとどうなるかわからない

ハートの自動送信では、予定外のことを事前に対応しておくことで、ほぼ100%自動化することができます。

ではプログラムについて理解していきましょう

プログラムを組む(プログラミング)とは?

コンピュータに対してどのような事をするか教える。
作業のことです。

んーピンとこないですね

例えば

横断歩道があり無事に渡ろうとすれば、どのようなプログラムを組めば良いか考えてみましょう。

信号が
青の場合、進め
赤の場合、止まれ
という事をプログラミングします。

そうするとコンピュータは指示された通りに青の場合は進み、赤の場合は止まります。教えてもらっていないことについては何もしません。

実際に動かしてみるとどうなるでしょうか。

信号が青で点滅しているときどのようにコンピュータは動くでしょうか?

信号が青という条件しか指定していないので、点滅の場合でも進みます。

その結果、渡っている途中で赤になったら止まれと指示しているので止まります。

これでは駄目ですね。
横断歩道の途中で立ち往生してしまいクラクション鳴らされるか事故が発生してしまいます。

ではどのようにすれば良いか?

青が点滅の場合は急いで進むという指示を追加してみましょう。

先程よりかは無事に渡る可能性が高いかもしれませんが、点滅し終わる直前に渡り始めると同じ事が発生します

一般的にプログラムというかコンピュータというものに対して良く勘違いされることがあります。

それは「頭が良くてかしこい」というウソの間違った情報です。確かに処理速度は早いですが、教えられたことしか出来ません。頭が良いわけではないです。(自分で判断する能力はありません)

考える事が出来ないので、人間のように状況を判断しながら行動をすることは出来ません。

この横断歩道を渡るプログラムではたまたま渡れる事があるかもしれませんが、事故が起こる事かもしれません。

事故が起こってからでは遅いので100%無事に渡ることは難しいですが、事前に起こりそうなことを教えることで100%に近づけることは出来ます。状況によってどのようにすれば良いか教えてあげましょう。

信号が赤から青に変わり、青が点灯している場合に進む。

このように教えてあげると安全に渡れる確率は上がります。でも教えられた事しか出来ないので、渡り始めようとしたときの信号が青で赤に変わるまでの時間に余裕があっても渡りません。

事故は起こりませんが、次の赤まで待ってから渡るので遅くなります。

赤から青に変わった場合という条件なので「青なら渡る」という場合に比べて、状況によって行動できる確率(回数)は減りますが無事に渡るという確実性は格段に上がります。

遅くてもこれで大丈夫だろうと思いがちですが、渡っている間に救急車が来た場合どうなるでしょう

救急車が来たときの対応方法は教えていないので止まらずに渡ります。

プログラミングでやりたい事は100%可能になる事はありません。なぜならこのような対応の仕方を教えていない想定外の出来事が発生するからです

こういった起こりえる可能性がある出来事についての対応方法を教えていくことで問題が起こる可能性は低くなります。

分からない事を教えてあげるというのは何かに似てないでしょうか?

小さな子供に物事を教えてあげる事です。

無理矢理かな

プログラミングを子供のように可愛がって上げて下さい。思い通りに動いてくれると愛着がわいて可愛く思えてきますよ。

その為には教え方にもよりますが、ぼんやりとした説明で判断を間違えそうなところがあれば、出来るだけわかりやすい指示をするようにしてあげましょう。

ハートの自動送信ではどのようにプログラムを組めばよい?

ハートを送信する操作の手順を信号の話のように置き換えてみましょう。

プログラミングする事としては
1.一番下までスクロールする
2.画面にハートがあるか確認する
 あれば3.へ進む
 なければ4.へ進む
3.ハートをタップして送信する
 2.へ進む
4.4人分上にスクロールする
 2.へ進む

このような指示であれば、画面のハートがなくなるまでハートをタップして、画面のハートがなくなれば4人分上にスクロールすることを繰り返します。

これでランキングからのハートの送信は漏れる事がありません。

但し、このままだと全てのハートの送信が終わってもずっと2.と4.の繰り返しになってしまいます。

このような終わりがない繰り返し続ける処理をプログラム用語では無限ループと呼びます。

このままでは1回分のハート送信がいつまで経っても終わりません。

繰り返し作業を終える為には指定回数を決めておくか終わりとなる判断を入れておくかの2つの方法があります。

対応策としては4.のスクロールの回数をランキングの人数より多めに指定しておきます。300人であれば80回位にしておきましょう。

60回であれば人数より少ない為、途中で終わってしまいます。

でもこの方法だとランキングの人数が増えた場合に回数の調整が必要になってきます。

その場合の対処法として2.の前に1位が固定の位置にいる場合、最後の人までハート送信したから終了するという判断を入れてあげます。

こうしてあげることで人数が増えても減っても調整する必要はなくなります。これでハートの送信は無事に出来ると思います。

ハートの自動送信で想定外の出来事とは?

厳密には想定外の出来事ではなく事前に教えてあげる必要があることになります。

意外になさそうであるんですよね。上のプログラムだけでは対応できない内容になります。

電波が切れた

この対応方法は電波が入れた時にリトライ(再接続)するように教えてあげます。

家のWi-Fi使ってるから大丈夫という方もいるでしょうがつながらなくなるときがあります。

私も始めはそう思っていましたが、24時間フルで動かすようになるとたまに電波が拾えなくなってきます。スマホ自体が古いと処理が追いつかなくなって切れてしまうのも原因の1つです。

他にも電波が切れる原因があります。それはイベント期間中だと回線が混むのでつながりにくくなります。そうするといつもより回線が切れやすくなります。

余裕が出来てきたら対処するようにしましょう。

バッテリーが切れそうになった

これについてはバッテリーが弱ってきてる事も考えられるので、事前の対応として新しいバッテリーに変える事も考慮しておきましょう。

プログラミングとしての対応は送信が終わったら次の送信まで画面をオフにして次の送信が始まる直前に画面をオンにする事です。

これはかなり上級テクニックになってきますが、バッテリーが減る一番の原因は画面のバックライトです。オフにする事でバッテリーの持ちは断然に良くなります。

24時間送り続けるからオフにする事はないという場合は画面の設定になりますが、画面の明るさを落とすだけでバッテリーの持ちは良くなります。

明るさを調整するアプリでほぼ真っ暗にする事も出来ますが、画像認識がしづらくなるのでお勧めはしません。

アップデートがあり、ログイン画面に戻された場合。

ハートの送信の前か後にログイン画面の対応を入れておきます。

そうする事でログイン画面に戻った場合にログインした事を確認してからハートの送信を始めます。

最後に

自動化に正解はありませんが、色々な方の考え方と知識でやりたい事は出来ると思います。

あくまでも私の考え方なので、こうした方が良い、そこは間違っている等賛否両論あると思います。
ある一例として参考にして頂ければ良いかと。

それなりに動くものが出来てきたら自分なりにカスタマイズして下さい。
自分で納得出来るものが完成した時には手動送信からの開放感に浸って下さい。

プログラミングを理解せずに作ると、もし問題が起きても自分で考えてトラブル対応が出来ません。

思い通りに動いてもらう為にはどのように教えればよいか考えましょう。

わからないことがあれば気軽にコメントに質問して頂ければ答えますので自動送信できるように頑張っていきましょう。

Pocket

スポンサーリンク


-ツムツム


  1. jb より:

    初めまして
    ブログ拝見しております
    ツムツムのフルオートが未だに組めていません(・・;)
    お時間があるときに解説よろしくお願いいたします

    • ほそめパパ より:

      コメントありがとうございます。ブログを始めて間もないので、ブログ自体のデザイン、文章が伝わりやすくなるように勉強している為、更新が遅れています。来月の中頃までにはフルオートでメインとなるスクロールとハート送信の画像認識をテーマに記事を書くつもりです。もうしばらくお待ち下さい。

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサーリンク

プロフィール

【プロフィール】

ファミコン世代で、幼い頃はゲームに明け暮れる日々を過ごしていました。
中身は変わらずそのまま年を取ってしまい今に至ります。
4歳の男の子の双子と2歳の女の子の3児のパパをしています。

ハートの自動送信のやり方まとめ