Minecraftとタートルと僕

PCゲームMinecraftのMOD「ComputerCraft」の情報を集めたニッチなブログです。

API

タートルにAIを組み込もう3(rule-basedプログラミングの例)

はじめに またまた更新が遅くなりましたが、前回の記事を元に実際のコードを示します。 前々回の記事、タートルにAIを組み込もう(rule-basedプログラミングのすすめ) - Minecraftとタートルと僕 タートルにAIを組み込もう(rule-basedプログラミングのすす…

タートルにAIを組み込もう2(rule-basedプログラミングの基礎)

はじめに 更新が大変遅くなりましたが、その分、内容濃い目でお送りします。 今回は、rule-basedプログラミングの基礎ということで、ルールをどんどん追加していくことで次第にタートルが複雑な作業をできるようになる過程を紹介しましょう。 最終的に以下の…

タートルにAIを組み込もう(rule-basedプログラミングのすすめ)

はじめに 関数型プログラミング? オブジェクト指向? いえ、時代はルールベースですよ!! (ある意味逆行してます) 今回は、手続き型とも、関数型とも、オブジェクト指向とも違う、新しいプログラミングパラダイムについてご紹介したいと思います。 ルー…

VoiceTextApp. version 0.1を公開しました

ソフトの概観とダウンロード version0.1の公開を停止し、version0.2を公開しました。詳しくはこちら。 ニンジャコピペだと、このくらいのパラメータが好きかも・・・ pic.twitter.com/GJQMxrPjHi— 確実にへぼへぼ (@hevohevo) 2014, 7月 28 VoiceTextApp. ve…

VoiceTextのWeb API(β版)が無料公開だそうですよ。高品質なテキスト読み上げ機能を試しました。

はじめに テキスト読み上げソフトってご存知ですか? 手元にある文字テキストを読み込ませると、その文章のヨミを自動解析して、声で読み上げてくれるソフトです。 コンピュータによる合成音声なので、抑揚がでたらめで不自然なこともあるのですが、読み上げ…

チュートリアル「FS APIを使いこなそう」まとめ

目次 チュートリアル目次 >> チュートリアル「FS APIを使いこなそう」まとめ 全13回 対象(Luaプログラミング、初級~中級者) (1): CCファイルシステムの基礎 (2): CCのファイルを扱うシステムプログラムの紹介 (3): FS APIの解説 (4): fs.open()でファイ…

FS API を使いこなそう(13): ゲーム再起動時にタートルが初期位置に戻ってくるプログラム

はじめに 前回の記事はlogging API ver.04の仕様を説明しました。 FS API を使いこなそう(12): logging API version0.4の解説と応用 またその応用例として、タートルが作業をしている間にゲームを終了しても、ゲーム再開時に自動的に初期位置へ戻ってくると…

FS API を使いこなそう(12): logging API version0.4の解説と応用

はじめに 前回は、logging API version0.4を完成させました。 FS API を使いこなそう(11): 移動履歴を使って元の位置に戻る機能を実現 (logging API version 0.4) http://pastebin.com/xLwUS6Y5 主な機能としては、以下のとおり。 ログをファイルに出力す…

FS API を使いこなそう(11): 移動履歴を使って元の位置に戻る機能を実現

前回の復習 前回までで、logging APIによるタートル移動履歴機能を完成させました。 FS API を使いこなそう(10): 関数の引数を柔軟に取り扱う logging.forward()などを使って移動したらログファイルに移動したことを書き込んでいきます。 今回は、そのログフ…

FS API を使いこなそう(9): 【補足】関数を定義する関数を定義する(解説編)

前回までのお話 前回:FS API を使いこなそう(8): 【補足】関数を定義する関数を定義する(応用編) 関数を定義する関数を定義しましたよ! この関数、createLoggedFunc()を使ってプログラムが簡略化できました。 logging APIがとりあえずの完成です。 log…

FS API を使いこなそう(8): 【補足】関数を定義する関数を定義する(応用編)

前回のお話 関数型プログラミング(基本編): FS API を使いこなそう(7): 【補足】関数を定義する関数を定義する(基礎編) 前回は関数型プログラミングの基本ということで、Luaの関数がファーストクラスオブジェクトであることを説明しました。 ・・・え…

FS API を使いこなそう(7): 【補足】関数を定義する関数を定義する(基礎編)

移動履歴を残すプログラム かなり間が開きましたが、前回の続きを進めましょう。 前回: FS API を使いこなそう(6): タートルの移動履歴をファイルに書き残すプログラム まず最初に、前回は重要な部分しかお見せしなかったプログラムの完全版を掲載します。 …

FS API を使いこなそう(6): タートルの移動履歴をファイルに書き残すプログラム

移動履歴がなぜ重要か「ゲーム中断・再開問題」 タートルプログラミングに慣れたころ、誰もが悩むのがゲーム中断に伴ってタートルのプログラムも中断してしまうという問題です。 タートルが何かの作業している途中でゲームを中断すると、Luaプログラムも止ま…

FS API を使いこなそう(5): APIファイルの自動ダウンロード

はじめに これまではFS APIの解説をしてきましたが、今回からより実践的な利用方法を紹介しましょう。 まずは、pastebinサイトからのAPIファイル自動ダウンロード機能です。 どのようなケースを想定しているのか あるLuaプログラムがいくつかのファイル、た…

FS API を使いこなそう(4): fs.open()でファイルの読み書き

これまでのお話 前回までにComputerCraftでファイルを扱うための基礎知識を紹介しました。 FS API を使いこなそう(1): CCファイルシステムの基礎 FS API を使いこなそう(2): CCのファイルを扱うシステムプログラムの紹介 FS API を使いこなそう(3): FS APIの…

FS API を使いこなそう(3): FS APIの解説

はじめに 前回は、コンピュータのシェル上で実行できるプログラムの紹介をしました。 今回はLuaプログラムの中で利用できるファイルシステム系のAPI、すなわちFS APIについて解説しましょう。 まずはFS APIについてざっと説明し、その後、個別に使い方のサン…

FS API を使いこなそう(2): CCのファイルを扱うシステムプログラムの紹介

はじめに ComputerCraftには以下のようなプログラムが、システムプログラムとしてあらかじめ /rom/programs/ ディレクトリにインストールしてあります。 CraftOS shellプログラム一覧(CC公式Wiki【英語】):CraftOS Shell - ComputerCraft Wiki 多くのプロ…

FS API を使いこなそう(1): CCファイルシステムの基礎

はじめに これから、ComputerCraftのFS (File System) APIについての解説記事を連載します。 このAPIは一言でいうと、CCコンピュータ内部のファイルやディレクトリ(=フォルダ)を操作するために使います。 参考までに、CC公式WikiとCC非公式日本語WikiのFS…

ComputerCraft1.6のTurtle APIまとめ

はじめに 残念なことに、いまだComputerCraft日本語Wikiが更新停止中なので個人的な覚え書きも兼ねて、Turtle APIをまとめてみます。 特に変更が無いAPIについて、詳しくはCC日本語Wikiを見てください。 コンピュータクラフト非公式Wiki - API/Turtle 以下に…

タッチパネル式パスワード認証ドア(h2touchpanel API利用)

昨晩のうちに投稿するつもりが案の定寝てしまいました。 はじめに タッチパネルに表示されているボタンを押してパスワードを入力し、 パスワードが正しければ右にあるドアが開くというプログラムです。このプログラムは、タッチパネルAPI(h2touchpanel API…

オブジェクト指向でどうやってAPIを作るか(h2touchpanel APIの詳細解説)

はじめに オブジェクト指向プログラミングでComputerCraftのAPIを作成するという、マニアックな企画です。 さて、どのくらいの人が興味を持ち、ついてこれるのでしょうか……。 本APIの作成方針 ComputerCraftにおいてAPIを作るときの原則は以下の通りです。 …

h2touchpanel API 詳細

はじめに 次の図のように、外付けモニタ・ターミナル画面にボタンを表示することでタッチパネルを実現するAPIです。 タッチパネルのボタンを右クリックすると、そのボタンにあらかじめ設定されているコマンド(任意の関数)を実行できます。 任意の関数を設…

h2peripheral API version0.2 詳細

現在判明している次バージョンCC1.6のperipheral.find()の仕様が不満なので作りました。(このページは、h2peripheral APIについて情報をまとめるページです。このページは随時更新します) 本APIの概要 (version 0.1についてはこちら)このAPIは、周辺機器を…

クロージャとコルーチン(2)-クロージャでturtle APIを拡張してみた

はじめに 前回の、 クロージャとコルーチン(1)-状態遷移関数をつくってみた - Minecraftとタートルと僕 より少し間をあけてしまいましたが、 クロージャを使ったTurtleAPI拡張をご紹介します。 補足 なぜこのようにAPIを拡張したのか3行で説明 標準のtur…

クロージャとコルーチン(1)-状態遷移関数をつくってみた

はじめに 最近、 グローバル変数に頼ることなく「関数単独で状態遷移を実現できる関数」を作って遊んでいます。具体的には次のようなの。 配列を与えると、それを環状配列(左端と右端がつながっているリング状配列、ドラクエのワールドマップをイメージする…

APIを作ろう(4)-h2peripheral API の実装を解説

はじめに h2peripheral API 詳細 - Minecraftとタートルと僕 で挙げた「h2peripheral API」を実装したので、そのソースコードを公開し内容を簡単に説明します。解説なんていらない、ただインストールだけしたい、ということであれば以下のようにpastebinコマ…

h2peripheral API version0.1 詳細

(このページは、h2peripheral APIについて情報をまとめるページです。このページは随時更新します) 本APIの概要 このAPIは、周辺機器を取り扱う標準のPeripheral APIを拡張するものです。 以下の関数があります。 wrapByName(<機器種別>) 隣接している全…

APIを作ろう(3)-Colors API を調べてコツをつかもう

はじめに 前回は失礼しました。それでは新しいAPIを実装するために、既存のAPIを調べてみましょう。「Craft OS」「Turtle OS」が提供しているAPIをいろいろ覗いてみたのですが、 小さくてシンプルという点でColors APIが参考になりそうです。今回はこのColor…

APIを作ろう(2)-初心者でも簡単に作れるAPI

はじめに それでは、APIを作ってみましょう。 コツをつかめば誰でも簡単に作れます。 APIに名前をつける ネーミングは、非常に重要です。 これをおろそかにすると使いづらくて仕方ありません。 働きを名前から想像できるように自然な名前をつけましょう。 僕…

APIを自作しよう(1) -APIとはなにか

これから、新しい連載をはじめるよ!! はじめに この連載では、以下の内容を解説する予定です。 APIとは何か。 まずはシンプルなAPIを作ってみよう(別名、初心者でもできるAPI作成) 既存のCCコンピュータAPIを見て、コツを学ぼう 色々なAPIを作ってみよう…

ComputerCraft用Luaプログラム配布

はじめに このページでは、僕が作ったプログラムの一覧を掲載しています。 各プログラムの名前と、簡単な説明、pastebin ID、そのプログラムの解説ページへのリンクです。 ライセンスについて このサイトで公開しているComputerCraft用Luaプログラムは、自由…