「6lines (src on GitHub」(遊ぶにはキーボードが必要です)
左右キーで移動、スペースで回転、1行揃えると消え点数加算。リトライはリロード(他のキーを押すとおかしなことになるのはご愛嬌、下キーとか押さないで!)
信じがたいですが、ちゃんとゲームとしての一通りが揃っています。
初出は2002年、その後いろいろと改良されてきているようです。
「たった7行でテトリスを実装「七行プログラミング」とは - Qiita」
改めて見るとHTMLやJavaScriptの書き方が古いので、改善します。
関数宣言をモダンに変えて5文字削減!
function Y(){
↓
Y=_=>(){
問題はキー入力処理、keyCodeは非推奨なので、今後も動く保証がないので、keyを使って無理やり0,1,-1,-6を返す互換式を作成。ArrowRightの6文字目Rを28進数として数値化!
onKeyDown=K=event.keyCode-38
↓
onkeydown=e=>K=parseInt(e.key[5]||6,28)/3-8
でも、15文字も増えてしまいました。
ゲームとして保ったまま削れる部分を探して、下記の処理を省略して79文字6行達成!
- 2x2のテトロミノの場合回転しない処理
- 一度に消した際の点数ボーナス計算処理
- 詰まったらループを止める処理
感動的なのはテトロミノを生成する部分、0-6で7種類のテトロミノを表す長さ4の配列で表現しています。数は1次元化したフィールドの相対位置。IchigoJamでも使えそうなテクです!
JavaScriptなので、1行にもできます。たった、464文字(470byte)しかありません。IchigoJamの1ファイル上限、約1,000文字より短い!
こうしたプログラムを工夫するテクニックはMSX譲り。こどもの頃のMSXとの出会いに感謝!
「MSXユーザーのためのIchigoJam入門 - MSX Advent Calendar 2015」
先日開催された「高専インカレチャレンジ」
Nikko Open Innovation Labの磯野さん、鈴木さんと福井高専ご訪問。報告と今後についてご相談。
高専生たちが変わるきっかけになったことがうれしい!もっと実装力が上がるときっともっとスゴイ。
開発力を上げたい高専生「jigインターン」へどうぞ!
未来の創る人を創ろう「すべてのこどもたちにプログラミングを」の「PCN」年1のおまつり「PCNサミット」は、今年もひとまずオンライン開催。
全国のいろんなチャレンジと想いを持ったつながりが熱い!今年は日を分けて3日程開催、全国の地域ICTクラブとの交流も楽しみ!
本日の装備、いちごマスク別バージョン。
鯖江の呉服屋さん、まるよさんが創ってつくれました!