たくのろじぃのメモ部屋スマートフォン用の表示で見るたくのろじぃのメモ部屋プログラミング(C#)の基礎やそれを応用した技術情報をメモしておくブログです。Studio最近、ある友人にC言語を教えているのですが、ふと思ったことがあります。「C言語ってC#から読み込めるのかな?」と。C言語やC++言語はDLL(ダイナミックリンクライブラリ)ファイルにすれば読み込めるとのことです。化した話2019-12-25新しいサイトの立ち上げについて(仮)お久しぶりです。今年も残すところ1週間をきりましたね。今回は技術的な内容ではなく、お知らせみたいな感じです。いうサイトを作成することにしました。4が発売されるということで思い出したことがあって、「そういえば家にRaspberryPi3があったな」と。久しぶりに起動してみようとして電源投入しようとしてみたら起動画面が黒いまま動かなかったのでOSを再度書き込むことに...。本当にありがたい話で、Minecraft自動化の記事を書いてからいろんな方々にお話を伺う機会が増えました。素晴らしすぎた話MineCraft2020年に小学校でプログラミング教育が必修化します。どんな内容か調べてみたらブロックを並べる、いわゆるビジュアルプログラミングでした。「なーにがビジュアルプログラミングだ」と。「男は黙ってガリガリコードを書け」と。建築自動化を行います。この内容が個人的に一番やりたかったことです。建築は設計図をもとにブロックを配置していきたいと考えていますが、設計図をどうするかが問題ですね。マイクラ自動化はもともとC#でどこまでできるかを検証するためにやってきましたが、どうやら本当に色々できるようです。座標移動(テレポート)と配置(ブロック配置)ができれば何でもできそうです。今回は迷路を作ります。StudioJSONファイル読み込みを行うことになったのでやり方をメモ。jsonファイルのパスを指定して内容を読み込みます。jsonldファイルもいけます。シミュレータを使う事になったので、メモメモ。本にはダウンロード方法が書いてあるのですが、少しわかりにくかった部分があったので図を多めにします。ダウンロードサイトへ行きましょう。Onlineを使う方法について書きました。書いているときに思いました。「もしかしてマイクラ自動化もできるのではないか?」と。やってみたいと思います。何が嬉しいかというと、Web上でプログラミングができるのです。「それだけ?」という人、いやいやちょっと待ってください。前回までに行列のロジックをやったので、今回はニューラルネットワークを実装してみます。ニューラルネットワークの学習や出力層を調整する関数は考慮していません。フォワード方向のみです。ニューラルネットワークは活性化関数を用いて、中間層をもつものです。具体的にどのようなロジックで解を導き出すのかがわかりません。今回は行列計算からはじまり、ニューラルネットワークのロジックに迫ります。多層パーセプトロンは単層パーセプトロンを複数の層で重ねたものであり、ニューラルネットワークとも言えます。活性化関数があるかないかでニューラルネットワークかどうかが決まります。深層学習の勉強中に、プログラムでグラフを描画したときのメモです。Formsで作る記事が多かったので、WPFでも描けるように色々調べました。前回は単層パーセプトロンについてやりました。実装できましたが、このままでは組み合わせ回路が実現できません。XORはNANDとORで作りますが、単層ではNANDもしくはORのどちらかしか実装できません。その中でも深層学習を扱うところが多いですね。ゲームAIをはじめ、画像認識やセキュリティなど幅広く活躍しています。自分も興味があったのですが、アルゴリズムが苦手で敬遠していました。ポリモーフィズムについて扱いました。ポリモーフィズムを意識すると、同じメソッドなのにクラスが違うと処理内容が変わるような処理ができます。操作名を共通化できます。前回は湧き潰し自動化を改良しました。具体的には任意の平面座標における湧き潰しを、地形を考慮して行うプログラムに直しました。今回は指定範囲内を更地(整地)にするプログラムを作りたいと思います。整地は建築のための前準備ですね。前回は湧き潰しのプログラムを書きました。前回のプログラムのままでは障害物のブロックがあったときに、ブロックを置き換えてしまいます。動かすために行ったメモです。一筋縄で行かなかったので大変だった記録。前回はプレイヤーの位置座標とブロックの配置方法についてやりました。今回は前回に引き続き、湧きつぶしをやりたいと思います。前回は環境構築とマイクラに対してコマンドを送れるようにしました。今回はプレイヤーの座標を取得し、ブロックをその座標へ配置していきます。このシリーズはdocker環境ではなく、jarファイルで起動したforgeサーバを用います。サーバの環境構築はできていて、遊べる状態を前提としています。前回はdockerで特に何も編集せずに実行していました。今回はバージョン変更やModの読み込みまでやります。Minecraftは結構有名なゲームでyoutubeにも多数実況動画などがあります。内部的な実況は実況者に任せて、私「たくのろじぃ」は技術的な部分を実況(ではなく紹介)したいと思います。楽しんでみたいと思います。初心者なので初歩的な話から「メモ書き」として進めていきたいと思います。連想配列は配列の要素ひとつひとつに名前を付けるようなイメージです。指定する必要があります。いままで扱ってきたクラスやメソッドなどはオブジェクト指向の考え方に沿って動いています。実はオブジェクト指向を調べると、人によって解釈が異なります。情報とできることが少ないのでやめました。アプリを作っていこうと思います。実行環境は以下の通りです。技術系や数学系を多く扱います。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。