SlideShare a Scribd company logo
1 of 27
Download to read offline
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
Minecraft で計算機を作ってみた
中井優
Tsukuba Computer Mathematics Seminar 2022
2022 年 3 月日
1 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
Minecraft とは
Minecraft とは
• マルクス・ペルソン(ノッチ)と Mojang Studios の社員
が開発したサンドボックスビデオゲームである。
(Wikipedia より)
• 世界で最も売れたゲーム.
• 立方体のブロックで出来た世界で,ブロックを採掘,ク
ラフトし,農業や建築,冒険などができる.
2 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
ゲームモード
Minecraft にはいくつかのゲームモードがある.
• サバイバル
• クリエイティブ
• アドベンチャー
• スペクテイター
• ハードコア
3 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
Minecraft で計算機を作る
今回はクリエイティブモードで,十進記数法で 1 桁どうしの
和を計算できる計算機(4bit 加算器)を作ることが目的.
4 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路
Minecraft にはレッドストーン回路という論理演算を行なった
り,装置を制御したりするためのするための機構がある.
これを使って計算機を作ってみる.
5 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路の構成要素①
• ボタン
• レッドストーンダスト
• レッドストーンランプ
6 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路の構成要素②
• レバー
• レッドストーントーチ
• 信号を反転させる機能を持つ.
• これは NOT ゲートに使われる.
7 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路の構成要素②
• レバー
• レッドストーントーチ
• 信号を反転させる機能を持つ.
• これは NOT ゲートに使われる.
7 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路の構成要素③
• レッドストーンリピーター
• 信号の向きを制限したり,遅らせたり,強度を増幅させる
機能を持つ.
8 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路の構成要素④
• レッドストーンコンパレーター
• 比較モードと減算モードがある.
• 今回は減算モードを使う.
9 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
レッドストーン回路の構成要素④
• レッドストーンコンパレーター
• 比較モードと減算モードがある.
• 今回は減算モードを使う.
9 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
半加算器
ここで一旦加算器について.
AND ゲートと XOR ゲートを使って半加算器が作れる.
AND
XOR
X
Y
C
S
X Y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
10 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
全加算器
半加算器を2つ組み合わせることで,全加算器を作ることが
できる.
半加算器
半加算器
X
Y
C0
OR C
S
11 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
全加算器
全加算器を複数組み合わせることで,任意の桁数の加算器を
作ることができる.
半加算器
全加算器
全加算器
全加算器
Y0
X0
Y1
X1
Y2
X2
Y3
X3
S0
S1
S2
S3
C
12 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
MInecraft で計算機を作るには
ということは
• AND ゲート
• XOR ゲート
• OR ゲート
をレッドストーン回路で作ることができれば,加算器を
Minecraft で作ることができる.
13 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
AND ゲート
AND ゲート
14 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
XOR ゲート
XOR ゲート
15 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
OR ゲート
OR ゲート
16 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
完成
• これらを使って,十進記数法で 1 桁どうしの和を計算で
きる計算機(4bit 加算器)を作成した.
• そのほかにも,レッドストーン回路で十進数と二進数を
変換するエンコーダー,デコーダー,情報を保持できる
ラッチ回路を実装した.
(補足スライドに詳細あり)
• 時間があったらデモをやります.
17 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
補足:エンコーダ,デコーダとは
エンコーダ,デコーダとは
• エンコーダ:十進数を二進数に変換する装置
• デコーダ:二進数を十進数に変換する装置
実際,中の加算器では二進数によって計算が行われるが,端
末の入出力は十進数によって行いたい.
18 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
補足:エンコーダ
エンコーダ
19 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
補足:デコーダ
デコーダ
20 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
補足:ラッチ回路
計算機の入力は 2 つあり,それぞれにエンコーダを作成する
のは大変. 入力された信号を保存しておくような回路(ラッチ
回路)を用意することで,エンコーダを使いまわしたい.
左側のボタンが入力,右側のボタンがリセットとなっている.
21 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
補足:全体像
エンコーダ,デコーダ,ラッチ回路なども含めた全体像
22 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
補足:動画
Twitter に動いている動画があるので,
よかったらご覧ください.
https://twitter.com/TOnakai_nakai/status/
1472605203639996416?s=20&t=NsVR62NnLoqU7lNVxL-J4A
23 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
今後の発展
今後の発展としては,以下のようなものが考えられる.
• 遅延の高速化
• 桁数の追加
• 演算の追加
• 7 セグメントディスプレイの実装
24 / 25
Minecraft
で計算機を
作ってみた
中井優
Minecraft につ
いて
レッドストー
ン回路につ
いて
加算器につ
いて
レッドストー
ン回路で論理
ゲート
補足
今後の発展
参考文献
参考文献
参考文献
矢沢久雄.
“基本情報でわかる 論理演算「真理値表を書けば、半加算器と全加算器の仕組みがわかる」
”
.基
本情報技術者試験受験ナビ.2021-12-16.
https://www.seplus.jp/dokushuzemi/fe/fenavi/mastering_tech/digital_logic/,
(参照
2021-03-05)
.
Minecraft Wiki 日本語版.https://minecraft.fandom.com/ja/wiki/Minecraft_Wiki,
(参照
2022-03-05)
なぎさ.
“
【Minecraft】計算機の作り方を分かりやすく解説!【半加算器】
”
.ナギサものおき.
2021-02-25.https://nagished.com/20170222/minecraft-half-adder,
(参照 2022-03-05)
.
雷火燎原.
“Minecraft で計算機をつくってみたい”
.サークル出雲.2017-01-12.
http://circleizumo.blog.fc2.com/blog-category-14.html,
(参照 2022-03-05)
.
ポンタコ(ぽんぬ P)
.
“
【Minecraft】入力信号を保存する「ラッチ回路」の解説と作り方!【レッドストー
ン初心者向け】
”
.PONTAKOBLOG.更新日不明.
https://pontako.com/minecraft-redstone-latch/,
(参照 2022-03-05)
.
25 / 25

More Related Content

What's hot

謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装したt-sin
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals哲豪 康哲豪
 
Windows 10 driver development (fixed, rev.2)
Windows 10 driver development (fixed, rev.2)Windows 10 driver development (fixed, rev.2)
Windows 10 driver development (fixed, rev.2)Atomu Hidaka
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARMLinaro
 
Testing Spark and Scala
Testing Spark and ScalaTesting Spark and Scala
Testing Spark and Scaladatamantra
 
Troubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device DriversTroubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device DriversSatpal Parmar
 
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介Yuma Ohgami
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingThe Linux Foundation
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングAtsushi Tadokoro
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門uchan_nos
 
Linux Locking Mechanisms
Linux Locking MechanismsLinux Locking Mechanisms
Linux Locking MechanismsKernel TLV
 
Basics of Linux Commands, Git and Github
Basics of Linux Commands, Git and GithubBasics of Linux Commands, Git and Github
Basics of Linux Commands, Git and GithubDevang Garach
 
PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達l_b__
 

What's hot (20)

謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
 
virtio
virtiovirtio
virtio
 
Linux Preempt-RT Internals
Linux Preempt-RT InternalsLinux Preempt-RT Internals
Linux Preempt-RT Internals
 
Windows 10 driver development (fixed, rev.2)
Windows 10 driver development (fixed, rev.2)Windows 10 driver development (fixed, rev.2)
Windows 10 driver development (fixed, rev.2)
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
 
Testing Spark and Scala
Testing Spark and ScalaTesting Spark and Scala
Testing Spark and Scala
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
 
CUDAメモ
CUDAメモCUDAメモ
CUDAメモ
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Troubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device DriversTroubleshooting Linux Kernel Modules And Device Drivers
Troubleshooting Linux Kernel Modules And Device Drivers
 
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
 
From printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debuggingFrom printk to QEMU: Xen/Linux Kernel debugging
From printk to QEMU: Xen/Linux Kernel debugging
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Timers
TimersTimers
Timers
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門
 
Linux Locking Mechanisms
Linux Locking MechanismsLinux Locking Mechanisms
Linux Locking Mechanisms
 
Basics of Linux Commands, Git and Github
Basics of Linux Commands, Git and GithubBasics of Linux Commands, Git and Github
Basics of Linux Commands, Git and Github
 
PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達PF開発に使えるAOSPのツール達
PF開発に使えるAOSPのツール達
 

Minecraftで計算機を作ってみた