API
はじめに またまた更新が遅くなりましたが、前回の記事を元に実際のコードを示します。 前々回の記事、タートルにAIを組み込もう(rule-basedプログラミングのすすめ) - Minecraftとタートルと僕 タートルにAIを組み込もう(rule-basedプログラミングのすす…
はじめに 更新が大変遅くなりましたが、その分、内容濃い目でお送りします。 今回は、rule-basedプログラミングの基礎ということで、ルールをどんどん追加していくことで次第にタートルが複雑な作業をできるようになる過程を紹介しましょう。 最終的に以下の…
はじめに 関数型プログラミング? オブジェクト指向? いえ、時代はルールベースですよ!! (ある意味逆行してます) 今回は、手続き型とも、関数型とも、オブジェクト指向とも違う、新しいプログラミングパラダイムについてご紹介したいと思います。 ルー…
ソフトの概観とダウンロード version0.1の公開を停止し、version0.2を公開しました。詳しくはこちら。 ニンジャコピペだと、このくらいのパラメータが好きかも・・・ pic.twitter.com/GJQMxrPjHi— 確実にへぼへぼ (@hevohevo) 2014, 7月 28 VoiceTextApp. ve…
はじめに テキスト読み上げソフトってご存知ですか? 手元にある文字テキストを読み込ませると、その文章のヨミを自動解析して、声で読み上げてくれるソフトです。 コンピュータによる合成音声なので、抑揚がでたらめで不自然なこともあるのですが、読み上げ…
目次 チュートリアル目次 >> チュートリアル「FS APIを使いこなそう」まとめ 全13回 対象(Luaプログラミング、初級~中級者) (1): CCファイルシステムの基礎 (2): CCのファイルを扱うシステムプログラムの紹介 (3): FS APIの解説 (4): fs.open()でファイ…
はじめに 前回の記事はlogging API ver.04の仕様を説明しました。 FS API を使いこなそう(12): logging API version0.4の解説と応用 またその応用例として、タートルが作業をしている間にゲームを終了しても、ゲーム再開時に自動的に初期位置へ戻ってくると…
はじめに 前回は、logging API version0.4を完成させました。 FS API を使いこなそう(11): 移動履歴を使って元の位置に戻る機能を実現 (logging API version 0.4) http://pastebin.com/xLwUS6Y5 主な機能としては、以下のとおり。 ログをファイルに出力す…
前回の復習 前回までで、logging APIによるタートル移動履歴機能を完成させました。 FS API を使いこなそう(10): 関数の引数を柔軟に取り扱う logging.forward()などを使って移動したらログファイルに移動したことを書き込んでいきます。 今回は、そのログフ…
前回までのお話 前回:FS API を使いこなそう(8): 【補足】関数を定義する関数を定義する(応用編) 関数を定義する関数を定義しましたよ! この関数、createLoggedFunc()を使ってプログラムが簡略化できました。 logging APIがとりあえずの完成です。 log…
前回のお話 関数型プログラミング(基本編): FS API を使いこなそう(7): 【補足】関数を定義する関数を定義する(基礎編) 前回は関数型プログラミングの基本ということで、Luaの関数がファーストクラスオブジェクトであることを説明しました。 ・・・え…
移動履歴を残すプログラム かなり間が開きましたが、前回の続きを進めましょう。 前回: FS API を使いこなそう(6): タートルの移動履歴をファイルに書き残すプログラム まず最初に、前回は重要な部分しかお見せしなかったプログラムの完全版を掲載します。 …
移動履歴がなぜ重要か「ゲーム中断・再開問題」 タートルプログラミングに慣れたころ、誰もが悩むのがゲーム中断に伴ってタートルのプログラムも中断してしまうという問題です。 タートルが何かの作業している途中でゲームを中断すると、Luaプログラムも止ま…
はじめに これまではFS APIの解説をしてきましたが、今回からより実践的な利用方法を紹介しましょう。 まずは、pastebinサイトからのAPIファイル自動ダウンロード機能です。 どのようなケースを想定しているのか あるLuaプログラムがいくつかのファイル、た…
これまでのお話 前回までにComputerCraftでファイルを扱うための基礎知識を紹介しました。 FS API を使いこなそう(1): CCファイルシステムの基礎 FS API を使いこなそう(2): CCのファイルを扱うシステムプログラムの紹介 FS API を使いこなそう(3): FS APIの…
はじめに 前回は、コンピュータのシェル上で実行できるプログラムの紹介をしました。 今回はLuaプログラムの中で利用できるファイルシステム系のAPI、すなわちFS APIについて解説しましょう。 まずはFS APIについてざっと説明し、その後、個別に使い方のサン…
はじめに ComputerCraftには以下のようなプログラムが、システムプログラムとしてあらかじめ /rom/programs/ ディレクトリにインストールしてあります。 CraftOS shellプログラム一覧(CC公式Wiki【英語】):CraftOS Shell - ComputerCraft Wiki 多くのプロ…
はじめに これから、ComputerCraftのFS (File System) APIについての解説記事を連載します。 このAPIは一言でいうと、CCコンピュータ内部のファイルやディレクトリ(=フォルダ)を操作するために使います。 参考までに、CC公式WikiとCC非公式日本語WikiのFS…
はじめに 残念なことに、いまだComputerCraft日本語Wikiが更新停止中なので個人的な覚え書きも兼ねて、Turtle APIをまとめてみます。 特に変更が無いAPIについて、詳しくはCC日本語Wikiを見てください。 コンピュータクラフト非公式Wiki - API/Turtle 以下に…
昨晩のうちに投稿するつもりが案の定寝てしまいました。 はじめに タッチパネルに表示されているボタンを押してパスワードを入力し、 パスワードが正しければ右にあるドアが開くというプログラムです。このプログラムは、タッチパネルAPI(h2touchpanel API…
はじめに オブジェクト指向プログラミングでComputerCraftのAPIを作成するという、マニアックな企画です。 さて、どのくらいの人が興味を持ち、ついてこれるのでしょうか……。 本APIの作成方針 ComputerCraftにおいてAPIを作るときの原則は以下の通りです。 …
はじめに 次の図のように、外付けモニタ・ターミナル画面にボタンを表示することでタッチパネルを実現するAPIです。 タッチパネルのボタンを右クリックすると、そのボタンにあらかじめ設定されているコマンド(任意の関数)を実行できます。 任意の関数を設…
現在判明している次バージョンCC1.6のperipheral.find()の仕様が不満なので作りました。(このページは、h2peripheral APIについて情報をまとめるページです。このページは随時更新します) 本APIの概要 (version 0.1についてはこちら)このAPIは、周辺機器を…
はじめに 前回の、 クロージャとコルーチン(1)-状態遷移関数をつくってみた - Minecraftとタートルと僕 より少し間をあけてしまいましたが、 クロージャを使ったTurtleAPI拡張をご紹介します。 補足 なぜこのようにAPIを拡張したのか3行で説明 標準のtur…
はじめに 最近、 グローバル変数に頼ることなく「関数単独で状態遷移を実現できる関数」を作って遊んでいます。具体的には次のようなの。 配列を与えると、それを環状配列(左端と右端がつながっているリング状配列、ドラクエのワールドマップをイメージする…
はじめに h2peripheral API 詳細 - Minecraftとタートルと僕 で挙げた「h2peripheral API」を実装したので、そのソースコードを公開し内容を簡単に説明します。解説なんていらない、ただインストールだけしたい、ということであれば以下のようにpastebinコマ…
(このページは、h2peripheral APIについて情報をまとめるページです。このページは随時更新します) 本APIの概要 このAPIは、周辺機器を取り扱う標準のPeripheral APIを拡張するものです。 以下の関数があります。 wrapByName(<機器種別>) 隣接している全…
はじめに 前回は失礼しました。それでは新しいAPIを実装するために、既存のAPIを調べてみましょう。「Craft OS」「Turtle OS」が提供しているAPIをいろいろ覗いてみたのですが、 小さくてシンプルという点でColors APIが参考になりそうです。今回はこのColor…
はじめに それでは、APIを作ってみましょう。 コツをつかめば誰でも簡単に作れます。 APIに名前をつける ネーミングは、非常に重要です。 これをおろそかにすると使いづらくて仕方ありません。 働きを名前から想像できるように自然な名前をつけましょう。 僕…
これから、新しい連載をはじめるよ!! はじめに この連載では、以下の内容を解説する予定です。 APIとは何か。 まずはシンプルなAPIを作ってみよう(別名、初心者でもできるAPI作成) 既存のCCコンピュータAPIを見て、コツを学ぼう 色々なAPIを作ってみよう…