スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Minecraft1.8]スコアボードのスコアをレッドストーン信号に変換する その2

[Minecraft1.8]スコアボードのスコアをレッドストーン信号に変換する、レッドストーン信号をスコアボードのスコアに変換する
これの続編です。

前回の変換回路(回路なのか?)は0.4秒程度という恐ろしい速さで変換できました。大量にスコアボードを展開することを気にしなければ、最良の方法かと思います。

ただ、同じ処理を何度も書いていると、つい1つに纏めたくなってくる。えぇ。纏めちゃいました。

論理回路だと思ってたレッドストーンが気が付けば言語的な…

2014-11-25_17.png

細長いですが。
ディスプレイ部分はスタック構造になっています。
クォーツブロックの箇所は入力ボタンで、パルス(短いON信号)を生成するようにしてあります。入力信号をループさせるため。

アルゴリズム(testScore00を表示させたい)
1.Cを8にする。(8はビット数)
2.C> 0 を満たす間3~6をループする
 3.testScore00を2で割った余りをXに入れる。
 4.X=0であればOFFを、X=1であればONをディスプレイスタックにプッシュする。
 5.testScore00を2で割る。
 6.Cから1引く。

実際に実装する上では、testScore00を弄るためコピーを用意したり、2を保持するスコアボードも必要等厄介なので、いろいろ盛り込みます。

#temp0はダミーユーザ。
[Tick-1] // スコアボード作成
/scoreboard players operation #temp0 testScore00 = @p testScore00 // ダミーユーザにスコアをコピー
/scoreboard objectives add testScore00a dummy // ダミースコア
/scoreboard objectives add times dummy // 回数
/scoreboard objectives add num2 dummy // 2
[Tick-2] // 初期値セット
/scoreboard players set #temp0 times 8 // 16にしたり4にしたりすることもできる
/scoreboard players operation #temp0 testScore00a = #temp0 testScore00
/scoreboard players set #temp0 num2 2
[Tick-3]
/scoreboard players operation #temp0 testScore00a %= #temp0 num2 // 剰余
/scoreboard players remove #temp0 times 1
[Tick-4]
/scoreboard players test #temp0 testScore00a 1 [ディスプレイへ]
/scoreboard players test #temp0 times * 0 [終了処理スイッチへ]
/scoreboard players test #temp0 times 1 [ループスイッチへ]
Tick-4の入力信号をディスプレイへ[PUSH]
[ループスイッチ-1]
/scoreboard players operation #temp0 testScore00a = #temp0 testScore00 // testScore00a 復帰
入力信号を[Tick-3]へ
[ループスイッチ-2]
/scoreboard players operation #temp0 testScore00a /= #temp0 num2 // 2で割る
/scoreboard players operation #temp0 testScore00 /= #temp0 num2 // 2で割る
[終了処理スイッチ] // スコアボードの解放
/scoreboard objectives remove times
/scoreboard objectives remove num2
/scoreboard objectives remove testScore00a

フローチャートみたいな図貼りたいのですが画像添付が面倒でな

operation 系統は「AをBで演算した結果をAに入れる」という計算しかできない(すなわちAが上書きされる)ので、必要に応じてバックアップが必要。

ディスプレイの回路部分はリピータの信号保持機能使っています。
スポンサーサイト

tag : Minecraft

コメントの投稿

非公開コメント

ブログ移転のお知らせ
ブログをshonen.hateblo.jpに移転します. 新規の記事はこちらに投稿します.
プロフィール

舞葉(ぶよう)

Author:舞葉(ぶよう)
github.io
はてなブログ(競プロ)

古い記事のソースコードは色分けしていないので、高機能テキストエディタに貼り付けたほうが見やすいかも。

検索フォーム
このブログについて
自分がつまづいた話題、なんとなく書きたいと思ったこと、ググったけど殆ど資料なかったぞオイ な話等をアップする予定。通りすがりでも、参考になっていただければと。プログラムの例外入力、メモリリークは責任負いません。投稿された記事は修正・削除する場合があります。
カテゴリ
タグ

HSP3アルゴリズムとデータ構造c++RubyJavaUnity画像解析C機械学習C#LinuxcodeIQKinectMinecraftTonyuSystemraspberrypiPythonHTML5音声制御Simulinkruby俺ルール通信制御Javascriptシミュレーション

counter-shinobi
固定記事
最新記事
最新コメント
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

アクセスランキング
[ジャンルランキング]
コンピュータ
635位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
94位
アクセスランキングを見る>>
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。