本文へスキップ
takushio2525

ElecLab

公開中

電気回路を、配線パズルとして遊ぶ

短縮パス takushio2525.com/eleclab

ElecLab のタイトル画面。画用紙色の背景に、手書きの線で電池と LED をつないだ回路の絵と「ElecLab」の文字、「電気回路、配線パズル。」という見出しがあり、その下に「はじめる」「つづきから」「ステージをえらぶ」のボタンが並んでいる

どんなもの

電池・LED・抵抗・スイッチなどを盤面に置き、端子どうしを線でつないで目標を満たす回路のパズルだ。「実行!」で回路を実際に計算し、LED が光ったか、焼けていないか、ショートしていないかで結果が決まる。数式は見せず、遊びながら閉回路や電流の制限を覚えられる。

第 1 章「はじめての回路」から第 11 章「電源をつくる」まで 62 ステージあり、並列と直列・スイッチ・電圧の測り方・コンデンサ・モーター・トランジスタと FET・PWM・ロジック IC・アナログ IC・電源を順に扱う。PC でもスマホでも、インストールもログインもなしで遊べ、Google でログインすれば別の端末で続きから遊べる。

回路のしくみ(章ごとの解説)

このページには ElecLab を作り直した経緯と判断を書いた。各章で扱う電気の話は、ElecLab の中の「回路のしくみ」に図と計算つきでまとめてある(いまは第 1〜5 章)。ステージの答えは書いていない。

回路のしくみの一覧へ

なぜ作ったか

回路はなかなか覚えにくいので、ゲームの形で簡単に覚えられるようにして、組み込みや電子工作へのハードルを下げたかった。遊んでほしいのは初心者だ。

構想の一行は「電気回路を、配線パズルとして遊ぶ」。教えるより遊ぶことを先に置き、数式は画面に出さず、裏では本物の回路の計算を解く。もとは Unity で作っていたパズルで、その企画と、紙に鉛筆で描いたような見た目を引き継いでいる。

遊び方とクリアの条件、回路を解く計算(修正節点解析と LED の区分線形のモデル)の作りは紹介の記事に書いた。このページでは、作り直してからの判断の順番を書く。

作り方の判断と経緯

止まっていた設計から、1 日で第 1 章まで

リポジトリの最初のコミットは 2026 年 5 月 15 日で、Web 版として出し直すための設計を置いたところで止まっていた。9 月 24 日に、企画はそのままに一から作り直すと決め、Vite・React・TypeScript の静的なサイトとして書き、その日のうちに第 1 章を公開した。最初に置いていた Next.js のひな形は残していない。

公開してすぐ、操作と判定を変えた

公開した 9 月 24 日から翌日にかけて、操作と判定について 3 つの注文を Issue にした。

1 つ目は配線のしかたで、始点と終点を決めると自動で直角に曲がる作りをやめ、KiCad のように曲がる場所を自分で置き、直角の見込みを見ながら引き、線の途中から T 字に分かれられるようにした。2 つ目はクリアの判定で、「実行!」でスイッチの全通りを自動で解いて即座に判定するのをやめ、まず電気を流し、自分でスイッチを操作して見た状態からチェックリストを埋め、すべてそろったらクリアにした。操作する部品が無いステージは、流した直後の状態で目標を満たしていればすぐクリアになる。3 つ目は、順にクリアしないと次へ進めないロックを外し、どのステージからでも遊べるようにしたことだ。クリア済みの印は残している。

章を足すたびに版を上げる

その後は、章を足すたびに版を上げている。第 2 章「並列と直列」と第 3 章「スイッチと条件」が 9 月 25 日、第 5 章「コンデンサ」が 27 日、第 6 章「モーター」が 28 日で、10 月 10 日の第 11 章「電源をつくる」で v1.14.0 になった。章ごとに、ステージの設計書へテストで確かめる期待値まで先に書いてから実装する。

章が進むと、素子のモデルも広がる。LED は「消えている / 点いている」の 2 つの状態を入れ替えて解いていたが、モーターの章からは 3 つ以上の状態を探す形に広げ、電源の章のレギュレーターは 4 つの状態を持つ。

検索から来た人の入口を作る

9 月 29 日に、検索から来た人の入口として、章ごとの電気の話を図と計算で説明する「回路のしくみ」を足し、構造化データも付けた。

数字で見る今

ElecLab のリポジトリは公開していないので、2026 年 10 月 13 日に数えた数字だけを載せる。

項目 値
開発した期間 2026 年 5 月 15 日〜10 月 12 日(作り直してからは 9 月 24 日から)
コミット(main) 80。うち作り直す前が 6、Claude との共著が 78
Issue 44 件。閉じたものは 33 件
プルリクエスト 69 件。マージしたものは 62 件
版 v1.0.0 から v1.14.1 まで 20 回
章とステージ 11 章・62 ステージ(日本語と英語)
回路のしくみ 第 1〜5 章の 5 本

これから

次は第 12 章「電池を充電する」で、リチウムイオン電池の定電流・定電圧の充電と保護の回路を扱う。第 11 章のレギュレーターの状態の持ち方を広げて作っている。「回路のしくみ」には第 6 章「モーター」を足す。

ステージのページは 1 ステージ 1 ページで、検索から見ると、中身がほとんど操作の画面だけのページが 124 本並ぶ形になっていた。そこで 10 月 12 日の v1.14.1 で、ステージのページは検索に出さず sitemap からも外し、検索に出すのはトップとステージの一覧と「回路のしくみ」などに絞った。盤面の操作の残り(範囲選択・コピー・反転など)、ステージを作って共有する機能と音、遊んでいる途中の保存は開いたままだ。

関連リンク

使った技術

言語
  • TypeScript
UI・描画
  • React
  • SVG
ビルド
  • Vite
  • ビルド時の事前描画
回路の計算
  • 修正節点解析(MNA)
  • LU 分解
  • LED の区分線形モデル
テスト
  • Vitest
  • Playwright(PC / スマホ)
進み具合の保存
  • localStorage
  • Cloudflare D1(Google でログインしたとき)
配信
  • Cloudflare Pages

開発の記録

リポジトリのコミット履歴から出した数字です(2026 年 10 月 13 日時点)。

開発期間
2026 年 5 月 〜 2026 年 10 月
コミット数
80

※ リポジトリは非公開。5〜6 月の 6 コミットは、作り直す前に設計だけ置いた頃のもの

ElecLab について書いた記事

ほかのもの

公開しているものの一覧へ戻る