0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Longan Nanoを使ってみる 16 ~とりあえずのまとめ~

Last updated at Posted at 2022-03-11

前の記事

Longan Nanoを使ってみる 15 ~音楽を鳴らす~

全体の目次

Longan Nanoを使ってみる 1 ~ビルド環境の構築~
Longan Nanoを使ってみる 2 ~デバッガの環境設定~
 Sipeed RISC-V Debugger
Longan Nanoを使ってみる 3 ~デバッガの使用方法~
Longan Nanoを使ってみる 4 ~printfを使ったデバッグ~
Longan Nanoを使ってみる 5 ~ゲームのプロジェクトを作成~
Longan Nanoを使ってみる 6 ~文字出力~
 Longan Nanoを使ってみる ~FONTX2ファイルを作る~
Longan Nanoを使ってみる 7 ~外枠とブロックを書く~
 Longan Nanoを使ってみる ~謎の画像表示関数~
Longan Nanoを使ってみる 8 ~ボールを動かす~
Longan Nanoを使ってみる 9 ~A/Dコンバータから入力~
Longan Nanoを使ってみる 10 ~パドルを動かす~
Longan Nanoを使ってみる 11 ~ボタンの入力
Longan Nanoを使ってみる 12 ~ボールのロス~
Longan Nanoを使ってみる 13 ~ステージの遷移とゲームオーバー~
Longan Nanoを使ってみる 14 ~PWMとサウンド~
Longan Nanoを使ってみる 15 ~音楽を鳴らす~
Longan Nanoを使ってみる 16 ~とりあえずのまとめ~

まとめ

ここまでで、Longan-Nanoを買ってから、開発環境、デバッグ環境を構築し、簡単なゲームを作るまでを説明した。マイコンの機能としては、あまり大層なものではなく、製品付属のLED、LCD、内部タイマー類、PWM、ADコンバータ程度だが、これらは多くのプログラムで使う、最も一般的な機能である。
また、これらの使い方を通して、ドキュメント類の参照方法などがわかるだけで、ほかの機能も使用できる。

注意

このページは、quiita.com で公開されています。URLがqiita.com以外のサイト、例えばjpdebug.comなどのページでご覧になっている場合、悪質な無許可転載サイトで記事を見ています。正しい記事は、https://qiita.com/BUBUBB/items/7ce85ada67a3f6d1944d からリンクしています。

無許可転載サイトでの権利表記(CC BY SA 2.5、CC BY SA 3.0とCC BY SA 4.0など)は、不当な表示です。
正確な内容は、qiitaのページで参照してください。

プログラムの拡張

このプログラムでは、ボールを最大5個、パドルを最大2個まで増やすことができる。プログラムを改変し、特別なブロックを壊したときにボールが増える、などを実装することができる。
また、現在、ボールの速度が一定だが、これも、奥の壁にヒットすると速度が増える、といった処理を加えた方がよい。

プログラムのダウンロード

今回の記事で作成したコードは自由にダウンロードできる。バイナリは公開していない。別に公開しても構わないのだが、記事の趣旨として完成品を配るのは意味がないこと、そもそもLongan Nanoを使って他人が作成したゲームを遊ぶだけ、という人がいるとは思えないため。

環境構築ができれば、ビルドは簡単なのでぜひ試してほしい。

今回作成したプログラムのコード

今回作成したゲームのソースコードは githubで公開している。
https://github.com/HisayukiNomura/NanoBreakout
※inMicroSDのフォルダ内にあるフォントファイルは、microSDのルートにコピーして使用する。

最初に作ったコード

今回の記事を作る前に作成した、Longan Nanoでテストプログラム以外で作った最初のコードもgithubで公開している。
https://github.com/HisayukiNomura/Breakout

もとになったコードは、ファイルの分割があまりされておらず、1ファイルが長いなど、多少わかりにくくなっているが基本的な構造は同じ。フォントは、http://jikasei.me/font/jf-dotfont/ のJFドットK12 … JIS X 0213:2000 対応 を使用させて頂いた。

ボールが複数画面に出る、ボールの速度が変化する、ゲームの難易度が選択できる、デモ画面がある、など、ゲームとしての体裁がある程度整っている。

感想

小さいPICなど、マイコンでは遊んだことがあったが、メモリやプログラムの制約が厳しく、常に色々気にしながらのコーディングだった。(PIC16F88の場合、プログラムメモリが4Kワード、RAMが368バイト)

一方、Longan Nanoの採用しているGD32Vではプログラムメモリが128KBytes、RAMが32KBytesという広大な空間でプログラム可能であり、ほとんど困ることはなかった。(もちろん、PICも32MXシリーズでは類似のスペックを持ってる)

ただ、遊びとして考えると、制約が多い環境でのプログラミングも面白く、Longan Nanoまで来てしまうと、単に「ひと昔のパソコン」を使っているような気分になり、新しいものを触っているようには感じない。Longan Nanoはドキュメントが少なく、APIのソースコードを直接見たり、類似のアーキテクチャを持っているSTM32シリーズのドキュメントを参照せざるを得ないことも多かった。ユーザーもまだPICやArudiuno (←やったことはないが)のように多くはない。

ただ、液晶、USBなどが一通りそろって、デバッグ環境まで買って2000円、というのはお値打ちで、もし、遊んだことがない人がいたら、ぜひ遊んでみるとよいと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?