コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

人柱学習帳 アポクリファ #2

どうして人間は争うのか

きっと遺伝子がそうさせるんだと思うんです。身体は逃走を求めるのです。


まあそういう話はどうでもいいんですよ。タイトルから中身が全く不明な前回の続きとかそういうのをやっていきます。続きのネタにし辛くて放置していたんだけども、何か思いついたら後から追記とかしていけばいいかとか思ったんで続きやっていきます。

前回記事
inujini.hatenablog.com


続きの内容

ということで前回残ってしまったコンテンツを見ていきます。

アルゴリズムについて
f:id:andron:20200313062021p:plain
特にチェックする機構がないのでどんな内容かだけ以下に乗せておきます。回答とか知りたければ登録すればいいと思うよ。

内容は以下の通り

  • 階乗
// numの階乗を求める
function factorial(num) {
  return num;
}
factorial(4); // 24



  • 一番大きい文字
// strの中で最も長い文字数を返す
function longestWord(str) {
    return longestWord;
}
longestWord("Find a longest word in a string"); // longest



  • タイトルケース
// 大文字に変換して表示
function titleCase(str) {
    return str;
}
titleCase("sky is blue"); // Sky Is Blue



  • 大きい数字
// 与えられた配列arrで大きい数字を取得
function largestOfThree(arr) {
    return arr;
}
largestOfThree([
    [13, 27, 18, 26],
    [32, 35, 37, 39],
    [1000, 1001, 857, 1]
]); // [27, 39, 1001]



  • 最後の文字の確認
function confirmEnding(str, target) {
    return true;
}
confirmEnding("Apple", "e"); // true



  • 繰り返し
// timesの数だけstringを繰り返す
function repeatStringNumTimes(string, times) {
    return str;
}
repeatStringNumTimes("apple", 2); // "appleapple"



  • 文字列の切り捨て
// num文字以内になるようにstrを切り捨て
// 最後の文字は「 ...」となること
function truncate(str, num) {
    return str;
}
truncate("This is a string", 8); // "This ..."



  • 要素の探索
// funcを満たすarr内の一番最初の要素を取得
function findElement(arr, func) {
    let num = 0;
    return num;
}
findElement([1, 2, 3, 4], num => num % 2 === 0); // 2



  • bool判定
// 入力された値がbool型であるか
function boo(bool) {
    return bool;
}
boo(null); // false



  • 配列処理
// arr2内のn番目にarr1を挿入
function splicer(arr1, arr2, n) {
    return arr2;
}
splicer([1, 2, 3], ['a', 'b', 'c'], 2); // ["a", "b", 1, 2, 3, "c"] 


こんなんが練習お題としてあります。気が向いたら回答をGitHubとかに載せるかもしれないし載せないかもしれない。



コンピュータサイエンスについて

f:id:andron:20200313084925p:plain
内容は以下の通り。主にデータ構造とアルゴリズムに関しての内容。

  1. イントロダクション
  2. 配列
  3. 連結リスト
  4. 連結リストと配列
  5. スタック
  6. キュー
  7. 木構造
  8. 最小ヒープ
  9. 最大ヒープ
  10. 二分木
  11. マージソート
  12. バブルソート
  13. 二分探索
  14. 時間計算量
  15. 定数時間
  16. 線形時間
  17. 対数時間

といったことの解説コンテンツです。多分僕はこれからもゴリ押し全探索のクソみたいなプログラムを生産し続けると思うからこれが役に立つことはないかもしれない(競プロをやれ……。


ちなみになんですけど、僕みたいな全探索思考をしているとこの動画みたいなことになるから僕の真似はしないようにな!アルゴリズム大事!


おわり

5分間スケッチ こんな時だからこそアマエビを描くのです編

こんなときだからこそ絵を描くべきなのではないかと思ったのです。

はい、おはようございます。僕です。久しくお絵描きしてませんがこんな時だからこそお絵描きするのがいいのではないかと思ったのですよ。ですので大分昔にやったきり放置していたスケッチネタをやっていこうと思います。

前回記事
inujini.hatenablog.com

5分間スケッチルールとかについて
inujini.hatenablog.com

20時間でどれだけ成長云々みたいな企画やっておいて全く手をつけていなかったねー……。まあいいや、やります。やろうと思えば一日で終わってしまう企画だし、なんなら配信とかすれば確実に一日で終わってしまう企画なんだけどまあそれでやってしまったら面白くもないし*1ということでブログでやっていきます。確か今残り116枚くらいだったと思う。

このまま、だらだら継続していくのもアレなので20時間で人は能力が身につくのかなんてこともセットでやることにしました。それで、上達の形跡が見られたらいいですね。

そんなわけで今回の5分スケッチで残り238枚となります。
(20時間 = 1200分)

5分間スケッチルールとかについて

アマエビを描くです

てなわけでしてアマエビでも書こうかと思います。なんでアマエビなのかと言いますと某SNSで世の中が不安定なこんなときはアマエビを描くと良いっていう情報を得たからです。え?アマビエですって?細かいことはいいんだよ。

もう描いてしまった。一回目が左、ちゃんとした知識とか得てからリベンジしたのが右になります。

f:id:andron:20200402021026p:plainf:id:andron:20200402021032p:plain
細かい触角的な部分とこはまだまだなところあるけど、2回目良い感じ改善された感でてません?顔部分のリアル感は出せてる気がするんです。どうですか?まあ、これがアマエビなのかって言われたらまだエビ的なもの感が否めない。

ちなみにアマエビって正式名称はホッコクアカエビなんて言うそうですよ。へー。

ホッコクアカエビ(北国赤海老 Pandalus eous)はタラバエビ科に分類されるエビの一種。北太平洋の深海に生息し、重要な食用種として漁獲される。別名は、アマエビ(甘エビ)、ナンバンエビ(南蛮エビ)など。
Wikiより

さらにどうでもいい知識としてタラバエビ科は成長すると性転換したりします。これは薄い本が捗りますね(???)。


はい。ということで「20時間で得られるものはあるのかチャレンジ」の方は残り114枚です。果たして何かしら得られるものがあるんでしょうか……。というかこう期間を空けてやってしまっていいものなのだろうか……。


つづく

*1:面白くする技術力がない言い訳

今日の読書感想文 ふにてぃ編

タイトルにユニティとかつけてるのにあんまり手をつけてない話

はい。おはようございます。僕です。今日も読書していきます。今日はこれの読書ネタを思いついたからUnity編も更新することにしました。

いつもの(?)。そんなわけでして中身を見ていきます。

まあJupyterネタということでC#環境の構築方法やってもいいんですが、せっかく書籍でゲームエンジン扱っていますのでUE4使って似たようなネタやっていこうと思うのです。ふりがなUnityネタでやっていますが、今回はUE4のブループリントネタに走るというね……。何もかも違う……。

www.unrealengine.com
ちなみにUE4はこれね。

関連:ブループリントについて
月曜日なのでゲームでもつくろうと思う - コミュ障だから明日が僕らをよんだって返事もろくにしなかった
以前にもこの辺りでブループリントいじってますが、今回は書籍の中身(コード)がどんな感じなのかということを感想文ネタにしたいのでやることにしました。やっぱり中身がどんなものなのか分からないと人に薦める感想文としても不誠実なものあるなって個人的に思うのです。んで、そのまま書籍通りにやっちゃうと、出版元にまあ怒られそうなのでUE4でやるわけですね。

ということで書籍の方の目次を確認していきます。

目次
Chapter 1 Unity C#最初の一歩
Chapter 2 条件によって分かれる文を学ぼう
Chapter 3 繰り返し文を学ぼう
Chapter 4 ゲームオブジェクトを動かそう
Chapter 5 ゲームを仕上げよう

構成としてはこんな感じです。基本的に最初の方はデバッグログだして文法確認とかやっていくやつなんでChapter3ぐらいまではできそうですね。

てなわけで見ていきます。
・Chapter 1

f:id:andron:20200331231504p:plainf:id:andron:20200331231507p:plainf:id:andron:20200331231510p:plain
内容は画面の設定方法や導入などの話。そして最も基本的なコードの書き方、いわゆるプリントデバッグと変数の扱い方についての話になります。コードに関してはハローワールド(左)、四則演算のやり方(中央)、変数の扱い方(右)とかそんなのやります。ところで変数:売値を "urine" とローマ字で書かかれても『尿』の意味でしかとれないのは僕の頭がアレだからなんですかね………。


・Chapter 2
f:id:andron:20200331231611p:plain
いわゆる条件分岐について見ていきます。ブループリントだとifではなくブランチとかいうものでできるとのこと。

f:id:andron:20200331231615p:plainf:id:andron:20200331231621p:plainf:id:andron:20200331231617p:plain
AND、OR、NOTを交えてもみたり。


・Chapter 3

f:id:andron:20200331231812p:plainf:id:andron:20200331231806p:plain
いわゆるループについて見ていきます。WhileとForを使ってこんなものを作ったり。

f:id:andron:20200331231758p:plain
応用として九九表などを作ってみたり。ここの書籍「九九表をつくろう」みたいの必ずあるイメージ。ブループリントでやったらなぜか苦戦した。


f:id:andron:20200331231803p:plain
配列を使ってループを書いてみたり。これは東西南北の方向を吐き出すやつです。

f:id:andron:20200331231809p:plain
んで、配列を利用して総当たり戦を出力するループを作ってみようなどを……。これもブループリントでつくるのめっちゃ苦戦した。


内容としてはこんな感じです。ノードのつなぎ方が気持ち悪すぎて内容を把握できるかどうなのかよくわかりませんが、内容としてはこんな感じのやつが各チャプターに詳しく載っています。


Unityをやっていきます

はい。そんなわけで、Chapter 4からはゲームエンジンのゲームをつくるという項目になってしまうのでUnityいじっていきます。このブログはUnityとUE4の両方の使い方が学べてお得ですね(?)。まあUnityの方は特に面白いものできなかったんで最終的に作れるやつだけ載せるだけなんですけどね…。Unityは添えるだけ。

f:id:andron:20200331231442g:plain
最終的にこんなん作れます。クリックで野菜を落としてはこの中に入れようゲーム。



とりまこんなゲームできます。もしつづきやるとしたら、Unityで作ったやつと同じようなやつをUE4で作ってみるとかやっていきたいな。まあ、手持ちにいい感じのアセットがなかったらずるずる引き延ばしになりますのでご了承下さいまし。


おわり



そういえばVBAネタも残ってたなあ。あれどういう風にやろうかな……。