Minecraftとタートルと僕

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

【ComputerCraft】プログラミング チュートリアル目次

はじめに

それでは簡単で役立つプログラムをまず紹介して、それに機能をどんどん付け加えていくという形でComputerCraftを学びましょう。
プログラムの見やすさ理解しやすさを重視して、厳密性(エラー処理・例外処理)は求めません。
多少の不具合は運用でカバー。「動けばいいんだよ!」を合言葉に進めるつもりです。

  • このサイトにはじめて来た方は、目次から興味のあるトピックを選び、その中で番号順に読んでいくことをお勧めします。
    • 各トピック(例:「農業タートル」「クラフティタートル」)は独立していますが、そのトピック内の番号は流れが繋がっていることを意味しています。
    • 「補足」ページは、比較的独立したページなので、単独で読んでも問題ありません。
    • どれを読めばよいか迷う人は以下の順がお勧め
      • まだCCをインストールしてない →「インストールと環境構築」
      • タートルの使い方が知りたい →「各種タートル」
      • モニターの使い方が知りたい →「Monitorの基本的な使い方」
  • また執筆案(予定)も書いていますが、「次はこちらを書いてほしい」「他にもこんなことが知りたい」などのコメントをいただければ、喜んでそちらに対応します。

チュートリアル テーマ 目次

ComputerCraft(CC)とは何か

CCインストールとプログラミング環境構築

  • マイクラ1.6.4とComputerCraft1.58のインストール(CC初心者向け)
    • Minecraft1.6.4とForgeのインストール・・・(1)
    • プログラミング環境構築(エディタで直接プログラム編集するために)・・・(2)
    • プログラムを自動実行させる2つの方法・・・(3)
    • pastebinコマンドでCC用Luaプログラムをインストール・・・(4)
    • ターミナル画面上で文字列をコピペする方法・・・(5)
  • CCプログラミング環境構築(CC初心者向け、マイクラ1.5.2時代の古い内容が含まれています)
    • プログラムの止め方、ショートカットキーについて・・・(1)
    • CCコンピュータのファイル構造(ディレクトリ)・・・(2)
    • 名前をつけて、エディタで直接プログラム編集(マイクラ1.5.2以前用)・・・(3 / 4)
    • 環境変数について・・・(5

タートル

  • タートルの基本知識
    • 基本中の基本について(CC初心者向け) ・・・(1)
    • 採掘タートルについて(採掘時間など細かいこと)・・・(2)
    • シルクタッチタートル(More Turtles Mod)・・・(3 / 補足)
  • 採掘(Mining)タートルでひたすら掘ろう(CC初心者向け)
    • Mining Turtleの基本スペック、excavateプログラムの紹介・・・(1)
    • 回転式直下採掘プログラムの作成・・・(2) 
    • 燃料補給を工夫しよう、穴にフタをしよう・・・(3)
    • シルクタッチ採掘タートルを使ってみよう(他Mod利用)・・・(4)
    • シルクタッチで回転式直下採掘・・・(5)
    • 採掘開始を簡略化。アイテムの挿入を待つプログラム・・・(6)
  • 【More Turtles MOD】Fortune採掘で入手アイテムを増やそう(CC初心者向け)
    • Fortune Mining Turtle の紹介・・・(1)
    • Fortune付きブロックブレイカー・・・(2)
    • Fortune付きブロックブレイカーの修正・・・(3)
  • 採掘(Mining)タートルで黒曜石/丸石(焼石)を生成しよう・・・(CC初心者向け)
    • レッドストーンを消費して黒曜石を生成(理論編)・・・(1)
    • レッドストーンを消費して黒曜石を生成(施設紹介編)・・・(2)
    • レッドストーンを消費して黒曜石を生成(プログラム解説編)・・・(3)
    • 同じ施設を使って丸石製造機・・・(4)
    • 同じ施設を使って焼石製造・シルクタッチ採掘タートルで回収・・・(5)
    • 黒曜石・丸石生成プログラム改(施設解説編)・・・(6)
    • 黒曜石・丸石生成プログラム改(プログラム解説編)・・・(7)
  • 農業(Farming)タートルで収穫しよう(CC初心者向け)
    • Farming Turtle の基本スペック ・・・(1
    • 骨粉利用の促成栽培プログラム ・・・(2 / 3 / 4
    • サトウキビ収穫プログラム ・・・(5 / 6)
    • pastebinの利用について。著作権について。・・・(補足
  • クラフティ(Crafty) タートルは便利すぎるぞ(CC初心者・中級者向け)
    • Crafty Turtle の基本スペック ・・・(1
    • 1種類のクラフトを行うプログラム ・・・(2 / 3
    • 複数種類のクラフトを行うプログラム・・・(4 / 5)
    • 自動化工場にCrafty Turtleを組み込んでみよう・・・(6)
    • RedstoneAPIを使って外部にRS信号を出そう・・・(補足)
    • 自動化工場にCrafty Turtleを組み込んでみようの続き・・・(7)
  • 乱戦(Melee)タートルのダイヤ剣は強いぞ(CC初心者向け)
    • スポナーのそばに置いて簡易トラップは有名だよね・・・(1)
    • ウィザー作成&討伐プログラム(他MOD必須)・・・1.6.4でウィザーの爆発に耐えるブロックを追加するにはどのModが良いだろうか。悩み中。

FS APIを使いこなそう(ファイルの読み書き)

Monitor・ターミナル画面を使いこなそう

  • Monitor(モニタ)の基本的な使い方(CC初心者向け)
    • モニタの基本、時間などを表示してみよう・・・(1)
  • 図形を描こう(CC初心者向け)
    • ターミナル画面で点を描き線を引こう・・・(1)
    • Paintutils APIを使って図形を描こう・・・(2)
    • 金色モニタでも図形を描こう・・・(3)

無線通信を使いこなそう

  • CCの無線通信を使いこなそう
    • 無線通信システムの概要・・・(1)
    • Rednet(API)の解説・・・(2)
    • メッセージ送信・受信プログラム例・・・(3)
    • 無線でタートルを遠隔操作・・・(4 / 5 / 6 / 7 / 8 / 9 / 10)←NEW!!
  • 予定は未定(CC1.6リリースとの兼ね合いで保留中)
    • h2touchpanel APIとの連携でラジコン操作・・・(回未定)
    • Rednet(API)を強化する(メッセージ送達保証機能)・・・(回未定)
    • 通信者間の距離パラメータの活用(自動合流機能)・・・(回未定)

その他

  • APIを作ろう(CC初心者・中級者向け)
    • APIとは何か・・・(1)
    • APIは初心者でも簡単に作れます?(2)
    • 標準のAPI(Colors API)を調べて作成のコツをつかむ・・・(3)
    • APIを作る(h2peripheral API)・・・(API詳細) (4 / 5)
    • 1つのファイルで複数のAPIを実装する方法・・・予定
  • Luaでオブジェクト指向プログラミング!?(CC中級者向け)
    • 基本はコロン記法とメタテーブル・・・(1)
    • ピクセル・四角形・ボタンオブジェクトを作ろう・・・(2)
    • h2touchpanel API 詳細(タッチパネル作成API)・・・(3)
    • オブジェクト指向でAPIを作成する方法(h2touchpanel APIを例に)・・・(4)
    • タッチパネル式パスワードドア(h2touchpanel APIの使用例)・・・(5)
  • sleep実装からイベントを学ぶ(CC中級者向け)
    • はじめに・・・(1)
    • イベント(Event)とは・・・(2 / 3 / 4)
    • タイマーイベントとは・・・ (5)
    • ローカル変数・グローバル変数とは・・・(補足)
    • 「Too long without yielding」エラーの解決方法・・・(6 / 7
    • インタラクティブなプログラムを作る("monitor_touch"イベント)・・・(8)
    • モニタボタンでプログラムを操作する(マルチモニタ操作)・・・(9)
    • モニタボタンでタートルを操作する(eval()関数の実装)・・・(10)
    • Luaの型は色々あるけれど関数型って特殊なんです・・・(補足)
    • 既存の関数を上書きして拡張しよう・・・(補足2)
    • タートルラジコンプログラム(ワイヤレス通信)・・・(紹介動画 / 11 / 12) 
  • クロージャとコルーチン(CC中級者向け)
    • クロージャを使って状態遷移関数を作る・・・(1)
    • クロージャを使ってTurtle APIを拡張してみる・・・(2)
  • redNet(ワイヤレス通信)を使いこなそう・・・予定
    • GPSネットワークを構築する手順
    • 他Modも使って工場監視システムを組もう
  • Paintutils APIでパラパラアニメを表示しよう・・・予定
    • Paintutils APIについて
    • モニタの画素数の計算
    • 元画像の用意
    • 静止画を表示する
    • パラパラアニメプログラム