shonen.hateblo.jp

やったこと,しらべたことを書く.

1.5inch RGB OLED Module の公式のライブラリが全ての色を使えていないので,全ての色を使えるようにする

環境

Arduino Micro

動機

公式の通販サイト https://www.waveshare.com/1.5inch-rgb-oled-module.htm には16bit(65K colors)と書かれているが, 18bitで指定できる設定を見つけたので記事にした.

本当に262k colors発色出来ているかどうか,人がそれを認識できるかどうかはまた別の問題.

続きを読む

Elo ratingを実装してみた

Elo rating とは

二人制ゲームのレーティングの算出法の1つ.

Wikipedia には,次の3点を基準に設計,と記述されている.

  • ゲームの結果は一方の勝ち、一方の負けのみとし、引き分けは考慮しない(0.5勝0.5敗と扱うものとする)。
  • 200点のレート差がある対局者間では、レートの高い側が約76パーセントの確率で勝利する。
  • 平均的な対局者のレートを1500とする。
続きを読む

WEBブラウザ上で生成したメロディを再生する方法(WEB Audio API)

introduction

特定のフォーマットのファイルを準備せず,音を動的に生成して再生する

  • 通常WEBブラウザ上で音を鳴らす時は,音楽ファイル(mp3やmidiなど)を準備して,それを再生する場合が殆ど.
  • DTMのようなものをWEBブラウザ上で作りたい場合,すべての音階の音楽ファイルを用意するか,音を動的に生成できるようにするか.

javascriptで音を生成するには?

Web MIDI API について試したところ,OS標準のMIDIは反応しなかった.

なので,特に事前準備が少なそうなWeb Audio API を使うことにします.

参考URL

1

非常に分かりやすい日本語のチュートリアルサイトです.僕が追加で説明する必要は無いと思います.

weblike-curtaincall.ssl-lolipop.jp

2

いい感じに見やすく,リファレンスマニュアルとしてまとまっています

www.javascripture.com

続きを読む

jQueryでdata要素のキーと値を持つ要素を選択する

jQuerydataで追加した要素にも使えます.

バージョン

結論

data"key"をキー"val"を値に持つ要素の色をredに変える場合.

$("div")
  .filter((idx,elem)=>($(elem).data("key") == "val"))
  .css("color", "red");

Array.prototype.filter() と引数が違う

Array.prototype.filter() は「要素」「インデックス」「配列」の順に与えられる.

jQueryでは「インデックス」「要素」の順に与えられる.

要素をjQueryで処理したい時は $() で囲む必要がある