読者です 読者をやめる 読者になる 読者になる

Minecraftとタートルと僕

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

丸石を自動生成するプログラム(黒曜石生成プログラムの応用)

はじめに これまで3回かけて、レッドストーンを消費して黒曜石を生成する施設およびプログラムについて説明してきました。 レッドストーンを消費して黒曜石を生成 基本知識編 施設紹介編 プログラム解説編 今回は、この施設を利用して丸石を自動生成するプロ…

CC1.6は複数行コピペをサポートしないようですorz

はじめに ComputerCraftのターミナル画面では、1行単位のコピー&ペーストはできるのですが、 複数行にまたがる文字列はコピペできませんでした。 その原因として、複数行にまたがる文字列に含まれる改行コード「\n」をコピー&ペーストできないことが挙げら…

レッドストーンを消費して黒曜石を生成(プログラム解説編)

はじめに 少しだけ間が空きましたが、 レッドストーンを消費して黒曜石を生成(施設紹介編) - Minecraftとタートルと僕 で紹介したプログラムの解説です。 プログラムのインストール http://pastebin.com/fh4TPjsq 「obsigen」という名前でプログラムをイン…

レッドストーンを消費して黒曜石を生成(施設紹介編)

はじめに 前回のまとめを再掲しましょう。 1. レッドストーン設置 2. 溶岩源設置 3. (レッドストーンが黒曜石に変化) 4. 溶岩源回収 5. 黒曜石採掘 普通のMining(採掘)タートルを使って、上記のような流れでレッドストーンを消費して黒曜石を自動作成する…

レッドストーンを消費して黒曜石を生成(理論編)

水と溶岩の基本知識をおさらい Minecraftでは、水は水源ブロックと水流ブロックの2種類に分かれます。 簡単に言うと、バケツで設置/撤去できるのが水源ブロックで、その水源ブロックから広がっていくのが水流ブロックです。水流は水源から広がるものなので…

【More Turtles】フォーチュン付きブロックブレイカーを修正した

ちょっとだけ元気になったので更新。 はじめに 前回は、Fortune Mining Turtleを使ったフォーチュン付きブロックブレイカープログラムを紹介しました。 ダイヤ鉱石などを上のチェストに入れておくと、フォーチュン採掘で破壊して入手素材を増やしてくれます…

フォーチュン付きブロックブレイカー(More Turtles Mod)

はじめに 前回は「MoreTurtles」Modで追加されるFortune Mining Turtleについて紹介しました。 燃料を1消費するかわりに、フォーチュン付きでブロックを掘ってくれるすばらしいタートルです。 鉱石ブロックを幸運付きで破壊することで入手素材を飛躍的に増や…

フォーチュン(Fortune)採掘タートルの紹介(More Turtles Mod)

はじめに Nokiyen氏が作成した「More Turtles」Modで追加される新しいタートルについての紹介です。 今回は、Fortune採掘ができるタートルである、Fortune Mining Turtleについて具体的な使い方を紹介します。 なお、このModで追加されるSilkTouch Mining Tu…

え?シルクタッチで掘るのはやすぎ? となる事例

はじめに 前回は、シルクタッチタートルのすばらしさをアピールしました。 採掘タートルの基本性能調査(2)-シルクタッチタートル - Minecraftとタートルと僕 中でもシルクタッチ採掘に時間がかからないことはとても強力なのですが、それが問題となること…

採掘タートルの基本性能調査(2)-シルクタッチタートル

はじめに 前回の性能調査の結果、以下のようなことがわかりました。 前進・後進・上昇・下降・回転など、一つの行動をするのに0.365秒かかる。 turtle.dig()で1個のブロックを破壊するのに0.35秒かかる。 turtle.detect()など、Turtle APIのイベント処理を内…

採掘タートルの基本性能調査(1)

今回の記事は、はてな記法ではなく、Markdownで書いてみた。 (2014/02/20、表内のデータについて転写ミスを発見したので修正。結論は変わりません。) タートルの採掘速度を調査してみた 少しでも早く採掘できるとうれしいのではないかと、 採掘関連ではど…

【More Turtles Mod使用】シルクタッチ回転式直下掘りプログラムを改造しよう

これまでのお話と今回の目標 前回の記事で、シルクタッチを使った穴掘り用としては、ほぼ問題なく動くプログラムができました。 前回の記事: シルクタッチで回転式直下掘りプログラム(MoreTurtles Mod使用) - Minecraftとタートルと僕 シルクタッチタート…

シルクタッチで回転式直下掘りプログラム(MoreTurtles Mod使用)

はじめに 前回は、Nokiyen氏のMoreTurtles Modに入っているSilkTouch Mining Turtleを紹介しました。 シルクタッチタートルの紹介(More Turtles Modの紹介) - Minecraftとタートルと僕 前々回に紹介した回転式直下掘りプログラムを、シルクタッチを使うよ…

シルクタッチ採掘タートルの紹介(More Turtles Modの紹介)

シルクタッチ採掘タートルとは Nokiyen氏作成の「More Turtles」Modに含まれているタートルです。 トピック - [1.6.4~1.5.2] More Turtles 【CCアドオン/竹,豆腐,メイドさん連携】(01/13更新) • Minecraft 非公式日本ユーザーフォーラム このModは、Tofuタートル…

回転式直下掘りプログラムの修正

はじめに 前回は回転式直下掘りプログラムを紹介しましたがいくつか不満点がありました。 前回(回転式直下掘りプログラム - Minecraftとタートルと僕) 今回はプログラムを修正し、機能を付け加えましょう。 問題点 燃料の問題 最も問題となるのは直下掘り…

回転式直下掘りプログラム

はじめに それでは回転式直下掘りプログラムを考えていきましょう。 最初にアイデアをそのままプログラムで書いたものを紹介。 つぎにそれを具体化します。 最後はこのプログラムの問題点をいくつか挙げて次回の課題としましょう。 全体の流れ まずは、燃料…

Turtle? Love Machine! (バレンタインイベント)

EasterEgg キタコレ 今日の午前中、easterEgg(隠し要素)発動の告知がありました。A new ComputerCraft easter egg activates in 5 minutes.. I love seeing people's reactions to these.— Daniel Ratcliffe (@DanTwoHundred) 2014, 2月 13そういえば今日…

初心に戻って採掘タートルを使いこなそう

はじめに 初心に戻って採掘タートルによる穴掘りプログラムを作っていきましょう。まずは採掘(Mining)タートル自体について情報をまとめましょう。 採掘タートルのクラフト 採掘タートルの性能 1歩移動するごとに1の燃料値を消費する。 上下、前後に移動可…

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

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

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

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

h2touchpanel API 詳細

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

外部モニタに図形を描こう

前回までのお話 前回までは、「ターミナル画面」で絵を描く方法を紹介してきました。 今回は外部モニタに絵を描く方法を紹介しましょう。今回も色を使うので、金色のAdvanced Monitorは必須です。 まずは画素数のチェック ターミナル画面でも画素数をチェッ…

Paintutils APIを使って図形を描こう

はじめに 前回の説明でターミナル画面に点を描き、線を引き、長方形を描きました。 これらの描画を通して基本的な原理を理解できたと思うので、今回は楽をする方法を紹介しましょう。 Paintutils API 標準で用意されているPaintutils APIは、画像を取り扱い…

ComputerCraft1.6ではソースコードのコピペができそうですね

CC公式Forumの「ComputerCraft 1.6 Beta - Bug Reports」でのやり取り意訳 僕「標準のeditコマンドで複数行のコピーすると文字化けするよ。1.6ではコピーできるようにしてほしいな。新しく実装されたpasteイベントは複数行に対応しているんだからさ!」 僕「…

ターミナル画面で点を描き、線を引こう

はじめに これまで僕たちは、CCのターミナル画面(コンピュータやタートルを右クリックして表示される画面)や外付けのモニタを使って、文字を表示してきました。今回はこれらの上で点を描き、線を引く方法について学びましょう。色を使いますので、Advanced…

Luaでオブジェクト指向(2)―ピクセル・四角形・ボタンオブジェクトを作ろう

(2014/02/08、表記法について一部修正しました。) はじめに 前回は、オブジェクト指向プログラミングの紹介とともに、 座標オブジェクトを作るプログラムを紹介しました。 今回はこれを応用して、以下のオブジェクトを作る関数を作ってみましょう。 ピクセ…

Luaでオブジェクト指向(1)―基本はコロン記法とメタテーブル

はじめに Luaは組み込み用途の小規模な言語であるにも関わらず、オブジェクト指向プログラミングが可能です。なにそれ怖い。Luaはインスタンスベース*1のオブジェクト指向プログラミングをサポートしています。もっと具体的に言うならば、オブジェクトの雛形…

h2peripheral API version0.2 詳細

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

乱戦(Melee)タートルのダイヤ剣は強いぞ

スポナーのそばに置いて簡易トラップは有名だよね 動画紹介 カツ丼Pの有名すぎる動画(2012年8月) そして紹介されているプログラム while true do turtle.attack() turtle.dropDown() sleep(0.1) end 使い方(動画内の説明+僕の補足) ダイヤ剣タートルに…

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

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

ComputerCraft1.6プレリリース(2)-複数行コピペできるよ!

発端 さきほどの記事では、 "paste"イベントが実装されたけれどそのイベントを扱っているLuaプログラム自体が改行コードを想定していない と書いていました。実際、改行コード入りの複数行にわたる文字列をコピペしてもうまくいきません。しかし思いました。…

ComputerCraft1.6プレリリース版を少しだけ触ってみた

ComputerCraft1.6pr0 つい先日、ComputerCraft1.6のプレリリース版がベータテスター向けに公開されたので、 ダウンロードして少しだけ触ってみました。ついでに少しだけLuaプログラム側も覗いてみました。 はまったところ saveフォルダは、「saves\ワールド…

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

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

ComputerCraftの魅力について語ってみる

ComputerCraftのご紹介 ComputerCraftは、PC版MinecraftのModの一つです。 このModによりマインクラフト世界にコンピュータを導入でき、様々な作業を自動化できるようになります。 中でもタートルというプログラム可能な自走型ロボットを使うことで、楽しみ…

環境構築(5)-文字列をコピー&ペーストする方法

初心者向けチュートリアルをうたっておきながら結局マニアックな内容でござる。 はじめに タイトルで期待させておいて申し訳ありませんが、今回の記事はそれほど役立ちません。 これから紹介する方法を使えば、文字列をコピー&ペーストできるようになるので…

環境構築(4)-pastebinコマンドでCC用Luaプログラムをインストール

最近、マニアックな方向に走りすぎている気がしてきたので、 初心に戻って初心者向けチュートリアルを強化。 はじめに ネット上で公開されているComputerCraft用のLuaプログラムを、手軽にインストールする方法を紹介します。今回は、一度事前準備さえしてお…

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

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

h2peripheral API version0.1 詳細

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

ニコ動 兎と亀29の感想

CC関連動画の感想 そういえば、兎と亀29の感想書いてませんでした。このシリーズの大ファンなんですよね。 タートル=Mのイメージはこの動画で植えつけられました。ブヒッ。実際に観たのは先週でして、感想はそのときのメモから書き起こしました。 無駄にテ…

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を作ってみよう…

Lua公式解説書注文しちゃった

Lua

Amazonさんでポチった Programming in Lua プログラミング言語Lua公式解説書作者: Roberto Ierusalimschy,新丈径出版社/メーカー: アスキー・メディアワークス発売日: 2009/08/28メディア: 大型本購入: 5人 クリック: 78回この商品を含むブログ (18件) を見…

ComputerCraft環境構築(3)-プログラムを自動実行させる2つの方法

プログラムの自動実行について CCコンピュータおよびタートルは、再設置することで再起動(リブート)できます。あるいはターミナル画面を表示しているときに、「CTRL+R」キーを数秒間押しっぱなしにすることでも再起動できます。お手製のプログラムを実行す…

「Too long without yielding」エラー発生までの時間を検証

発端 ご飯食べながらボーっとCC公式Wiki読んでいたら次のような記述をみつけました。 http://computercraft.info/wiki/OS_(API) os.pullEvent()の説明にて Note that if a program has not attempted to pull an event in the past ten seconds, it will be …

Minecraft1.6.4とComputerCraftインストールの手順(2)

はじめに 今回は以下の内容をお送りする予定です。 Minecraft1.6.4のインストール方法 ←前回説明しました Forgeのインストール ←前回説明しました ComputerCraftのインストール ←今回 ComputerCraft環境整備 ←今回 用意するもの 前回用意したMinecraft1.6.4…

sleep実装からイベントを学ぶ(12)―ラジコンプログラム(2)

はじめに(動画を見て、来てくださった方へ) 上記の動画について、ラジコンプログラムの導入方法を知りたい方は2014/01/11の記事をどうぞ。 今回の記事はラジコンプログラムを解説していますが、完全な初心者には難しい内容となっています。しかし、CCの初…

sleep実装からイベントを学ぶ(11)―ラジコンプログラム(1)

はじめに 上記の動画についての概略を知りたい方は2014/01/11の記事をどうぞ。このラジコンプログラムを理解するために、今回は、前提知識であるCC無線通信を学びましょう。 無線通信について詳細な情報は全てCC非公式Wikiに書いてあります。詳しくはそちら…

タートルラジコンプログラム 紹介動画

動画撮影&ニコニコ動画に投稿してみた はじめての動画投稿、ドキドキしますね。 ほぼテスト動画なので、動画自体についてのご批判はご容赦ください。【Minecraft】 ComputerCraft ラジコンプログラム 動画の内容 先日解説した「モニタボタンによるタートル…

【補足2】既存の関数を上書きして拡張しよう

はじめに (※今回の内容は、Luaの「無名関数」についての理解が不十分だと意味不明な可能性があります。 前回の記事とセットでご利用ください)さて、前回、 「既存の関数に不満があったら書き換えちゃおうぜ!!」などとまとめましたが、 僕個人としては、T…