「プログラミング」カテゴリーアーカイブ

Programing

桃の節句2021

桃の節句を祝う

蓮ちゃん 🎎 桃の節句
©2021 TacM, Ver0.02

 

 

余禄

ひな祭りの歌が再生されると風車が回る仕掛けになっていますが、風の当たる面が凸形になっていました。風を受けるには凹面になっていないと具合悪いです。風車の画像を裏返しにしました。

次に、絵文字のユニコードU3297は祝を丸で囲った絵文字のはずですが、最新でないブラウザは未サポートです。🎎(ひな祭り)の絵文字に変更しました。

再生後、再生ボタンは停止ボタンの機能になります。停止機能には音楽の停止のほかアニメーション停止も含まれます。また、中断箇所から何度でも再開できます。

成人の日を祝う

ウェブ書道家からのプレゼント

ウェブ太郎(上部太郎)から成人の日を迎えた若者へお祝い申し上げます。

上部太郎はウェブ上で書道を極めるべく頑張っています。書道画面にて再び、動きを付けるにはブラウザのリロードボタンを押します。

毛筆のように時間差で表示するには、まずInKscapeを使ってテキストツールからVertical textで縦書きを指定し、フォントとしてHGPGyoshotaiを用いて行書体で表示できるSVGファイルを出力します。

その後、LazyLinepainterを利用して先に出力したSVGファイルを加工し時間差で描画するhtmlを作成します。

筆を使ったような臨場感を出すには、Strokeとfillのopacityを制御します。setTimeout関数を適切に使います。

 

コロナ禍を想う

人間の歴史において感染症の蔓延は数えきれないほど生じたことでしょう。個人が流れを大きく変えることはできません。できる範囲で最善を尽くすほかはありません。外出を極力控え自分でできる専門知識の習得も人類への一つの貢献でしょう。

おまけ

せっかく習得した知識が宝の持ち腐れではもったいないです。子供の誕生日、桃の節句、端午の節句、卒園式等に毛筆で、動きを付けて、メールでプレゼントとして送ってください。

一年の風景

12秒で1年を巡る

暦の月をインデックスにしてあらかじめ用意した風景を表示してみます。ひと月を1秒で通過するように設定しているので12秒で1年を巡る勘定になります。

1月

利用した画像

画像の詳細情報

考究

ブラウザが管理する日付を引数にすれば、オンラインで今月の風景を描画することが可能になります。折を見て「ブログ守り人のつぶやき」に応用したいものです。

 

愛を語る

おまけ

ジムにおいてトレーニングマシンによる運動はHtml, Svg, JavaScriptにより描画されています。中でもエアロバイクとランニングマシンはGIFによって動きが付加されています。GIFによる動きの開始や停止は特別な指定がありません。そこでGIFのほかにPNG静止画像を用意しておいて、JavaScriptによりimg要素のsrc属性を切り替えて開始、停止を制御します。

プロモーション動画作成例

コロナ禍、油断大敵

コロナ禍がいったん、収まりかけ政府当局者が民度の高さを誇ったりして安心し過ぎたきらいがあったようです。

経済の立て直しは緊急の施策でしょうが、パンデミックの再来は猶、困ります。

PCR検査結果の陽性率がじりじり高くなっています。ここは我慢のしどころです。昭和天皇をお言葉をお借りすれば「耐え難きを耐え、忍び難きを忍び」未曽有の国難を克服しなければなりません。

だめなものはダメ!と広報することも必要でしょう。ひとつのプロモーション動画を作ってみました。参考になれば幸いです。

動画作成例

将棋熱沸騰

IT将棋開発

先日、高校生の藤井少年が藤井棋聖と呼ばれる存在になりました。神武以来の天才:加藤九段、谷川元名人、羽生元名人、渡辺二冠などからなる天才の活躍は、二度と破られない功績と称えられましたが破られることが常です。「記録は破られるために作られる」と言われています。

古今東西、天下を取るには十年に及ぶひたむきな努力が必要とされています。将棋は年齢による体格差が少ないので幼少期の研鑽・努力も立派にカウントされることでしょう。幼年期の詰将棋研究、小学4年からの奨励会における実戦研究は天下取りの基礎になったことでしょう。

また、コンピューター将棋による研究も新しい将棋界の波に乗り遅れることなく対応できたものと推察します。コンピューター将棋ソフトの開発は誰にでも門が開かれています。プロに勝てるような高度のものは初心者には垣根が高すぎます。

まずは駒を並べるソフトを手掛けてみませんか。20枚ずつの駒は並べる順序において、てんでんばらばらに並べても問題ありませんが、正式な試合では伊藤流や大橋流で並べることが多いです。

今回、大橋流で20枚ずつ順序良く並べるソフトを開発しましたので、これを踏み台にして高度なIT将棋ソフトに挑戦してはいかがでしょう。

手始めに

コンピューター将棋を開発するには将棋を指す技量のほか、駒や将棋盤、駒台などの画像が必要です。探せば著作権フリーな画像が見つかるかもしれません。駒にしても先手の駒を180度回転させて後手用に用意しただけでは物足りません。影を先手、後手用に付加する必要があります。

駒の画像は先手、後手の集合画像がネット上に満載されています。参考にされるとよいでしょう。集合画像から目的の駒の画像を取り出す関数も用意されています。これらはプログラミング技術になります。美術からソフトウェア工学までの総合知識を少しずつ積み重ねて大作を完成されるよう願っています。

サンプル

後手:蒼賢照初段 鬼才伝説
IT将棋の足掛かりに
駒を並べることから始める

ここをクリック
先手:聡琳翔二段 新手一生
©TacM,2020 Ver0.02
将棋熱沸騰


将棋は役立つの?
❶友達が増えた
❷じっくり考えられるようになった
❸勉強ができるようになった
❹先を読む力、決断力が身についた
❺礼儀正しくなった
❻感情コントロールが可能になった

本格化への道筋

導入編のコンピューター将棋ソフトを本格的なものに作り上げるには、上に示した機能をひとつひとつ積み上げます。やがては見上げる山が完成するかもしれません。

おまけ

将棋は王将の下に19の部下が付いて戦うゲームですが、先手(あるいは上位者)が王将(おうしょう)、後手(下位者)が玉将(ぎょくしょう)を持つならわしがあります。王の字は逆さにしても大差なく読み間違いを避ける意味合いからの慣習のようです。

 

人気の高い記事7点

人気の高い記事7点

約1000ページに及ぶブログの中で人気の高いブログ7点を表示します。講読後は終了ボタンをクリックして戻ってきてください。

©2020 TacM, Ver0.03

記事、ゲームなど自らプログラミングするには多くのサンプルコードが用意された『音や映像が飛び出すプログラミングつぶやき本』を参照してください。

ビンゴゲームを解析する

以下のビンゴゲーム管理ソフトは左上のビンゴ籠をクリックして開始します。左側の写真は70周年創業祭を祝った本社ビルを例に採用しました。

このサンプルでは16人の参加者が抽選に当たる経過をモニタリングしながら、4個の穴が開いたら「リーチ」と発声が飛び交い、5個の抽選が出そろったら「ビンゴ」と叫んでラッキー者を引き立てています。

また別の例として結婚式におけるビンゴ大会を模して若い二人の明るい行く末を祈っています。右のプログラミングコードはビンゴ管理ソフトのメイン関数です。

このソフトはビンゴゲームを科学する第一歩になると思われます。幅の狭い画面では期待した動作にならないかもしれません。公開されたプログラムコードをひな型にして多彩なビンゴゲームに挑戦してください。

さらなる深みを目指そう

HTML, CSS, JavaScriptを基本から学びたいときは本屋さんやWeb上の書店から初歩編を入手し、多くのサンプルコードを手に入れるには下記の「ブログ管理人著作のプログラミング教則本」を覗いてみませんか。

コンピュータ将棋への道

IT将棋を極める

今やプロを凌ぐIT将棋が存在しています。勝負は拮抗していないと面白みがありません。最近、人間とコンピュータの対戦は見かけなくなりました。これは人間を凌ぐソフトウェアが開発されたことが原因と言われています。コンピュータの進歩は処理速度やメモリ容量などにおいて日進月歩にあるのに対して、人間の進歩は緩やかであり、人間との実力が縮まりやがて逆転してしまいました。

プロ棋士に勝つソフトの開発は誰にも開かれています。ただ、その保証は誰もしてくれません。将棋プロ棋士になるのは東大に入るよりかなり難しいとされています。たとえ県大会で優勝してもプロ棋士になるのは容易でありません。全国優勝者でも年齢制限などで断念したケースは多々あります。

コンピュータ将棋の入口

コンピュータ将棋でひとかどの成績を上げるソフトを開発するには次のような手順があります。

①HTML, CSS, JavaScriptをひも解く

②駒を盤上に並べるソフトを開発する

③棋譜を再生する

④AI将棋に進む

以上のような手順です。

大橋流で駒を並べる

以前に、大橋流で駒を並べるソフトを公開しましたが、今回はより人間臭くなるように配慮しました。千里の道も一歩からです。ハードルを下げて挑戦してみてはいかがでしょう。中央上部のボタンをクリックしてスタートです。

 

後手:蒼賢照初段 鬼才伝説
天童佐藤敬商店『飾り駒』
先手:聡琳翔二段 新手一生
  ☖大橋流で駒を並べる☗
©TacM,2020 Ver0.01