Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Snake game

これから、micro:bit v2 の 5x5 LED マトリクスをディスプレイとして使い、2 つのボタンを操作に使って遊べる、基本的な snake ゲームを実装します。これにより、この本の前の 章で扱ったいくつかの概念を基にしつつ、新しいペリフェラルや概念についても学びます。

特に、ハードウェア割り込みの概念を使って、プログラムが複数の ペリフェラルを同時に扱えるようにします。割り込みは、組み込みの文脈で並行性を実装する一般的な方法です。組み込みの文脈における並行性については、Embedded Rust Book に良い 入門があるので、先にそれを読んでおくことをお勧めします。

NOTE この章は micro:bit v2 のみを対象に作成されており、v1 には対応していません。コードを v1 に移植するためのコントリビューションは歓迎します。

NOTE この章では、前の 章で使用したものより新しいバージョンの特定のライブラリを使用します。microbit ライブラリはバージョン 0.13.0 を使用します(前の章では 0.12.0 を使用していました)。 バージョン 0.13.0 では、これから使用するノンブロッキングのディスプレイコードに関するいくつかのバグが修正されています。また、heapless ライブラリはバージョン 0.8.0 を使用します(前の章ではバージョン 0.7.10 を使用していました)。これにより、Rust の core::Hash トレイトを実装した構造体で、その データ構造の一部を使用できるようになります。