Skip to content

Instantly share code, notes, and snippets.

View akamah's full-sized avatar
🍢

Akama Hitoshi akamah

🍢
View GitHub Profile
@akamah
akamah / osc2023nagoya.md
Last active June 5, 2023 14:43
OSC2023名古屋の電子パンフレットです。

プラレールかけ算回路

1-overview

これはなに?

こちらはプラレールを作って作られた、小さい数のかけ算ができるレイアウトです。 具体的には、 $1 \times 1$ から $3 \times 3$ の9通りのかけ算ができます。

入力について

// 下層の電車
// 1周目
if (A == 0) {
R0 = 0;
} else if (A == 1) {
R1 = 0;
}
// 2周目
if (A == 0) {
wrote_R0:
if (A == 0) {
T0 = !T0; // 自動ターンアウトレールなのでトグルする
if (T0 == 1) { // 1回目
R0 = 0; goto wrote_R0;
} else { // 2回目
R1 = 0; goto wrote_R1;
}
} else {
T1 = !T1;
if (B == 0) {
if (A == 0) { // (*)
X = 0; goto wrote_X;
} else {
X = 1; goto wrote_X;
}
} else {
if (A == 0) { // (*)
X = 1; goto wrote_X;
} else {
@akamah
akamah / and.c
Last active October 29, 2016 08:41
AND gate written in Plarail flavoured C.
if (B == 0) {
X = 0; goto wrote_X;
} else {
if (A == 0) {
X = 0; goto wrote_X;
} else {
X = 1; goto wrote_X;
}
}
wrote_X: ;