長野県とコンピューターをテーマにした勉強会で、月1回のペースで開催されています。勉強会の内容や形式は固定されておらず、フリーテーマの発表会、講師を招いての講演会やハンズオンセミナーなど、様々な形で開催されています。単独での開催だけでなく、他の団体と合同で開催している回も数多くあります。プログラミングについての発表をしたことがあります。クローンの紹介をしたいと思います。使ってプログラミングされているかのような表現をすること」です。使わずにプログラミングされているかのような表現をすること」とも言えそうです。プログラミングができるわけでは無いので、ここでは誤解のないように「プログラミングされているかのような表現をすること」という回りくどい言い方をしていますが、ブラウザの挙動を含めて考えると「手順にそって実行されている」結果にはなるので、広義的にはおそらく「プログラミング」という表現で差し支え無いと思います。仕様を使ってトリッキーなことをやっている」だけのように受け取られてしまうかもしれないのですが、実のところ、「プログラミングされているかのような表現」を支えている部分には論理的な構造があり、まさにプログラミングといった要素をもっていたりもします。見た目を定義する」という形で表現されています。内で状態を持つこともできません。状態に対して、見た目を宣言的に記述すること」のみとなります。内で状態を持つことができないため、マウスのクリックやマウスの移動によって引き起こされた「DOMの状態の変化」に対して、「反応的に結果が変化する」ということになります。宣言的リアクティブといった要素を持っていると言えます。そのように考えると一般的なプログラマとしても、ある種のエクササイズとして、「1年に1つ新しい言語を覚える」といった候補に入れてみても(1年かけられるかどうは別にして)よいのではないかと、思わなくもないことろです。書いた作品ではあるのですが、実はそれなりに新規性のあるものでもあります。擬似クラスを使って当たり判定を行っていて、タップでジャンプする毎に当たり判定の領域を移動させるということをやっています。連続的な値なのでチェックボックスなどで保存することができないという問題がありました。することで、クリックした時点の縦軸の状態を保存する」という方法を採用しました。具体的には、ジャンプ時に移動させるレイヤーを入れ子にして、ジャンプ毎に奥から手前に状態を保存しつつ一枚ずつずらして行くという形で、今回の連続ジャンプの機能を実現しています。よる状態の保存」によって横スクロールアクションゲームを実現するというのは、(私の観測範囲では)これまでになかった新しい作品のパターンだと思います。プログラミングがトリッキーであることは否めないので、おそらく説明だけでは何をやっているか伝わりづらいと思います。興味をもってもらえたらソースを覗いてみるなどして、理解を深めてもらえれば嬉しいです。プログラミングをするにあたっての基本的なテクニックなどもあるので、それについては別の記事で紹介できればと思っています。以下の2点が、私が第17回勉強会の当時に作成した作品です。所属する組織や団体とは一切関係ありません。