2026-06
- 今月の一言
- Oh, it's the wrong number!
We're very very sorry that we got it wrong!何か涙カプサイシン噛み千切ったせいかな?ドキドキ
こんにちは。数 C の点が低くて泣きそうなおうちです。
python の技術的な話を書いたのですが文章もデータも全部トんで\(^o^)/オワタ。
簡単に説明すると、二次元配列を文字列に結合する効率を調べていました。結果リスト内包表記が 1 番早そうだと判明。map は内包表記より僅かに遅れる。cv2 関連で numpy を使っているのだがあくまで数値計算のためのモジュールなので文字列の操作はあまり充実していなかった。無理やり実装しても map → list 型変換より遅い。
短いですが今日はこれで終わり。大元のプログラムもいつか公開するかも。日記一覧は 2、3 日の内に完成の予定。
書くこと思い出したので追記。今月のタイトルに適用しているとおり、上下及び左右反転の css クラスを作ってみました(rotate3d で雑に実装しただけですが)。某ポケモンの愛好家が使うかもしれない。
しりとり
- 居丈高(ゐたけだか)
- 座ったときの背が高いこと。偉そうで威圧的なさま。
形容動詞の語幹は名詞ではありませんよ! まあ思いつかなかったので仕方ない。
ちなみに少納言で検索したら 1970 より最近の用例がなかった。私も語彙を増やさないとな。
こんちには Kb8です
ギャルゲーとはなんですか?
あまりにも哲学的過ぎる問でしたかね。
『kbのギャルゲー講座』最終回の今回はギャルゲーの定義について語りたいと思います。
ギャルゲーに興味がある方もない方も、なんとなく考えながら私の語りに付き合ってください。
なお、ここからかなりの長文が展開されることが予想されます。
適当に読み飛ばしながら読むか、好きな部分だけ読むかしてください。
あくまで今この時点での私のギャルゲーに対する考えをまとめたくて書いているので、誰かに呼んでもらうことはあんまり目的としていません。
というわけでまずは、名前から定義するギャルゲーの本質について考えます。
その名称から、ギャルゲーに対して切り込んでいきましょう。
ギャルゲーにおいて(というかゲームにおいて)その名前というのはとても大事な要素です。
その作品名という部分においてのみ考えてみても、覚えやすく短いフレーズにするのか、興味が惹かれるような独特なものにするのか、内容が瞬時にわかるようなものにするのか……。
それに、名前といえばゲームのジャンルわけにおいても発生しますよね。
FPSとかRPGとかパズルとか、そういう大枠のジャンル分けではあまり名称の意味の大きさは感じられにくいと思いますが、それよりさらに細かいものはどうでしょうか。
ひとつここで、ギャルゲーに類似した他の呼び名を上げてみましょうか。
世間的には『ビジュアルノベル』という名が一般的ですかね。
他には、エロゲー(エロゲ)、美少女ゲー、萌えゲー、サウンドノベル、シナリオゲー、寧々ゲー、PCゲーム……。
なんだかたくさんありますね。
それから、『ADV』とはアドベンチャーの略で、こちらもよく聞きます。
ADVは、ギャルゲーというゲームのジャンルを大分する際によく使われます。
なにかギャルゲーを買ったりとか、ギャルゲーブランドのサイトを覗くとわかりますが、その作品の『ジャンル』の欄に『~なADV』とか書かれていると思います。
たとえば、私がこないだ購入しましたKeyの新作『anemoi』は、ジャンルは『恋愛アドベンチャー』とシンプルになっています。
また、2009年6月に130cmから発売された『鬼うた。~鬼が来たりて、甘えさせろとのたもうた。~』は『依存少女たちによる嫉妬・修羅場AVG』となっています。
それから、2016年2月にHARUKAZEから発売された『ノラと皇女と野良猫ハート』にいたっては『絶対キミと添い遂げる、臆病で勇敢なブレイブハートストーリー』となっています。
もうなんなんだかよくわからない……。
まあとにかく、ADVという表記はこういうときに使われます。
じゃあビジュアルノベルは?というと、これは海外のところとかでみる気がします。
実際steamではビジュアルノベル、というくくりがあります。
また、前に紹介した『VNDatabase』の正式名称は『The Visual Novel Database』です。
もちろん、ギャルゲーとかエロゲーとかいう表記もありますが。
ちなみになんでこんなに名前が多いのかと言えば、それぞれのブランドがちょっとした違いを演出やシステムに出した際に、『これは新しい!』と思って、『このゲームは○○という名前の新しいジャンルになる!』とか言ってオリジナルの名前作った性です。
また、呼称もどれを使うかは、その人それぞれになります。
私はギャルゲーという呼び方を好みますが、他の人は全く違う呼び方をしていることがあります。
前に、インディーでギャルゲーを作っている方のブログを見たことがみたことがあるんですが(名前忘れてしまった。でも最近の人で、今年新作が出るはず)、その方は『美少女ゲー』という呼び方をしていました。
略して『びしょゲー』だそうです。
なんか濡れてそうな呼び方ですよね。
一般的な用語では、『ギャルゲー』とはあまりいいません。
先の、大枠のジャンル分け、になぞらえるなら、主に『ADV』か『ビジュアルノベル』に分類されるはずです。
しかし、皆さんの知っての通り、『ビジュアルノベル』=『ギャルゲー』ではなく、そこには例えば『エロゲー』や『ノベルゲー』なんかも含まれているわけです。
といういかそもそも、『ビジュアルノベル』に『ギャルゲー』が包摂されるという認識は正しいのでしょうか。
世間一般にそういうのみであって、ギャルゲーはビジュアルノベルの枠におさまるわけでは、とも思います。
では、ギャルゲーとはどこに含まれて、どこに含まれないのでしょうか。
早速、『ギャルゲー』という名前からその定義について見てみましょう。
『ギャルゲー』とはつまり『ギャル』と『ゲーム』がくっついて省略された名前です。
じゃあ、その『ギャル』とはなんだ?
『新明解国語辞典 第六版』にはこう書かれています。
ギャル〔gal=girlの変化〕〔流行に敏感で、性的にもあけっぴろげな〕若い女の子。「原宿ー」
ふむ。では次に『ゲーム』はどうでしょう。
ゲーム〔game〕①勝ち負けを争う遊び。多く、二人、または二人以上で行う。②〔スポーツなどの〕試合。
ん?これ、ギャルゲーは①にも②にも含まれませんね?
多くの場合、勝ち負けを競わないし、ぼっちプレイが主流だし。
もちろん、スポーツなどしない……いや、たまにすることもあるか。
じゃあ、別の言葉の欄に載っているのか?と思い、思い当たる他のゲーム系の言葉を調べました。
てっきり『ビデオゲーム』とかの欄に載っているのかと思いましたが、しかし、他のどの言葉の欄にもギャルゲーらしいゲームの定義はなされていませんでした。
しかしそれは、この国語辞典が古い性です。
『新明解国語辞典 第六版』は2005年に初版が刷られました。
そんな昔の国語辞典が今のデジタル化したゲームに追いつけるわけがありません。
2005年といえばDSが普及していた時代で、『おいでよ どうぶつの森』とかやっていた時代ですよ。
ギャルゲー的に言えば、『処女はお姉さまに恋してる』(読み方注意:おとめはボクにこいしてる)とか『つよきす』が発売された年です。
そう考えると、古い……いやでも、なんかそんなに古くもない気がしてきた……。
さて、というわけで、今どきのインターネットにて『ゲーム』の定義について調べてみましょう。
まあ、改めて考えてみればゲームの定義とはなんなのか、多様化する今のゲーム像を見てから考えると、それを定めるのは少し難しい気もしますが。
一口で言ってしまえば、『娯楽』とか『満足させるもの』とかになるんでしょうかね。
しかし、全てのゲームをそれに集約して語ってしまうには、実際はそうではないものが多すぎますし、クリエイターに失礼な気がします。
あなたは、ゲームの定義とはなんだと思って、ゲームをプレイないし作っていますか。
ネットにはゲームの定義について言及した多くのサイトがあります。
その中で、私の一番近かったのは『実用日本語表現辞典』あたりですかね。(信憑性が、と思われるかもしれませんが)
game
「game」とは・「game」の意味
「game」とは、遊びや競技を行うための活動やルールの集まりである。一般的には、参加者が特定の目的を達成するために戦略や記述を駆使し、競い合う形式が多い。ビデオゲーム、ボードゲーム、カードゲームなど、様々な種類のゲームが存在する。
『集まり』と言っている時点で、なんだかあやふやな感じがしますが、まあ、それらしくはあります。
また、他のサイトをみていて思いましたが、ゲームを定義するに際して『ルール』に重きを置くのが多いようです。
上記のものでも、『活動やルールの集まり』といっています。
まあ、確かに、ルールはそのゲームを成立させるための重要なファクターですよね。
しかし、考えてみると、ギャルゲーのルールとはなんでしょう。
ギャルゲーにルール?そんなものありましたかね?
アクション要素があるものならともかく、普通のノベル形式のゲームにおいては、ルールと呼べるものはないに等しいです。
もし、プレイヤーの戦略性とか意思・選択を重視する、というような意味なら、行動・会話の選択肢とかはそれに含まれるかもしれませんが。
しかし、戦闘系のゲームなどと比較すれば、やはり、ギャルゲーではルールというものの存在感は希薄です。
基本、テキストを読み終える毎に、プレイヤーは左クリックorEnterキーを押し続ければいいだけですし、セーブ時には適当なファイルを選んでセーブするのみです。
オートモードにしてしまえば、最早、クリックの必要もなくなります。
駆け引きのようなものは、生まれる余地がありません。
物語の進行に影響するような選択肢があれば話は別ですが、しかし、昨今のギャルゲーにおいて、選択肢が多く出てくるものは少ないです。
だいたいが、その後の個別√の選択のため、もしくは、その後のシチュエーションが少し変わる、といった具合のもの。
なんなら、√選択のための会話中の選択肢すら捨てて、共通√が終わったら『どのヒロインにします?』っていう感じでその後の個別√を訊ねてくるものもあります。
この場合、ゲームをやっているというより、結末が複数ある本や漫画、ドラマを見ている感覚に近いですね。
さて、ここまでの話でだいたいわかってきましたが、ギャルゲー(というよりはビジュアルノベルと言った方が正しい)というのは、ゲームにしては少し特殊なタイプのゲームのようです。
どこが特殊なのでしょう。
それは、シナリオ一本をゲームの骨子として据えて、ゲームとして成り立たせている点です。
まず前提として、ゲームとは複合芸術です。
少なくとも、"そのようなもの"ではあるはずです。
そのゲームの芸術性(面白さのようなものも含む)を大きく受け継いだ(というか直接的に受け継いだ)のが、ギャルゲーと言えるわけですね。
ゲームとはいってしまえば、ただの表現の手法の一つです。
主には面白さですがその他のものであっても、それを演出し、表現するものであるはずです。
しかし、人が人に伝達する上では、表現方法というのは限られてきますよね。
本のような文字なのか、絵画のような絵なのか、楽曲のような音なのか、それともその他のものなのか。
まあ、沢山ありますが、ギャルゲーでは、主に上の三つを組み合わせているわけです。
これが、別のジャンルのゲームであったなら、もっと別のゲーム的な表現要素を組み合わせているはずです。
前に例にした戦闘系のゲームでいえば、そのバトルの形式や使用なんかが、プレイヤーになんらかの情感を与えているわけです。
それが、ギャルゲーにはないんですね。
まあ、ない、といえば少し大袈裟ですが。
しかし、ルールがない、とはさっき述べた通りです。
ですから、そこから来る、プレイヤーに与える感動のようなものが、他のゲームと比較して、ないわけですね。
少なくとも私は、テキストを読み進めるためにクリックしたりするのに感動したことはありません。
(もしも、ものすごくUI周りに凝っていて、押した感覚がキモチイイという感じの作品があったら感動するかも)
ギャルゲーはシナリオ・イラスト・音楽等々の面白さや、ひいてはそれ全体の生み出す"雰囲気のようなもの"を楽しむよう設計されています。
つまり、もっとわかりやすくいえば、小説とかアニメとかの延長線上にあるわけですね。
ですので、その芸術性を直接ゲーム自体の面白さにしているわけです。
他のゲームだったらこうはいかないでしょう。
ゲームだからこそ演出できる部分により力を入れて、ゲームだからこそなせる手法をとっているんじゃないかと思います。
ギャルゲーにはそれがないわけですから、他のゲームは、ギャルゲーに+そのようなゲーム的コンテンツを盛り込んだもの、と考えてもいいかもしれません。
さて、だいぶギャルゲーのゲーム性の特殊さについては、だいぶわかってきました。
しかし、ここまで書いて私は思ったのですが、これ、
ギャルゲーというよりかは、ビジュアルノベルについての考察じゃね?
と。
事実、ここまでの文章の『ギャルゲー』の部分に『ビジュアルノベル』、と当てはめてもすんなり意味が通ります。
ゲームとは、を語る前に、ギャルについても調べていたはずなのに、すっかり忘れていました。
話が脱線していたわけです。
これじゃあギャル関係ないですね。
さて、ギャルゲーの定義をしましょう。
ギャルとは、『〔流行に敏感で、性的にもあけっぴろげな〕若い女の子。』でしたね。
では素直に、ギャルゲーとは、若い女の子がモチーフのゲーム、と考えていいのでしょうか。
しかし、それではあまりにも範囲が広過ぎる気がします。
若い女の子がフィーチャーされているゲーム作品など、この世に五万とありますから。
今までの話の流れに沿うのならば、テキストを読み進めるようなものがギャルゲーなのでしょうか。
いや、それではあまりにも範囲が狭くなってしまいますから、アクション要素があってもいいが、あくまでシナリオが主眼のゲーム、という定義になるでしょうか。
確かに、サブ的な要素で、簡単なものですが、シナリオを読む以外の動作を要求するギャルゲーは存在します。
その方が、遊び手が飽きづらいためですね。
しかし、ではアクション要素を前面に押し出している、若い女の子がモチーフのゲームはギャルゲーではないのでしょうか。
それは、否でしょう。
『ラブプラス』をみてください。
2009年9月にコナミから発売された、DS向けのゲームです。
『ときメモ』ライクな感じで、一日の予定をプレイヤーが決めることができ、その選択によって、自分のステータスが上昇します。
ヒロインは三人いて、それぞれタイプが違う他、自分の好みの性格や髪型にすることもできます。
このゲームの一番の魅力、ポイントは現実の時間とのリンクです。
リアルの日付でゲーム内の物事が動くため、例えば『今週末は、寧々さんとデートの約束があるんだお。フヒヒ。これで僕もリア充の仲間入りなんだな』みたいなことが言えます。
これは確かに面白いですし、なにより、自分には彼女がいる、という優越感にも似た感慨に浸ることができます。
また、デートでは彼女とのスキンシップパートがあり、タッチペンでお触りします。
成功するとキスをすることができ、これにも細かい種類と調整があります。
彼女と長い時間を過ごせば過ごす程、難易度が上がり、最後は結構難しくなります。
『ラブプラス』には、他にもいろいろなコンテンツがあるのですが、つまりこのように、アクション要素がメインのゲームである、ということです。
シナリオ部分はありますが、一人のヒロインのものであれば、毎日少しずつ読んで、ものの一ヶ月程度で全てのシナリオを読み終えてしまうでしょう。
テキスト量自体もすごく少ないです。
これって、ギャルゲーでしょうか。
ええ、ギャルゲーでしょう。
立派に彼女といちゃついて、濃密な恋愛体験をすることができるのですから、まごうことなきギャルゲーです。
他にも、『ソニコミ』や『ぎゃるがん』など、アクション要素が前面に押し出されているギャルゲーはあります。
つまりここから導き出せるギャルゲーの条件とは、
①若い女の子がモチーフである
②恋愛をすることがテーマである
というところでしょうか。
ふむ。絞れてきました。
確かに、今まで上げてきたギャルゲーはこの条件に適合しているように見えます。
ですがちょっと待ってください。
この条件ではおかしいような気がします。
というのも、これでは抜きゲーで一部含まれないゲームがでてきます。
抜きゲーとは、エロゲーで、そのエロの実用性を重視した部類の作品です。
抜きゲーは、大きく分ければ純愛系とインモラル系に分けられます。
この純愛系はともかく、インモラル系は①若い女の子がモチーフであれど、②恋愛をすることがテーマだとはとても思えないゲームが多数あります。
インモラル系とは、モラルに反したシチュエーションで、背徳感を煽るタイプのものです。
たとえば、そのインモラル系の作品の中で、ただ女の子をレイプをするだけ、といった内容の作品は、恋愛要素が全くありません。
しかし、たとえそのような抜きゲーでもやはりギャルゲーであるような気がします。
では、エロが含まれるゲームすなわちエロゲーは全てギャルゲー、という風に定義してみてはどうでしょうか。
しかし、それもなんだかおかしい気がします。
たとえばエロRPGはどうなるのでしょうか。
確かに、エロがあります。
しかし、それは本当にギャルゲーなのか?
RPGっていっているからにはRPGのはずで、つまりギャルゲーではない。
いや、ですが今話しているのはゲームシステムからみたジャンル分けではなく、あくまでも内容をみた場合のジャンル分けですから、エロRPGであってもそこは変わらないはずです。
ううん、わからなくなってきました。
ここで、だいたい三日ぐらい考えました。
そして、私は一つの結論に至りました。
恋愛がテーマ、とはつまりどういうことなのか。
私たちは日々、ギャルゲーをする中で、果たしてどのような恋を経験しているのか。
私は思いました。
本当は、内容が恋愛と関係があるかどうかは関係ないのではないかと。
ギャルゲーの多くはラブストーリーです。
恋が、劇中の人物(ヒト以外もアリ)の恋が主眼で、人々がそこに価値を見出しているのは間違いありません。
主人公という窓からギャルゲーのそれを覗きこむわけです。
しかし、それは作品中でおさまるものでしょうか。
そんなヤワなものなのでしょうか。
いいや、違う。
と、ギャルゲーマーは語ります。
私たちはギャルゲーを通して恋愛をします。
その情愛に酔いしれて身を焼きます。
その強い恋は、ギャルゲーの中から生まれるものです。
だがしかし、その恋は主人公(人物たち)を通して私たちに届きます。
そして、この私たちから更なる外に出ていこうと、熱をもちます。
コレがギャルゲーの恋愛であり、一番のギャルゲーの魅力なんだと思います。
きっと私たちは、ギャルゲーをして、その恋に恋をしています。
しかし、作品によっては劇中で恋愛をしない場合もあります。
ただエロいだけの抜きゲーかもしれないし、急に鬱ゲー展開かもしれない。
ギャルゲーにも色々なカタチがあって、だからどこからがギャルゲーなのかわからなくなります。
そんなときは、↑を思い出しましょう。
そう、畢竟、内容が恋愛かどうか、は関係がないのです。
問題となるのは、プレイヤーである私たちが恋をしているのかどうかなのです。
シナリオテイストでなくてもいい。
ただ、そこにギャルがいて―ー萌える美少女がいて―ー、プレイしたあなたがそのゲームに恋をしたのなら、それはもうギャルゲーなのです。
ふむ。なるほど。
つまり、恋をする(誰がするのか)というのは、劇中人物ではないわけですね。
私たち、ということでしょうか。
もちろん、そうやってプレイヤーに恋愛をさせるには、作品を恋愛色にして、主人公をプレイヤーに重ねるのが手っ取り早いですから、現代のギャルゲーにはそのような作品が多いわけですね。
ですが、こうなってくると、なかなか、ゲームのコイツにゾッコン!、みたいな感じではなくなってきそうです。
作中のこのヒロインが好き!、というのはもちろんありますが、ゲームに恋した、と言うわけですから、特定の一人物のみを気に入るというのはなんともそぐわない気がします。
つまり、ギャルゲーとは、ゲームをまるごと、そのヒロインごと、好きになると、そういうわけではないでしょうか。
確かに、私の経験からしても、そういう向きが強いと感じます。
ギャルゲーだからって、ただの属性テンプレなヒロインを一途に好きになることは少ないですし(超ヒットみたいなすげえ萌えて好きになるヒロインはいます)、多くの作品をプレイしていく中でずっと似たような好きで好きになれる程刺激にずっと敏感でいられるわけでもありません。
その場合、私がギャルゲーのどこに恋しているのか。
きっと、その世界まるごとなんじゃないかと思います。
人物も、ストーリーも、Hシーンも、作者も全て内包した大きな世界を私は好きになったんだと思います。
これが感じられるのが、実はギャルゲーの愉しみなのです。
ギャルゲーの愉しみ方の一つに、昔プレイしたゲームを回顧する、というものがあります。
ふと、なんとなく、思ったときに、PCのゲームデータを保存したドライブからゲームを起動してみます。
ExtraコンテンツのCGモードとかSoundモードとか開いて、鑑賞します。
これだけなのに、この瞬間すごく愉しいんですよね。
あと、ゲームの外箱とかを押し入れから出してきて、箱を鑑賞したり、初回限定版とかにある付属品の冊子を読んだりします。
これもすげえ愉しい。
これは始めたての人間はできませんが、ギャルゲーの経験を重ねれば重ねる程、愉しみも増していきます。
不思議なのは、これが昔のものであればある程、面白いところです。
年月を経たもの程、そのときの思い出が喚起されて、紙上に表れないような心地になります。
もちろん、こうした面白さはギャルゲーならでは、というわけではないでしょうが、ギャルゲーのものは少し違う気がします。
というわけで、ここまで長々した感じになりましたが、つまりこんなようなことでどうでしょうか。
ギャルゲーの定義というのは
①若い女の子がモチーフである
②プレイヤーがその世界に恋をしている
みたいなことで。
これぐらいでいいかな?
なんかもう少し語りたいこともあった気がするけど。
まあ、あんまり全部思惑を語ってしまうのも芸がないので、これぐらいに収めるべきかもしれません。
なんだかんだいって、まあまあ書きましたね。
わりと疲れた……。
でもおかげで、自分の中にあったもやもやした部分をかなり明確にすることができた気がします。
やはりこうやって考えを書き出す行為、アウトプットは大事なんだなと思い、また一つギャルゲーマーとしてレベルアップしてしまった自分がいる。
最後ですけど。
まあ、でもなんか結局、こういうごちゃごちゃした論理を並べ立てるよりも、ただ、ゲームをたのしめばそれでいいと、そんな感じがしてきましたね。
それが一番じゃね?
しりとり
- 彼女のセイイキ(かのじょのせいいき)
- 2014年12月にfengから発売されたロープライス作品。 幼馴染の彼女と再会するというギャルゲーでは王道な話。 個人的に大好きな作品。 いやまあ、実はまだプレイしたことはないんですけどね。
feng史上初のロープライス作品で、ここから『セイイキ』シリーズとして、『妹のセイイキ』、『学校のセイイキ』が続きました。 『彼女のセイイキ』はその年の萌えゲーアワードで金賞をとるぐらいのヒットだったので。
魅力はなにか。 個人的には、なんといっても涼香先生のイラストにあると思います。 この頃の涼香先生の画風が自分には一番タイプで、すごく刺さるんですよね。 無論、今も昔も素晴らしいイラストを描く方ではあるんですが。 でも、この頃、というかやはり彼女のセイイキの絵は、めっちゃイイんですよ。 ギャルゲー界、というか他のどの業界のイラストを見たとしても、こんなに魅力的なイラストはないんですよね。 やはり涼香先生は表情の描き分けが上手い 。
シナリオライターもなかひろさんだし、音楽方面には堀江晶太がいるし。 やはりすげえ面白そうだな。 今年の冬こそプレイしたい。
members の整理が終わらないゼ! いいカンジに調整して html を生成する python スクリプトを書いたはいいが、中断できない仕様にしたせいでミスが発生した瞬間 THE END なのでおじゃる。そして案の定ミスった。この人最近ポンコツでは?
それはそうと、今日は日記を書く予定じゃあなかったのだが何故こうして書いているかというと……
なんと……
新ヌー会員が日記を書いてくれました! やったね。
というわけで、このおうちはしりとりだけ調整しにやってきたわけです。
では、さらば。
しりとり
- 協諧(きょうかい)
- 応和。
自己紹介でございます。
80期新入部員の点ありです。触っているソフトはWOLF RPGです。
家のパソコンOSはWindows8を使用しており、GoogleChromeのアップデートをする権利がありませんでした。
一般DMP兼仮面ライダーオタク
です。
WOLF_EDITORを使用して、「MONDAYS」映画をもとにして、ゲームを作成しています。
また、桃太郎を原作とした完全なる新たな物語、「新・桃太郎」の作成に取り掛かっており、やりたいことの多さに困惑しています。
しりとり
- 193(イクサ)
- 仮面ライダーイクサ 753が変身する
HRtPにぞ候ふ。我しばしば古語を用いるなり。
今の世、いと穢きことばあまた使ふもの、いと多からむや。かの人ら、常に、人をことばに依りて打殴することをよしとし、よそを人とも思はず、ただ自らの旨をばおすこと甚だならむ。面をも見たことなき人を、如何にして誹謗せむとするか。この者ら、いとはしたなき故、滅ばざるを免れ得ぬべきなり。
かの者ら、互ひに論議するを知らず、ただ人を除き、自らの欲をのみ満たさむとするか。神仏を用ゐ、残虐を用ゐて、自らのことをば正当化せしめるが、これら世の中を分かつでなく、世の中をまとめ成り立たすがためにあり。故、かれらの誤り、いづれか正されむと欲す。
概ね他所のことばには、学び用ゐるにいと難しきこと多からむ。また、日記の文字、甚だ少しなること心憂くなり。されど、古に学び、未来をば創り出すことは、我らの命たり。我ら過去に生きるでなく、未来に生きるでなく、ただ今に生きるのみなれば。
しりとり
- 棹(さを)
- 箪笥や長持などに差し担ぐ棒なり。また箪笥や長持を数ふる時の単位にあり。
おうちです。以前言っていた日記一覧の増設が完了したことをここに報告します。
杵氏の功績で 2018 年度以降の会員には日記一覧が存在していました。今回は手付かずだった 2017 年度以前の分を追補しています。ついでに何故か作られていなかった 2015 年度卒業生と、お遊びで名誉会員のページを新設。
この速度で作成できたのはいい感じのプログラムを作って半自動化したからです。会員の名前と一意の ID(ファイル名に使う)の対応を設定すれば日記ファイルをスクレイピングしていい感じに日記一覧に落とし込んでくれるプログラムを python で書きました。が、日記を書くたびに名前を変える輩がやたらと居るせいで手動で行わなければならない作業が発生し、予想外に疲労。日記が短くなるという寸法です。
ちなみにその「日記を書くたびに名前を変える輩」は主に 63 期生と 64 期生の皆さんです。反省してください。
そういえば 1 つ、外国語が元ネタらしいハンドルネームの ID は言語の綴りにするという拘りでやっていました。スルト → SURTR、アスタ → ASTER、フェンリル → FENRIR、セルフィ → SELPHIE みたいに。そうだ、どうせなら 2017 年までの日記の記者一覧を載せてしまおう。kb の向こうを張って非常識な高さの日記にしますよ。では、
{
'': 'ABONE',
'仙人': 'SENNNIN',
'名無し': 'UNOWEN',
'谷治論': 'YAJIRON',
'午後の紅茶': 'GOGOTEA',
'1000人': 'SENNNIN',
'2 名無し': 'TAI',
'25号': '25GO',
'3B': 'SUNB',
'404': 'ABONE',
'487': '487',
'6 閣下?': 'OHB',
'『Fen』': 'FENRIR',
'BOMB': 'ABONE',
'Fen': 'FENRIR',
'Fen has been dead for fortythree days.': 'FENRIR',
'Fen has been dead for fourteen days.': 'FENRIR',
'Fen has been dead for nineteen days.': 'FENRIR',
'Fen has been dead for thirtyseven days.': 'FENRIR',
'Fen has been dead for twentyfour days.': 'FENRIR',
'Fen has been dead for twentyseven days.': 'FENRIR',
'Fen has been dead for two days.': 'FENRIR',
'Fen with explosion soul': 'FENRIR',
'Fen=The=Soul of darkness/': 'FENRIR',
'K@pipe': 'K@PIPE',
'KUROBANE': 'KUROBANE',
'Key': 'KEY',
'Ohb': 'OHB',
'Ohb閣下': 'OHB',
'PCC Security Center': 'UNOWEN',
'Razgriz': 'RAZGRIZ',
'SB': 'SUNB',
'SUNびぃ': 'SUNB',
'Seto': 'SETO',
'Seto内海': 'SETO',
'Shirona': 'SHIRONA',
'S・T(フカヒレ)': 'FUKAHIRE',
'T': 'T',
'TMM': 'TAMAMO',
'The tea of afternoon(午後の紅茶)': 'GOGOTEA',
'Ultra★supervisor-KANTOKU': 'KANTOKU',
'YKNK': 'YUKINEKO',
'can talk': 'KANTOKU',
'chicken': 'CHICKEN',
'fen': 'FENRIR',
'fkhr': 'FUKAHIRE',
'key': 'KEY',
'koyomi': 'KOYOMI',
'mackenzie': 'MACKENZIE',
'pipe': 'K@PIPE',
'poiulioup': 'POIULOIUP',
'poiuloiup': 'POIULOIUP',
'seto': 'SETO',
'seto・・・ではない': 'UNOWEN',
'snnn': 'SENNNIN',
'yandere': 'YANDERE',
'yknk': 'YUKINEKO',
'ykんk': 'YUKINEKO',
'yuki猫': 'YUKINEKO',
'あ': 'UNOWEN',
'あぼーん': 'ABONE',
'あんとく': 'KANTOKU',
'おおおお': 'KYOUJU',
'おらんじーな': 'ORANJI-NA',
'おりんりん': 'HOURIN',
'おーぶ': 'OHB',
'お燐': 'HOURIN',
'かっか': 'OHB',
'かんとく': 'KANTOKU',
'きぃ': 'KEY',
'きい': 'KEY',
'きー': 'KEY',
'くらー': 'KURA',
'くらー、蓮': 'KURA',
'くろ☆ばね': 'KUROBANE',
'こよみ': 'KOYOMI',
'ごごてぃー': 'GOGOTEA',
'さぶ[1]': 'SUNB',
'さぶい…': 'SUNB',
'さぶかるちゃぁ': 'SUNB',
'さんβ': 'SUNB',
'さんびぃ': 'SUNB',
'さんびぃ ': 'SUNB',
'さんびぃ(16)': 'SUNB',
'さんびい': 'SUNB',
'さ~ん~びぃ~': 'SUNB',
'しろな': 'SHIRONA',
'しろー': 'SHIRO',
'しろー ': 'SHIRO',
'せっとー': 'SETO',
'せとー': 'SETO',
'せんとー': 'SETO',
'せんにん': 'SENNNIN',
'たまも': 'TAMAMO',
'にゃんちゅー': 'HOURIN',
'ぴぺ': 'K@PIPE',
'ふぃぶりる': 'FENRIR',
'ふぇ': 'FENRIR',
'ふぇんりる': 'FENRIR',
'ふぇリール': 'FENRIR',
'ふぇn': 'FENRIR',
'ふかひれ': 'FUKAHIRE',
'ふかひrrrrry': 'FUKAHIRE',
'ふつるき': 'FURUTSUKI',
'ふりゅつき': 'FURUTSUKI',
'ふるつき': 'FURUTSUKI',
'ふるつきぃ': 'FURUTSUKI',
'まもる': 'MAMORU',
'まもる\u3000名無し': 'MAMORU',
'まもるくん': 'MAMORU',
'もっさん。': 'MOSSAN',
'もっさん。feat.おらんじーな': 'ORANJI-NA',
'もふぺろ': 'MOFUPERO',
'やじろん': 'YAJIRON',
'やぢろん': 'YAJIRON',
'やんでれ': 'YANDERE',
'やんでれ(代筆)': 'YANDERE',
'やんでれ+': 'YANDERE',
'やんでれ?': 'YANDERE',
'や持論': 'YAJIRON',
'や自論': 'YAJIRON',
'ゆう': 'YOU',
'ゆきぬこ': 'YUKINEKO',
'ゆきね': 'YUKINEKO',
'ゆきねこ': 'YUKINEKO',
'ゆきねコーン': 'YUKINEKO',
'ゆきねk': 'YUKINEKO',
'ゆきんこ': 'YUKINEKO',
'アSetoアルデヒド': 'SETO',
'アSetoン': 'SETO',
'アスタ': 'ASTER',
'エレガントな人': 'OHB',
'オウブ': 'OHB',
'オーブ': 'OHB',
'カマヨ作成犯': 'KAMAYO',
'クロバネ': 'KUROBANE',
'クロバネェ・・・': 'KUROBANE',
'クwロwバwネww': 'KUROBANE',
'ショク': 'SYOKU',
'シロナ': 'SHIRONA',
'シロナガスクジラ': 'SHIRONA',
'スニーカー': 'SNEAKER',
'スニーカー ': 'SNEAKER',
'スルト': 'SURTR',
'セルフィ': 'SELPHIE',
'ゼクス': 'ZX',
'テスト休止': 'ABONE',
'トリニティ': 'TRINITY',
'トリニティ(代筆)': 'TRINITY',
'ニック': 'NICK',
'ニック(代筆)': 'NICK',
'ニックk': 'NICK',
'フェ': 'FENRIR',
'フェフェフェフェーン': 'FENRIR',
'フェフェフェン': 'FENRIR',
'フェン': 'FENRIR',
'フェン(偽?)': 'FENRIR',
'フェンリル': 'FENRIR',
'フェンリr': 'FENRIR',
'フェン!!?': 'FENRIR',
'フェン=リ・ル': 'FENRIR',
'フェン=リ・ルールルル': 'FENRIR',
'フエンリル': 'FENRIR',
'フカ': 'FUKAHIRE',
'フカヒレ': 'FUKAHIRE',
'ャ餌論': 'YAJIRON',
'ラケットさん': 'UNOWEN',
'リセットさん': 'KOYOMI',
'不焉': 'FENRIR',
'也璽論': 'YAJIRON',
'仕事して': 'ABONE',
'代わりの': 'UNOWEN',
'代わりの人': 'UNOWEN',
'代筆/': 'FURUTSUKI',
'代筆しろー': 'SHIRO',
'代筆な人': 'FURUTSUKI',
'件名sub': 'SUNB',
'儕躯簇': 'ZX',
'先生': 'SENSEI',
'冶冶論': 'YAJIRON',
'刻身': 'KIZAMI',
'午後の紅ty': 'GOGOTEA',
'午後の紅茶': 'GOGOTEA',
'午後の紅茶(綾鷹)': 'GOGOTEA',
'午後の紅茶だってさ、だってさ。': 'GOGOTEA',
'午後の紅茶(偽)': 'FENRIR',
'午後の紅茶(本物)': 'GOGOTEA',
'午後の綾鷹': 'GOGOTEA',
'午後ティー': 'GOGOTEA',
'古月': 'FURUTSUKI',
'古月 ': 'FURUTSUKI',
'名前': 'ABONE',
'名無し': 'MAMORU',
'名無し(二代目)': 'TAI',
'名無し三回目?だっけ…': 'TAI',
'名無し二回目': 'TAI',
'名無し反省中': 'TAI',
'名無し~': 'TAI',
'埜地論': 'YAJIRON',
'埜字論': 'YAJIRON',
'多分フェン': 'FENRIR',
'夜字論': 'YAJIRON',
'夜自論': 'YAJIRON',
'家自論': 'YAJIRON',
'封燐': 'HOURIN',
'屋持論': 'YAJIRON',
'川人': 'SENNNIN',
'帰ってきた超監督': 'KANTOKU',
'当方': 'ABONE',
'政治家': 'SEIJIKA',
'教授': 'KYOUJU',
'旧Ohb': 'OHB',
'暦': 'KOYOMI',
'暦(代筆)': 'KOYOMI',
'暦(代筆)': 'KOYOMI',
'椰時論': 'YAJIRON',
'滅びの炸裂疾風弾': 'ABONE',
'狂気のkntk': 'KANTOKU',
'狂気のtkntk2': 'KANTOKU',
'病んでれ': 'YANDERE',
'監督': 'KANTOKU',
'監督selected byランダムソフト': 'KANTOKU',
'監督2': 'KANTOKU',
'監督3': 'KANTOKU',
'監督4': 'KANTOKU',
'筆殺代用人': 'KANTOKU',
'紅竜刀': 'KOURYUUTOU',
'羽': 'KUROBANE',
'耶時論': 'YAJIRON',
'腐華緋零': 'FUKAHIRE',
'臨時の閣下': 'OHB',
'臨時の鷹': 'TAKA',
'臨時担当者': 'UNOWEN',
'蓬莱人': 'YAJIRON',
'蓮': 'REN',
'蜀': 'SYOKU',
'誤護埜児卯茶': 'GOGOTEA',
'谷治☆論': 'YAJIRON',
'谷治論': 'YAJIRON',
'谷餌論': 'YAJIRON',
'超! 監督': 'KANTOKU',
'超監督': 'KANTOKU',
'超監督(Night Mode)': 'KANTOKU',
'超監督α': 'KANTOKU',
'超監督β': 'KANTOKU',
'超監督γ': 'KANTOKU',
'迷宮作成犯': 'MEIKYUU',
'遅刻': 'ABONE',
'選任': 'SENNNIN',
'鍵': 'KEY',
'閣下': 'OHB',
'閣下 ': 'OHB',
'除監督': 'KANTOKU',
'雪ぬこ': 'YUKINEKO',
'雪猫': 'YUKINEKO',
'雪音子': 'YUKINEKO',
'靴': 'SNEAKER',
'鮫氷新一': 'FUKAHIRE',
'鯛': 'TAI',
'鱶鰭': 'FUKAHIRE',
'鷹': 'TAKA',
'黒猫たまも': 'TAMAMO',
'黒羽': 'KUROBANE',
'3べー': 'SUNB',
'\アッカリ~ン/': 'ABONE',
'\アッカリーン/': 'ABONE',
'\セッンニ~ン/': 'SENNNIN',
'y時rん': 'YAJIRON'
}
如何でしたか? ハイセンス(あるいは廃センス)な名前が沢山ありますね☆
しりとり
- 惜しげ(をしげ)
- 価値のあるものや労力を使うことを厭うていそうな様子。
やあこんにちは。おうちデス。結局物理基礎は計算間違いで満点を逃しました。いやーん。
トップページに書いた通り 404 を改良したのでその報告を。未だ作られていない日記のリンクを、今までは future.html に直接繋げていたのですが、404 で location を判別して飛ばす仕組みに変えました。なので、今後は作られていない日記へのリンクもそのまま書いてしまって良いです。便利だネ!
仕組みは簡単で、
- diary 配下のページなら
- pathname 中の数字をハイフンで繋げて
- 現在時刻と比較して未来なら
- future.html にリダイレクトする
というだけです。月ごとにリンクを貼ったページ全てを書き換えるのは面倒だったので、結構な改善ではないでせうか。
しりとり
- game(げーむ)
- 獲物。
やほい。おうちです。今日は体力テストでしたん。私は運痴なので特に嬉しいイベントではない……。せめて持久走をシャトルランにしてくれるとありがたいんですけどね。どうせスペース余ってるんだから握力を体育館から剣道場に移せばイインダヨ(グリーンだヨ)。←このネタ他所で全然見ないと思ったら 2007 年の日記に有って嬉しかった。
はい。今日は小説紹介です。ギルバート・アデア『ロジャー・マーガトロイドのしわざ』。とても面白かったです。アデアはもうミステリだけ書いてれば良いと思います。
以前話した通りクリスティのオマージュで、黄金期のミステリを意識した表現が随所に表れています。それは単にカーやクリスティの名前を出すというだけでなく、読者の存在を想定したメタ的な仕掛けであったりもします。初っ端から『こんなことは本のなかだけの話だと思っていたのに!』ですからね。地の文も「その言葉はさながら太字で強調されているかのようで」とか同じことで、完全に悪ふざけか、と思いきやそこに作者のたくらみが隠されているという。
また既存のミステリ小説に批判的な一面も持っていて、クイーンがダイイングメッセージでやったのと同じことをしています(生憎クイーンの名前は出てきませんが)。ロジャー・マーガトロイドのマーガトロイドの方の元ネタ『予告殺人』は以前紹介した通り言葉の綴り方をいち証拠にしており、本書も綴り方を問題にする場面がありますが、こちらは綴りの違いそのものには意味がないと切って捨てています。クイーンも、ダイイングメッセージなぞいかようにも解釈できると言ってあくまでその内容は問題にせず、違った使い方をよくしています。被害者はなぜダイイングメッセージを遺したのかとか、ダイイングメッセージの物質的な側面はどうかとか、そういった問題に焦点をシフトしているのです。……あー、書いていて今回のこれは少々違うかなー、と思えてきてしまった。まあいいや。
真相に至る読者視点の推理が二段構えになっているのも楽しい趣向。多くを語るとネタバラしになるので(という言い訳で)この辺で切り上げようと思います。途中でチェスタトンの話をする際にあえてギルバートの方を先に出してヒヤッとさせる演出など非常に巧妙です。とにかく最初から最後までずっと面白い、名作でした。
しりとり
- mook(むっく)
- 3 回目の「ムック」かと思いきや、過去 2 回は緑のアイツなのでセーフ。
こんばんは。考えない葦、HRtPです。
某氏の通り、全国学生の体力を計測するという名目のもと、日本中の学生と教員を動員して強制労働を行う、体力テストなるものがありました。私は毎度の通りEです。特筆すべきところといえば、昨年度まで私は右手の方が握力が高かったのですが、今回の測定で左手の方が握力が高くなるという現象が発生しました。私の左手は何者でしょうか。また、取るに足らない内容として、ハンドボール投げの結果が著しく低下していました。昨年度の15mも大概ですが、何でしょう、今年度の9mという数値は。やっぱり物を投げるという行為はあまりよろしくないと言われていますからね、楽器なんて猶更。そういうわけで、将来動けなくなる状態を回避したいので、近頃、というかけっこう長く、歩く習慣をつけようとしています。多分他の運動は私には向いていません。
この頃の学習環境について。中間考査の結果が(実にゆっくりと)帰って来ています。上々な点数の教科もあれば、非常に愚かな誤りを犯した教科もあり、またどうしようもなかった教科もあります。まあ得点のよろしくない教科は毎度の通りといった感じなので、ちゃんと勉強しろ、に尽きるのでしょう。そういうわけで、次回の日記からまた言語を変えるかもしれません。また、教員の異動により、もともと23人いたはずの選択者が10人にまで減少したという某教科があるのですが、危機を察知したのか、考査の直後に「授業形式の変更」を提案してきました。おまけに、話の内容を鑑みるに、残留した者らの積極的民主主義により新しい形式を提言できるようです。これからがどうなるのか、ちょっと気になるところですね。
この頃の生活環境について。先述した通り、やや歩く量を(改めて)増やしています。本当にややであること、結局それを上回る量の食事を摂っていることから、健康であるかと言われれば怪しいですが、何にせよ某公共放送の番組でも、自転車の代表選手も歩いてなくて骨粗鬆症になっちゃったんねと述べていたので、歩く分だけ骨粗鬆症の可能性は低減させられそうです。また、まだまだ部活動を続けています。こいつは本当に受験生でしょうか。勉強、特に覚えるくらいしか策がない教科はあまり好きじゃないというので、この前のセンター試験の模擬試験も地理が日本史や倫理とほとんど並ぶ水準の得点を湛えていました。文系辞めますか? 部活動はHorn Partに80期生が2人も入ってくださったこと、3年の未練が2つも置いてあることから、結構賑やかになりそうです。私は相変わらずずっと歌って怪しまれます。多分音楽を奪ったら私は失活します。喉が甚大に破損した場合どうするのでしょうか。
折角なので合唱祭について。今日やっと3年1組の意に火が灯きました。率直に言うともっと早く(約1年と1月ほど)灯いてほしかったのですが、まあ今からでも灯いたぶんにはいいです。あとはどう首尾よく済ませるか、でしょう。 ともあれ、合唱祭に対する士気が多少上がったので良かったです。どうして文化祭や体育祭より株が低いのでしょうか。私は苦手なり風邪なりに体育祭を頑張ったつもりなので、普段と同じくらいの元気を生かしてほしいものです。
しりとり
- 垢穢 / 九絵(くゑ)
- 旨味成分の多さと脂の乗り、また生育速度の遅さから、高級な食用魚として重宝される。なぜこんな名前にしたのだろうか(蓬莱の薬と同一か?)。
常にネタ不足なおうちです。
某氏も更新頻度を上げて来ているのだから毎日投稿を止めろという話にしかなりませんか。そうですか。
予告するだけして放置していたアレを公開します。
「邪悪なブックマークレット」、実に 3 カ月越しですね。
まずはブツを公開しましょう。コレです。
今クリックしたあなた、事を急いてはいけませんよ。ここで使うものではありません。
これは別な場所で使います。正しいサイトを選べばクリックしただけで動きます。
それがどこかはここには書きません。以前の日記で答えは言っています。
暇人各位は探すのも一興だと思います。中々面白い結果になりますよ。
ここからはまったく関係のない話ですが、某出版社は最近 web 漫画連載のサービスを一新したようです。
しかも一部の漫画は元データが 2000 x 3000 くらいの高解像度になっています。
ちょっと工夫すれば手に入る上に、スクランブルも 4 x 4 程度の雑さです。
ビューアーのプログラムを読み解いたら簡単に解除できてしまいました。
繰り返しますが、これは上とはまったく関係のない話ですよ。くれぐれも愚かな真似はしないように。
今日は改行多めですが特に縦読みとかそういうのではありません。
気分の問題ですから、無駄に震えなくていいですよ。
技術的な話も少しします。最近日記が短めですしおすし。
といっても api を軽く叩くだけでお宝情報が手に入るので、あまり工夫する点はありません。
画像の操作は canvas 要素を使って行っています。
drawImage で範囲を指定すれば簡単にパーツ毎に組み替えてコピー。
ダウンロードは canvas → blob → anchor 要素に download 属性。
元は webp ですが切り貼りしているので劣化しないように png で出力します。
ファイルサイズは大きくなってしまいますが、せっかくの高解像度ですからね。
これだけです。移転前よりむしろガバガバになっている思うんですけど、どうなんでしょう。
ああ、しつこいようですが飽くまで某出版社とはまったく関係のない話ですからね、悪しからず。
しりとり
- 絵島(ゑじま)
- 淡路島の近くにある奇岩。
どもっす。おうちです。
サイト改装の時に書いた css が気に入らなかったので全て書き直してみました。ちょっとは良くなったんじゃあないでしょうか。
見た目はあまり変わっていませんが、微調整でごり押していた部分を flex に変えたので要素の中身に応じて良きに表示されるようになったはずです。特に目次の幅。
ファイルも 2 つに分けていた部分を統合したので読み込み速度が改善されるかも。まあ誤差程度ですが。
ついでにhtml の構造も少し変え、未だ統一されていなかった書式を統一し、scroll.js と style.js を書き直しました。いやー頑張った。
レイアウト用の id 名クラス名も変更しています。前まで main とか sidebar とかかなり適当に名前をつけていて、そのうち私以外が弄り始めたら衝突しそうだったので。今回からは layout-XXXX とか style-XXXX とかに変わっています。構造もよりすっきり・分かり易く、css の書き足しや新たなシートの作成がしやすそうな感じにしました。
未だ端々まで整備が行き届いていないので、その辺りはまたちまちまやっていきます。しばらく見苦しい部分が残るかもしれませんが気にしないでください。特にしりとり一覧が魔境。
これは忍者ホームページの仕様も悪いんですよね。サーバーにあるオリジナルのファイルと web 上で表示されるファイルに稀に食い違いが起こります。広告を挿入するために body 要素の末尾が弄られるのですが、これが関係あるかは知りません。詳しいことが何も分からず今のところ「とりあえず待つ」というのが最善なのが悔しいところ。某氏の日記も 2 日分吹き飛んだそうです。南無。
(これは私が同期を怠った可能性と五分五分なのでかなり冷や汗)
はい、見た目あまり変わらんので実感もないでしょうけど、裏方でも頑張っていますよという報告でした。おしまい。
しりとり
- 丸美屋(まるみや)
- 昼食を作る際に 2 回に 1 回くらいお世話になる、ありがたいメーカー。
しりとりが HRtP 氏の消えた日記の分と食い違ってしまったので、また左右に分裂するかもしれません。
お久しぶりです。約2か月ぶり(←⁉⁉⁉⁉⁉⁉)のえとわーるーむです。ちなみにテストやら体調不良やらでパソコン室に来るの自体も3週間ぶりくらいです。今回も相変わらず前日に無茶して深夜まで勉強していたせいでまたもや体調を崩しました。しかも今回テスト直後よりも週明けの方が体調が悪くなっている少し特殊?なタイプでした。今体重が減りすぎてBMIがとんでもないことになっています。僕みたいに体力がない人が直前に無理して詰め込む癖をつけると体調が完全に回復しないままずるずると引きずることになってしまうので勉強は絶対にコツコツやるようにした方がいいです。
勉強の進捗の方ですがあんまり進んでないです。課題とか塾とか考慮すると何をするかしっかり決められなくて全然進まないので大いに反省してこれからもっとはっきりとした予定を立てるようにしたいと思います。4月に受けた進研記述模試は数学で今までと比べ物にならないくらい低い点数を取ってしまった上まだ解きなおしをしていないという大犯罪をかましているため頑張って遅れを取り戻さなければいけなさそうです。しかし、吐き気に耐えながら受けたこの前の進研共通テスト模試は自己採点で合計7割乗っていたのでまあ及第点かなって感じです。定期テストの方ですが帰ってきているものの中で一番高いのが地理、二番目が政治経済といった感じで社会は暗記すればどうにかなるので結構助かっています。
もう少し書きたいことが思い浮かびそうな気はしますが塾の予習が終わってないのでこの辺で切り上げます。多分次の日記は2か月も先にならないはずです。
しりとり
- や座(やざ)
- 星座。もう一つのしりとりも継ごうかと考えたが「そ」から始まる星座が無かったので断念。
課題が多いよ。終わらないよ。おうちです。
昨日やり残した作業が一通り終わったのでその報告を。しりとり一覧を直し、ついでに shiritoriX.js、shiritoriYim.js 修正。今回は凄いデスよ。javascript で制御していた目次の閉じ開きを css で代替することに成功しました。
キモは
a[aria-current="true"] ~ ol
これです。aria-current 属性が true の a 要素の直後の ol 要素を特定しています。もちろん aria-current が false というのも同じこと。true なら display を block に、false なら none にするという場合分けがいとも簡単に実装出来てしまって感動しました。前までのプログラムがポンコツすぎたというのもありますけどね(汗)再帰で親要素を取得とかやってましたからね。
ちなみに aria-current は目次やメニューの現在の項目を示す属性です。これの存在を以前のサイト改装時は知らなかったのですが、今回は使ってみました。
では、しりとりを常態に復してお暇しましょう。と、このセリフは初登場の時のものを流用してみました。もう随分前のことのように思えます。日記の回数は 70 回を数えました。目指せ 3 桁。
しりとり
- 再祚(さいそ)
- 退位した後に再び皇位に就くこと。
ニンダイを見るぞ~! まあ 2 徹してるんで明朝にするか。ゲームのスコアでパフォーマンスが分かるんだな。紅魔郷をまだやっているのだが今日は全然だめだった。
おうちです。今朝顧問の 1 人から話がありました。今 1 年生が新しい同好会を設立しようとしています。それがどうもパソコン同好会に類似しているので、パソコン同好会の活動内容を聞いて、同好会を設立するか、また生徒会がそれを承認するかの判断の一助にするそうです。来週の月曜で約束しましたが、今から緊張してきた。不和は嫌だッ! モメたくない! でもパソコン室を半分こするとかはもっと止めてほしい。今のところパソ同存続の危機とかそういう感じではないので、それだけはよかった。kb は大した問題にはならないだろうとか適当言ってましたが果たして……。
いちばんは彼らが活動内容被りに納得してこちらに入会してくれるという流れですな。今 80 期生が 2 人しかいないので。ああ、点なし氏も日記を書くと言っていたのでそのうち載せます。
今日はこの辺でおしまい。2、3 日のうちに話題が無ければまた小説紹介をします。2 徹の原因になった本です。面白かった。体力使うけどやっぱり一気読みがいちばん興奮するよね。
しりとり
- ソルベ(そるべ)
- 輪切りにされる人代表。
こんにちは。スランプ気味なおうちです。プログラムを勉強している人って、普段何を作っているのでしょうか。
明日は合唱祭だそうです。某氏がきっと感想を書きます。
私が所属するクラスはやる気が全然なくて目も当てられない仕上がりです。それでいて打ち上げがどうのとか話しているのだから呆れてしまう。来年も同じ面子だと思うと今から気が重い。
今日は小説紹介をします。前回「一気読みなのに 2 徹とは何事」と思われた方のために説明すると、上下巻です。
サラ・ウォーターズ/中村有希訳『荊の城』の舞台は前作『半身』と同じく 19 世紀イギリス。ただし主人公は貴婦人ではなく掏摸です。17 歳の少女スウは知り合いの詐欺師の計画に乗ります。詐欺師は令嬢と結婚して財産を手に入れようと画策しており、スウは令嬢の侍女として潜り込むのです。
まず心惹かれるのは下町ロンドン、辺境の令嬢の城、気狂い病院などが鮮やかに描写されてゆくその筆致。慌ただしい故買屋や物静かな城館の様子が目に浮かぶようです。当時の風俗がよく映し出されています。(訳者あとがきでは全体にディケンズが意識されているらしく、確かに死刑執行の様子なども出てくるが、あいにくと私はディケンズに触れたことがないので割愛。)
そして、前作は最後の最後にどんでん返しという構成でしたが、本作は三部構成の各部それぞれに読者を驚かせる仕掛けがあります。特に第一部の終わりを読んだときには横から殴られたような衝撃を受け、思わず声を出してしまいました。その後の展開も二転三転しますが、読者と視点人物に与える情報を上手にコントロールしています。「読者が知っていて主人公が知らないこと」「読者は知らないが主人公が知っていること」を操り、前者で冒険譚のような緊迫感を、後者でミステリ的な仕掛けを成立させているのです。
ウォーターズ作品ですからもちろん恋愛も見どころです。騙す相手と知りながらスウと令嬢は互いに惹かれてしまいます。「騙す相手と知りながら」……そうですね、知りながら。第三部では絶望的な状況が続きますが、そこから見事にまとめあげた綺麗な終わらせ方には唸りました。緊張から解放された後、緩やかに語られる後日談が美しい。
著者の作品はあと 2 作、読んでいないものがあるので今から楽しみです。とても。
しりとり
- ペケ(ぺけ)
- 私は「バツ」の記号のことだと思っていたが、どうも地域で意味が違うらしい。由来には中国語の「不可」、ムラユ語の「pergi」など諸説ある。
こんにちは。おうちです。
レイアウトを変更したまま、blue 以外のスタイルシートを更新するのをサボっていたので今日半分くらいやりました。chemical 以外は出来てるはず。前も言ったような気がするのですが、nida スタイルの右側の背景画像の表示方法がとても面白いので何回でも説明しよう。
- sticky な見た目になるように、ヘッダー部の背景として設定し、
- ヘッダー部の高さを画像に合わせ、
- ヘッダー部のマウスイベントをキャンセルし、
- ただしヘッダー部の中身のマウスイベントは発生させ、
- 続く要素に画像の高さ分のマイナスマージンを設定する
相変わらずのトンデモ仕様だな。chemical でも似たようなレイアウトを強引に作っていたのですが、今回スタイルセレクターの位置を変えたのでこちらはどうなるかしらん。
しりとり
- chemical(けみかる)
- 見た目は一番好き。
追記。chemical も作りました。CSS Select の位置を以前と同じくするのは面倒だったので止めた。暇だったらいつかやるかも。nida の仕様を使いまわして左側タブ下の画像に適用している。
ちなみに、上には書かなかったが、細かい調整を幾つか施した。メインの幅がはみ出る仕様を wrapper に min-width、main に max-width を当てて直すとか。
こんばんは。生涯スランプなHRtPです。
どうして日数が開いたか? 前の土曜日には適当な飲物の話を、日曜日にはそれが消えた話をここに落としたにも係わらず、両日とも書いた日記が吹き飛んだことでしょうか。しりとりと個人ページだけ勝手に反映させておきましょうか、と思ってそれぞれのページを見たところ、それらのページは吹き飛んでいない。日記ページに嫌われているのでしょうか、cssがblueの時は真青か真白にしかなりませんし(関係ない)。お前のブラウザをアップデートしろ、という話でしょう。
じゃあどうして今日に再開したのかって? 同好会活動自体が気分でやってるようなものですから、そこは変わらないと思いますよ。義務感で日記を書くことはあっても、義務で日記を書いていることとは違います。書きたいと思ったときに書ける自由さがこの同好会を構成する要素の一つじゃあないでしょうか。
一体私は誰に向かって立腹しているのでしょうか。これでもう一般的な高校三年生が合唱をする機会は卒業式くらいでしょうかね。私ですか? 吹奏楽部で合唱をやるのでまだまだありますよ。今年度も定期演奏会でまた合唱ステージがあるらしいので楽しみです。ポスター画像ができたらまたここにぶん投げていると思われます、ご来場お待ちしております。
今日はこんなところでしょうか。合唱祭までの幾日かで朝練習を行った間は、起床の時間が普段より早かったのですが、昨日は合唱祭、今日はオンライン授業と、起床の時間が遅かったため、明日の部活動の時間に体を適応させられるか怪しいところです。早寝早起きって大事ですね。
しりとり
- Ленин — гриб(Lenin Grib)
- 1991年にセルゲイ・ショーロホフとセルゲイ・クリョーヒンによって捏造され、レニングラード・テレヴィジョンにて放送された、「ウラヂーミル・レーニンはマジックマッシュルームの大量摂取により、自分自身もキノコになってしまった」というデマ。ソヴィエト連邦共産党に多くの党員が「これは事実なのか」と問い合わせ、共産党地方委員会の幹部の一人は「哺乳類は植物になれるはずがない」と返答したという。キノコは植物ではなく菌類である。
しりとりはLで繫いだつもりなので問題ないはず
どうもこんにちは。おうちです。最近の更新欄に書いたとおり、目次関連のスクリプトを改善しました。今までは読み込みの順番が悪かったりそもそも読み込まれなかったりと不具合が絶えなかったのですが、ようやく腰を上げて調査した次第です。
まず悪さをしていたのがお馴染み document の DOMContentLoaded イベント。呼ばれないことがあるのか呼ばれても実行されないのか、詳しいことは知りませんがとにかく動作が安定しません。スクリプトが読み込まれた時点で html の読み込み状況を見るという手法が mdn で紹介されていましたが、後述の読み込む順番の問題もあって面倒だったので window の load イベントにしてしまいました。上手くいかない(あるいは多くの環境でデバッグする必要がある)欠陥品を使うよりは、実行まで時間がかかっても確実な方が良いという判断です。
で、その順番の問題というのが、about としりとり一覧で発生していました。この 2 つのページではスクリプトで目次を動的にいじっているのですが、scroll.js が先に実行されてしまうと当然エラーになります。今まで雰囲気で javascript をやっていたのでこのような問題も思考放棄で放置していたのですが、せっかく css を書き直したんだし真面目に調べてみました。
結果、先に実行する方に defer を、後に実行する方に DOMContentLoaded イベントか load イベントを使うのが良かろうということに。defer は script タグの属性で、これを付けると html の読み込みが完了しその他のリソースが読み込まれる前に実行されます。DOMContentLoaded イベントはほとんど同じですが他のスクリプトが読み込まれるのを待ちます。load イベントは画像等のリソースの読み込みまで待ちます。で、DOMContentLoaded は面倒なので defer 属性と load イベントで対応することにしました。
ちなみに、以前存在した機能を 1 つ削除しています。見ているコンテンツの目次を画面内に収めるよう目次をスクロールするという機能です。無駄に複雑な上に safari でのバグの原因がとうとう分からなかったので抹消してしまいました。まあ、scroll イベントは沢山発生するし、削いだ方が良かったんじゃないかな。
近況報告。紅魔郷はノーコン縛りでやっていたのですが、いつまで経ってもクリアできないのでコンティヌーありで 1 回クリアしてしまいました。悔しい。でもこれで practice モードが使えるので extra 解放もそう遠くない……はず。
しりとり
- beginning(びぎにんぐ)
-
は、発音が分からなくて誤魔化した訳じゃないんだからねっ!
howdy! おうちです。積みゲーって言うんですか、ゲームを何種類も手元に置いて、その実どれもまともに進めていない日々が続いているのでなんとかしたい。deltarune の続きもそろそろ出るし。なんで期末前なのだ(泣)
で、最近エンド回収をサボっていた Ib というゲームを終わらせました。フリー・ホラー・ゲームです。場面毎の音楽の使い分けが地味に良いゲーム。ぶっちゃけテキストは気に入らない部分もあるのですが、全体の雰囲気は悪くないし、まあ面白い部類に入ると思います。ノリで刺繍入り T シャツまで買ってしまいました。(T シャツ買う金でリメイク版が 3 つ買えるというのは内緒。)
T シャツは fangamer が出しています。主にインディーゲームのグッズを作っていて、名前の通りファン目線の気遣いが多いのが嬉しいところ。グッズをデザインした人毎に商品を調べられるのが特に素晴らしいと思います。T シャツは大体がコットン 100% で着心地が良いし、プリントにも着色抜染という生地の柔らかさを残した貼り付けただけではないものがあります。これですね。
fangamer は他に hollow knight とか stray とかのグッズを作っているのですが、最近は deltarune のとあるアレをソレしたり色々と面白いことをやっているので日本のファンから「ファンゲイマー」とか言われゲフンゲフン
しりとり
- ぐる(ぐる)
- 悪だくみの仲間。
こんばんは。一味の下っ端HRtPです。
どうしましょう。最近(いやずっと)やる気が起きません。多分考査前故また一週間か二週間するとそれなりにやる気になるのでしょうが、生憎考査前なので猶更勉強しないといけません。普段から勉強していない分、人並み以上に勉強しないと考査でうまくいかないのです。普段から勉強しろ
さて、前日わめいてた更新されない問題ですが、よくわからないもののWinSCPにもう一度ログインしたら更新できました。どうしてでしょうか。また消えたら嫌なのでこれから毎回ログインしそうですね、将来の私。左クリックの回数が増えるだけなので大して変わらないのですが。
今日は珍しく(「珍しい」って「めづらしい」じゃあないんでしょうか、変換に出ない、と思ってwiktionaryに聞くと古語はめづらしでした。ず/づくらい表記として残していいと思うのですが。)某氏が(まだ)日記を更新していないようなので、先に更新してしまいました(過去完了形)。昨日は鍵を執ろうとしたのですが、結局のところ更新しなかったので、これから更新していくかも怪しいところです。
今日はこれくらいでしょうか。06/20に吹奏楽部卒業生の演奏会が町田市民ホールで行われるので、見に行ってみてください。16:30開場、17:00開演です。それでは。
しりとり
- الأقصر(l-aqṣur)
- エジプトの都市。歴史上のテーベ(エジプトの方。マケドニア王の征服によりこう呼ばれ、エジプトではかつてウォ・セ、ワセと呼ばれていた)。アメンを祀るルクソール神殿がある。
おうちです。団体行動と電車移動に不慣れなせいで置いていかれました。失意の中、ただ習慣にのみ則って筆を執っています。
というのはまあ大袈裟な言い方で、単に日帰り旅行の帰り道で乗り換えをドジってはぐれたというだけです。友人 A とその友人 B に誘われて三浦半島まで行きました。色々と奇妙なお出かけになった気がします。B とは初対面だし、北西の海岸から三崎港まで 45000 歩くらい歩いたし。
午前は荒崎海岸という場所でカニをつついたり褶曲した岩の上を歩いたりして楽しかったものの、午後はほとんど歩行に費やされました。次があるなら非効率な経路をなんとかすれば観光に時間を使えそうです。
画面中央の三崎口駅から北方を往復し、戻りがてら昼食を摂り、また午後に南方を往復しましたからね。一本道にするだけで倍くらい時間が使えるはず。
ちなみに昼食はかっぱ寿司でした。三崎くんだりまで来てチェーン店かとは思いましたがとても美味しかった。
明日は新興同好会との決戦(?)です。悪い結果にならないと良いのですが。
ちなみに生徒心得によれば同好会は「4月中に生活指導部に提出し、職員会議で認められた時成立する」とあるので、もし敵が勝利するにしても実際の侵入は来年度になるのだと思います(会長にあるまじき言葉遣い)。
しりとり
- readme(りーどみー)
- 初対面の人に読んでもらうべき書類。この同好会だと「読んでね.txt」らしい。
嘘だッ! kb9です。
いやあ、最近ひぐらしが面白過ぎて仕方ないです。
6月の、初夏の風物詩って感じですよね。
皆さんは見たんですかね、昨日と一昨日の放送。
丁度機能と一昨日――つまり先週末に『ひぐらしのなく頃に』の一挙放送がニコ生でやっていました。
毎年恒例の行事、のようなもので、私もなんとなく視聴しました。
そしたら、思っていた以上に面白くて、今、私の中ではひぐらしがキている感じです。
もともと、私はひぐらしの内容は知っていたんですが。
漫画版を読んだことがあるんですよ。
原作の部分まで、つまり祭囃子編までですが。
でももう読んだのは、3,4年前だったから、もう内容もすっかり忘れていました。
まあそんなわけで、もしこれを読んでいるみなさんが、ひぐらしを知らないんだったら、嗜むのもありなのかなと。
そんな感じです。
でもどうなんだろう。
今の高校生とかは、ひぐらしをどの程度まで知っているのだろうか
ちなみに今週末の土日に、解の一挙放送がやるので要注意ですよ。
土曜は19時~、日曜は15時~です。
昨日は罪滅ぼし編までやったから、皆殺し編と祭囃子編かな。
しりとり
- みずいろ(みずいろ)
- 2001年4月にねこねこソフトから発売されたフルプライス作品。超有名作で、このメーカーの知名度を大きく上げた作品。
学園恋愛ものなんだとか。(なんの説明にもなっていないか)
前にHardoffで、がっかりボイスデータが売っていたので買った思い出があります
こんにちは。↑の kb に日記をディスられがちなおうちです。つまらない日記をたくさん書いても仕方ないとかなんとか。
まあ、今の目的はたくさん書くことなのでそれで構いませんけどね(心理的ダメージが無いわけでもない)。
どうせ誰が読むわけでもないので、私の気の向くままに書けばそれで良いのです。毎日更新は止めたら止めっぱなしになりそうで怖いので惰性で続けていますが、他の人が義務感なく書けるならそれもまた良いのかなと。
先週、昨日と書いた通り新設同好会のメンバーが話を聞きに来ました。噂では e スポーツがどうとか聞いていたのですが、まったく違ったようです。写真撮影編集同好会? とか名乗っていました。
こちらからは「パソコン同好会に入っても自由に活動できる」とだけ伝えて、結局、別の同好会として立ち上げることにしたようです。もっと押せばパソコン同好会に吸収してしまうこともできたのかもしれませんが、せっかく 7 人も集めたのに酷ですからね。来年度からの新入会員が少ないと辛いでしょうが、彼ら自身で選んだ道ですから、頑張ってもらいましょう。こちらも会員不足の当事者なので笑えませんが……。
ちなみに新設同好会は 2 つ審議中で、2 つは先の写真、もう 1 つは合唱だと聞きました。e スポーツはどこから湧いてきたのだろう。音楽系がこれ以上増えるとこれまた人が分散して大変そうです。
写真同好会の人々はきちんと 4 月中に 7 人集めて生徒会に話を通していたようで、実行力があって素敵ですね。楽しく活動してくれると良いのですが。2 学期の生徒総会を待って成立するので、文化祭では有志団体として出展するようです。ぬかりない。
そういえば定期考査の結果が一覧表で返って来ました。去年と比べればできたほうです。点数はもう少し欲しいですが順位はまあ悪くないと言って良いのではないでしょうか。
定期考査当日に書いた予想と照らし合わせると、合計で 2、30 点くらい上回っています。低めに見積もったつもりなのでやはり点数はもう少し欲しい。実は期末考査も 7 月頭に迫っているのでだらだらしている場合ではないのかも、しれない。
しりとり
- 碌(ろく)
- 打消しを伴って正常でないことを示す。
こんばんは。放っている間に一学期期末考査の足音を聞かされるようになったHRtPです。
一学期中間考査の個票が与えられました。英語は毎度の通り芳しくないですが、それでもなんかまともなに感じられます。最多取得数の12教科と、昨年度と教科数が変わらないので、至極単純な比較ならしやすくていいですね。全教科得点の平均点なんて覚えるのもやや面倒ですし。英語もまあ中央値や平均値を(どうにか)超えることができたので、今回はまだいいことにしましょう。でも勉強しないといけないことには変わりありませんけれども。
そういや、同好会の芽が生えているそうです。画像と合唱らしいですが、別に新しく同好会を作らなくてもできると思います。合唱に関しては吹奏楽部でも少なくとも週一、それなりにちゃんとした曲をやっている(はずな)ので、入部お待ちしております。ここで宣伝したって十中八九は彼らに届かないと思われますが。ついでに楽器もできるようになるので一石二鳥+αだと思いますよ。今年度は部員数が昨年度や一昨年度と比べてやや少ないので、もうあと3人くらい入ってきてもらいたいです(入部数 24年度/78期:22人 25年度/79期:(18+3-1)人 26年度/80期:19人)。
今日はこれくらいです。剣道部は部費を分捕ったのでしょうか。教員の旅行代になってるようなら廃部も選択肢に入ると思いますが。パソコン同好会はいつも生徒会予算を一円も使っていない(はずだ)ということを見習って下さい(失礼)。
しりとり
- Къырым / Крим / Крым(クルム)
- 国際連合総会決議によるとウクライナの南端に位置する半島。その戦略的重要性から紛争も少なくない。
気持ち EEEEEE! 紅魔郷 Normal ノーコンティニュー達成しました。おうちです。
めちゃくちゃ楽しかった。6 面は 5 面ほど難しくないので、5 面を乗り切った勢いでクリアできてしまうのがとても良い。弾幕 STG に目覚めたと言って良いのではないでしょうか、脳を焼かれました。
で、ノーコンしたってことは Extra も解放したってことですよ。ちょこっと覗いて見ましたがとてもクリアできそうになかったので、一旦他キャラ他武器の攻略を先にしようかしら。あるいは放置している花映塚 Extra か。
さっきリプレイを録画しようと色々弄っていたのですが、結局設定をミスって 20 分間を無駄にしてしまいました。まあリプレイが残ってればそれでいいか、もうあきらめようという心境です。非圧縮だと 5 GB くらいになったし。
プレイにはまだ粗があるのでこれから極めたいところ。紅魔郷か花映塚か、Extra までクリアしたら他作品に手を出しても良いかも。いやー、それにしても、本当に興奮しました。久々にゲームをこんなに楽しんだ気がします。
しりとり
- 牟尼(むに)
- 沈黙の行を修する人。あるいは釈迦の敬称。
こんばんは。明日と明後日に卒業アルバム部活動写真の撮影があるHRtPです。
執筆開始時点では珍しく連続で自分自身の日記が続くという稀な事象が起こる予定です。いつぶりでしょうかと探したところ、連名を含めると0309-0310、単独では0112-0117(いづれも計2記事)でした。怠慢に他ならないですね。まあこれから一学期期末考査がやってくるので、また鍵を執る機会も途絶えるかと思われます。某氏も考査前ならこゝを離れていいと思うのですが。
みなさん、宗教はお好きですか? 私は原理的要素に共感できるところもありますが、基本的に専ら好きではありません。宗教は社会を構成するために必要な秩序を超越的存在によって形成しようとする反面、支配するため、または支配を正当化するための道具としても使われます。宗教自体が存在することは問題ないと思いますが、人間がそれを操るというのは宗教としてどうなのでしょう。超越的存在が人間によって利用され、ものとして扱われるというのは、超越的存在の価値がなくなるに等しいものだと思われます。
今日は短めです。何が言いたかったのでしょうか。だいたいの宗教が他者を同じ人として、外部存在として認識し、善行を促しますが、私が少し前に見つけたこれは相手を自分自身と繫がっている存在として扱うことを促します。
追記: 某氏の更新があり連続は為されませんでした。まあしりとりを考え直すだけなのです。
しりとり
- ニヱ(Niuē)
- 国際連合加盟国の中で二番目に人口が少ない国。キヰの構成国であり、国旗は左上にユニオンフラッグのパチモン、残りは黄色地。
こんちには kb10です。
みなさんはお気づきではないかもしれませんが、実は先月末に萌えゲーアワード2026が発表されていたんですよ
いやぁ、対象はILLGAMESの『アイコミ』という作品でした。
3Dの抜きゲーみたいですね。
まあ、ILLGAMESは、ハニカムとかが結構反響あったので、知ってはいたんですが、大賞をとるぐらいなのか、って感じですかね
この結果、結構ファンの間で物議を醸してるそうですよ。
まあ、大賞がシナリオゲーじゃないですしねぇ。
他の賞には『アマカノ3』とかがありますから、なんでそっちじゃないんだ!みたいな感じはしますよね
個人的には、まあ、それがアワードの結果ならそれは受け入れる姿勢なので、特になんとも言いませんが。
でもまあ確かに、~2023と比べるとここ2年は明らかにタイトルの顔ぶれが違うんだよなぁ。
でもこうあれですよね。
今年の大賞はなにかな~、と思いながら、いざ見てみたら、コレか……、となりますよね
なんとなくしっくりこない感。
この理由として、パッケージトップセールスとダウンロードトップセールスの点数の比準が大き過ぎるためなんですが。
販売店やFANZAとかで売り上げランキングが上位に入れば、点数が入るやつです。
ただ、その点数がみんなの投票よりもかなりポイントが多いと、そういうことです。
いやあ、これからどうなるんですかね。
去年の大賞もあんまりしっくりこない感じだったので、連続でこんな感じだと、流石になにかしらルールの修正が入りますかね。
しりとり
- ef - a fairy tale of the two.(えふ あ ふぇありー ている おぶ ざ てぅー)
- minoriから発売されたミドルプライス作品。前編が2006年12月に、後編が2008年5月に発売された。CIRCUSでおなじみの御影が原作者。
minoriは今はないが、OPを新海誠が制作していたことで知られている。
ひと月経ったし止めようかと思ったのですが、なんとはなしに時間が余ってしまったので日記を書くことにしてしまうという。
どうも。暇人のおうちです。今日は新宿のタワーレコードに行っていました。普段はアニメ・ゲームのサウンドトラックくらいしか聞かないので色々と見れて面白かった。
目当てはメイドインアビスのサウンドトラック。Kevin Penkin が手掛けています。ヘンな音(アンビエントというのか?)とクラシックくさい音と電子音(テクノって呼ぶの?)とが混在した面白い曲。私は音楽は適当に聴く派、つまりジャンルはあまり意識せずに聴く派(不勉強ともいう)なのでよく分かりません。
アニメ 1 期のものを買いに行ったのですが、2 期のもあって衝動的に買ってしまいました。おかげて財布がスッカラカンです。劇場版はまだ見ていないので 8 月の再上映を待ってから買うつもり。
Hanezeve Caradhina とかの男性コーラス? ボーカル? が印象的ですね。1~3 の 3 つとも CD 2 枚組と豪華なのもうれしい。映画には割と文句を言いつつ、音楽含む演出はけっこう気に入っているようす。
気付けば期末試験 2 週間前です。信じられない。まあ、サントラを聴きながらぼちぼち勉強しますかね。ちなみに私は暗記系は音楽を聴きながら、理系は静かに勉強すると気持ち良く感じます。
しりとり
- 膿(うみ)
- 傷に出る粘液。放っておくと害になるもの。
10日ぶりのえとわーるーむです。本日部活動の写真撮影ですが表情がぎこちなくなってしまうのでそんなに得意ではないですね。ちなみに自分は人の写真を全く撮らなくなってしまったので卒アルのクラスページに使う写真については何も貢献できず何なら自分の写真があるのかどうか怪しいレベルです。
写真の話はどうでもいいとして、たまにはアニメの話でもしようかと思います。
昨日放送がありました『Re:ゼロから始める異世界生活 4th season 第11話 “Re:ゼロから始まる異世界生活”』めちゃくちゃ良かったんですよ。コミュ障の自分にはこれを共有できる相手がいないのでとりあえずここに書きます(が文章を書く能力がないのとネタバレしてしまうのが気になるのでたぶん大したことを書けない)。超抽象的に言うと、後半の演出が良くて感動しました。今までアニメを色々と見てきた中で1,2を争うほど見終わった後の満足感があったと思います。原作もめちゃくちゃ気になっているのですがアニメのワクワクが減ってしまうのでかなり迷っています。
次、今年の冬放送されていた『死亡遊戯で飯を食う。』のアニメを見ていたのですが、6月25日に発売される最新刊10巻の広告が気になりすぎて原作を読もうかと考えています。デスゲームという物語の特性上ネタバレがかなり致命傷なのでそれを踏む前に自分で読みたいと考えています。しかし7月にアニメの続きの映画が公開されるそうで、アニメの前半の演出でやってくれるのなら映画で見たいのですが、アニメ後半は工夫しようとして迷走している感があったのでその感じなら原作がいいなと思っています。で、やはり気になるのでBOOK OFFで探してみたのですがあまり安くなっていない上にほとんどないので諦めてもう少し我慢しようかなと思います。
日記を書いたはいいけど言語化能力がないせいで上手く書けないです。考えすぎない方がいいのかな…でも思いついたことをそのまま書いていくと支離滅裂になってしまう可能性が高いので難しい。いっそのこと思ったことメモしたのをAIにでもぶち込んでしまうのもありかもしれないと一瞬よぎったのですが普通にそれは意味がないのでやりません。
しりとり
- ミーニャ(みーにゃ)
- 紫紺の結晶弾を放つ魔法。
こんにちは。おうちです。短い近況報告ばかりで日記がつまらないというのは自覚しているし kb にも言われているので、そろそろパソ同らしくコンピューターの話を増やそうかと思います。python、c、ffmpeg あたりの話をする予定。今まで使える時間のうち 9 割趣味 5 分日記 5 分課題くらいの振り分けだったので、8 割勉強 1 割日記 1 割課題くらいにすれば日記も考査もクオリティアップ間違いなしでしょう。
では今日は python の話をします。今月頭くらいに話題に出したものの本体です。
完全にお遊び用で、実行するとターミナル上に ascii 文字で動画を映します。こんなふうに。
,,,.,,,........,,,,,::;;;;::::::::,,,,:::::::;;iOOOOOOO999OOOiiiiiiOOOOOi;;:::::::::::,,,,:,, .,:;;;;;;;;;;;;;;;;;::,......,,,,,,:::::::;:;:;;;;;;;;;;;;;::::,,,,,,.............. .......... .............,,..,,,,,:::::::::::::::::,,,..,,::
,,,,,,,,,,.....,,,,,::;;;;;::::::::::::::::;iiOOOOOOOOOOOOOii;;::;;iiiOOii;:::::::::::,,:::::,......,,:;;;;;;;;;;;;;;;;;;:........,,,,,:::::::::;;;;;;;;;;;;;;::::,,,,,,,........ ... .............,,,,,,,,,:::::::::::::::::::,,,,:::
ii;;::,,,,,...,,,,,:::;;;;;;:::::::::::::;iiiiiiiiOOOOiiiii;;;;::;::;;iOOi;;::::::::::,,::;;;::,,...,,:;;;;;;;;;;;;iiiii;:.........,,,,,::::::;;;;;;;;;;;;;;::::,,,,,,,,...... .............,,,,,,,:::::::::::::::::::::::::::
iiii;;:,,,,,,,,,,:,:::;;;;;;;;:;;;;::;;iiOiOOOiiiiiOOOiiiiiii;;;;;:::;;iii;;::::::::::::;;;;;;;:::,,,,::::::;;;;iOOO99OOi:. .......,,,,,:::::::;;;;;;;;;;;::::,,,,,,,,....... .............,,,,,,,:::::::::::::::::::::::::::
::::::,,,,,,,,,:::::::::;;;;i;;:::::;;iOO9OOOOOiOiOiiiiiiiOOOOOOiiiiiiiiiii;;:::::::::;;;;;;;;;;;::::,:::;iOO99OOOiii;;;:, .........,,,,,::::::;;;;;;;;;::::,,,,,,,....,,..... .. .............,,,,,,::::::::::::::::::::::::::::
.....,..,,,:::::::::::::::;;ii;::::;;;iiO999OOOOOOOOOOOOOiiiiiiOOOOOOOiiiii;;;;;;;;;iiiiii;;;;;:::::;;iO99Oii;:::::;;;;;:,............,,,,,,:::::::::;:::::::,,,,,,,,,,,,,,,,,,... . .............,,,,::::::,,,,::::::::::::::::::::
,,,,,,,,::::::::::::::::::;iii;;;,.,,,:;;iiOOiiiiiiOiii;;;;;;;;;iiiiOOOOiiii;;;;iiiOOOiiii;;;;;:;;iOOOOi;:::::::;;;;;iii;,.............,,,,,,,,:::::::::::::,,,,,,,,,,,,,,,,::,,,.... ... ................,,,:::,.......,,,,,::::::::::::::
,,,,,,,,,:::::::::::::::::;ii;;;:. .,::;;;;;;;;;;;;::::::;;;iiiiiiOOiiiiii;;;iiiiOiii;;;;;;iOOOi;;::::::::::;;;;iiiOO;, ..............,,,,,,,,::::::::::,,,,,,,,,,,,,,..,:;::,,,..... ........ ....................,,,:::,,........... ..,,:::::::,,,
........,,,:::::;;;;;;:::;iii;;;,. ..,,:::::;;;;;;;;;iiOO999OOOiiiiiiiiiiii;;;iiii;;;;iO9OOi;:::::;;;;;;;;;;;;iiiOOO;. .....,,,,,,,,,,,,,,,,::::::::,,,,,,,::,,,,,....;Oi;,,,,,,,,.... ..............................,,:::,,,,,,,.. ..,,::::,,,
,,,,,,...,,,:::;;;;i;;;;iiii;ii;,.. ..,::;;;;;;;iiOO988888888@88OOiii;iiiiii;;;;;;;;;;iOOOi;;;:;;;;;;;;;;;;iiiiiiOOOOO:. ...,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::,,,,....,iO9Oi;::,,,,...... .............................,,::::::::,,. .,,:::,,
,,,,,,,...,,::;iiiiiiiiiiiiiiii;;;:::::::;iiiOOOO99888889999888889OOi;;;;;;;;;;;::::;iO9Oi;:::;;;;;;;;iiiiiOOOOOOOOOOOOi:. ....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,.....::;iOOOi;::,,,...... ............................,,:::::::,,.. ... .,,::,
,,,,,,,,..,,:;iiiiiiiiiiiiiiiiiiiOOOOiiiiOOOOOO998888889999888899Oiiiiii;;;;;;;:::;iOOO;::::;;;;;;;;iiiOOOOOOOOOOOOOOOOi,. .....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,....,,::;iO9Oi;:,:,,,.... ...........................,,::::::,,... ..,,,.. .,,:
,,,,,,,,,,,,::;iiiiiiiiiiOOiiiOOOOOOOOOiiOOOOOO999999888888899Oiiiiiiiiiiiiii;;:;i99O;::::;;;;;;;;;;;iiOOOOOOiiiOOOOOii;,. .....,,,,...........,,,,,,,,,,,,,,,,,,,,,,,,,....,,::::;OOOi;::::,,... ..........................,,::::::,,.. ..,::::,.. .,
,,,,,,,,,,,,,:;;;;;;:;iO989OOiiiiiiiiiiiiiOO999888888@@889OiiiiiiiiiiiiiiiiOiiiO99i;::::;;;;;;;;;;;;;iiiOOOOOiiiiiiiOii;.. ......,,,............,,,,,,,,,,,,,,,...,,,,:,,....,::::::;;iOOi;;::,,,.... .........................,,,:::::,,,.. ..,:;;;:::,..
,,,,,,,,,,,.,,,::::,,:;9889Oiii;;;;;;;;:;;;;i988@@88899OiiiiiiiiiiiiiiiiiiiiO988O;:::::;;;iiiiiiiiiiiiiiiOOOOOiiiiOOOii:. .......................,,,,,,,,,,,.......,,,,,,,..,:::;;;;;;;O99O;;::,,,.... .........................,,,:::::,,... .,::;;;;;;::,.
,,,,,,,,,,,,,,,,,,,,..:i999i;::::::,,,,..,,::;iO99OOii;;;;;;;;;;;iiiiiiiiii98@9O;;;;;;;iiOOOOOOOOOOOiiiiiiiOOOOOOOOOOOi,. ........................,,,,,,,,,,,........,,,,,,..,;;;;;;;;;;;iO9Oi;:::,..... ........................,,,,,,:,,,,,,,.. .,:::;;;;;;;;:,.
:::::,,,,,,,,,,,,,,,,,,;iOOi;:,,..... .....,:;iOOOii;;;;:;;;;;;;;;ii;i;;;i8@8Oi;;;;;iOOOOOOOOOOOOOOOOiiiiiiiiOOOOOOOOi;,. .......................,,,,,,,,,,,...........,,,,.,;OOOOiiiii;;iO99O;:,,,,,... ......................,,,,,,,,,,,,,,,,.. ..::;;;;;;;;::,..
;;;;;:::::,,,,,,,,,,.,:;iiOi;:,... ......,,,:;iOOii;;;;;;;;;;;;;;;;;;;;iO889iiiiiiiOOOOOOOOOOOOOOOiiiiiii;;iiiiOOOOOi;:,. .........................,,,,,,,,,,,,...........,,..,iiiiiiiiiii;:;i9Oi:,,,,,.... ......................,,,,,,,,...,,,:::,,. ..,:;;;;;;;::,,..
OOOOOOOOOOi;;::,,,,..,,:;;iii;,,......,,:::;;iiOOii;;;;;;;;;;;;;;;;;;;i9@8O;;iiOOiOOOOiiiiiiOOOOiii;;iii;;iiiiiiOOOii;,.. ... ...................,,,,,,,,,,,,...............,:;;iiiiiiii;;::iO9O;,,,,...........................,,,,,,......,,::::,. .,:;;;;;;;:,..
9999999999Oi;;:,,,...,,:;;iiii;:,,,,::::;;iiiiiiiiiii;;;;:::;;;;;ii;;i989iiiOOOiii;iiiiiiiiOOOOOOiiiiiiiiiiiiiiiOOii;;,.. ......................,,,,,..,..................,:;;iiii;;;;;;::;i9O;::,,,...........................,,... ..,,:::,.. .,:;;;;;;;:,..
9999999999Oi;:,,,.....,,:;iiOOi;;::;;;iiiiiii;;;;iiiii;;;:::::;;;;;;O99OiiOO99Oii;;;;;;iiiiiOOOOOOOiiiiiiiiiiiiiOiii;:,.. ........................,,,.......................:;;;;;;;;;;;;;;;;iOOi:::,,,............................. ...,,,,,....,::;;;;;:,,....
999999999Oi;:,,.........,:;iOOOiiiiiiiiiiiii;;::;;;iiii;;;:::;;;;;;i99iiiO999OOOii;;;;;;iiiiiOOOOOOOOiiii;;;;;;iii;;;,.. ...........................,,,,,,,................ .,::;;;;;;;;;;ii;;;iO9i;:::,,,........................... .................,,:;;;;;:,,....
99OOOOOOii;:,...........,,;iiOOOOiOOOiiiiiii;;:::::;;iiii;;;;;;;;;O9Oi;iiO9OOOOOOOiiiiiiiiiiiOOOO99Oii;;;;::;;iiii;;:,.. ............................ .:::::;;;;;iiiii;;;iOOi;:::,,,.............................................,,:::::,,,...
iii;;;::,,,,...,,........,:;iOOOOiOOi;;;;;;;;::,,,,::;;iiiiiiii;;O99i;;iiOOOOOOOOOOOOOOOOOOOOOOO999OOOiiiiiiiOOOOii;::,. ,:::;;;;;iiiiiii;;;iO9i;:::::,............................................,,::::,,,,....
;;::,,,,,,,,,,,,,,,,,,,,,,:;iiOOOii;;;;;;;;;;::,,,,,,::;iiiiii;;O99i;;iiiiOOiiOOOOiiOOOOOOOOOOOO99889999999999999OOi:;;. ,::;;;;iiiiiiiii;;;;iOOi;;::::,,,...............................,,,,..,,,,,,,,,,,.......
;;:,,,,,,..,,,,,,,,,,,,,,,::iiii;;;;;;;;;;;;;::,,,,,,,::;;;ii;;i99i;;;;;iiiiiiiiiiiiiiiiiiiiiiOO999999999999999OOOi;:;;. ,:;;;;iiiiiiiii;;;;::i9Oi;;;;;;;::,.................,,,,,.......,,,,,,,,,,,,,,,,,.......
i;:,,......,,,,,,,,,,,,,,,,::;;;;;;;;;;;;;;;::,,,,,,,,:::;;;;:;O9i:::::;;;;;;;;;;;;;;;;;;;;;;iiOOOOOOOiiiiiiiiii;;;;;;i. . .:;;;;;;;;;;;;;;;;::::i9Oi;;;iii;;;::,,...............,,,........,,,,,,,,,::::,,,.......
Oi;,,...........,,,,,,,,,,,,,,::;;;;;;;;;;;;::,,,,,,,,::::;:::i9O;:;;;;;;;;;iii;;;;;;;;;;;iiiiOOOOOOOOOOOiiiiiiiiiiOiii. .:;iiiiiiii;;;;;;;;;;;;O9O;;;iiiiii;;;:,,,.......................,,,,,,,,:::;;::,,......
Oi;:,,,,,,,,..........,,.,,...,,::;;;;;;;;;::::,,,,,,,:::;;::iO99OOOOOOO99OOOOOOOOOOOOOOOO9999888888888888888888888@Oii. . .,:::::::, .:iiOOOO999OOOOOOOOOOOOOO9999Oi:;;;;;;;;;;;:::::,::,,,................,,,,:::::;;;;;::,,....
9Oi;::,,:::,,,,.................,:::;;;;;;;:,:,,,,,,,,,:::::;OOiiOOi;::::::::::::;;;;;;;;;;;;;iiiiiiiiii;;;;;;;;;;OO;;;:. .,,,,,,,::,,.. .......,,........,:;OOO9OOOOii;:.:OOi;;;;;;;;;;:::::::;iO9Oii9O;:;;;;;;;;::::::;;;;:::,,..............,,:,,::::;;ii;;:::,...
99Oi;:::::;:::,,,,...............,,:;;;ii;:::::,,,,,,,,,::::;Oi;,:;iOOi;:,,,::::::;;;;;;;;;iiiiiiiiiiiiOiiii;;;::;:,::::,.,;;:::::::;;;ii;;:,.. .. ..:;iOOOOO9OOOOOOOi;::iiiii;;;;;::::::::;iOOi;:,:OOi::;;;;;;::::,::;;;;:::::,..... ....,::::::::;iiiii;;;;:,.
999Oi;:::;;::::::,,,,,,,,..........,;;iii;;::::,,...,,,,,,,:OO;:,,,::;O9Oi;:::::::;;;;;;;iiiOOOOOOOOOOOOOOiii;;:;i:,::::,,:i;:::::::;;iiiiiiiii;;:,,..,:;iiOOOO999999OOOOOOiii;;i;iiOi;;;;::::::iOOO;::::,:iOO;:::::::::,,,,:;;;;;;;::,,.... ...,:;;i;iiiiiiOOOOOii;:,
99OOii;::;;;::::::::::,,,..........,;iiiii;:::::,,,,,,,,,,,;OO:,,::::::;iOOOi;::::::;;;;;;iOOOOOOiiiiiiOOOOii;;;iO:::::,,:;;:::::::;;iiiiiiiiiiOOOOOiiOO999OOO9999999OOOOOOiii;;iOOOOi;;;;::;iOOOi;::::;:::;OOi:::::::::,,,,:;;;;;;;::,.. . ....,:;iiOOOOOOOOOOiii;;;
99OOii;::;;;;;;;;;;:::::,,,........,;iiiii;;::::,,,,,,,,:::iOi:,::::;;;:::;iOOOi;::::;;;;;;iOOOOi;;;;iiiOOOii;;i9O;:::::,:;;;::::::;;iiiiOOiiiiOOOOOO9999999999999999OOOOiiiii;;O9OOi;;::;iOOOi;;;;;;;;;;;:;iOi:::::::::,,,::;;;;;;;:,,.. ....,,:;iiiOOOOOiiiiiiiii
OOiii;;:::;;;;;;;;:;;;::,,,,,......,:;iOOOi;;;;:,,,,,,,:::;OOi:::::;;;;;;;;;;iiOOO;:::::;;;iiOOii;;;iiiiOOOii;;O9O;:::::::;;;:::::::;;iiiOOOOOOOOOOO99999999999999OOiii;;;;;ii;;O9Oi;;;iOOOO;;;;;;;;;;;;;;;:iOO;:::::::::::::;;;;;;;:,... ......,:;;iiiii;;;;;;;iii
Oiii;;;::::::::,,,,:;;::,,,,,,,,....,:iO999Oii;:,,,,,,,:::;OOi::::::;;iiiii;;;;;iOOOi;;:::;iiiiiiiiiiiiOOOOi;;O99;;;::::::;;;:,,,,::::::;;iiOOOOOOOO99999999999Oi;::::;;iiiiii;iOOO;iiO9Oi;::;;;;;;;;;;;;;;:;OO;::::::::::::;;;;;;;::,.... . ...,:;;;;;;;::::;;iii
Oiiii;;::,.,,,,,,,:::::,,,,,,,,,,,,::;iOO999OOi;::::,,,,::iOO;:::::,:;;;iiiiii;;;;;iOOOi;;;;;iiiiiiOOOOOOOOi;O99i:;ii;:::::;;:::::,,,,,,.,,:;;iOOOOOO999999OOi;:,,:::::;iOOiiiiiOOOOOOi;::;;;;;;iiiii;;;;;::;OO;::;;;;;:::;;;;;;;;;::,,............ ....,:;;;;;;::;;;;;ii
OOiii;;::,..,,,,:::::,,,,,,,,,,,,,iOO9998888899999999Oi;::i9O:::::,,,::;;;iiOOiii;;;;;iO9Oi;;;;iiiiiOOOOOOiii99O:;iO9O;:::;;;::::::,,,,.......,:;;iOOO999Oi;,,,,...,;iiOOOOiiiiiOOOOi;;;;;;iiiiiiiiiii;;;:::;O9i:;;iiiii;;;;;;;;;;;::,,,,,,,,,,,,,,,,,,,::;;;;;;iiiiiiiiii
OOOiii;;::,,,,:::::,,,,,,,,,,:,,,:iO998888888888998888889iOOi::::,,,,,:;;;;iiOiiiiii;;;;;iO9Oi;;;;iiiOOOOii;O9O;:iO989i:::;;;::::;;;;::,...,,.....,:;iii;:,,:::;:::iiOOO99OiiiiOOi;;;;iiiiiiiiiiiiiiiii;;:::;O9i;;;iiiiiii;;;;;:;:::::;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiii
99OOOii;;;:::::::,,,,,,,,,,,,,,,,,;iO99988888888899988888889i::::,,,,:::;;;;iiOOOOiOii;;;::;O9OO;;;;iiiiiiiO99i;;iO8@89;::;;;;:::;;iiiiiii;;::::,,,,:iOii;;OO999999OO99999Oiii;;;;;;;;iiiiiiOOOiiiiiiii;;;;:;O9i;;;iiiiOOii;;;:;;;;;iiiiiiiiiiOOOOOOOiiiiiii;;;;;;;;;;;;;;
99999OOOi;:,:::::::,,,,,,,,,,,,,,,:iiOO999888888899998888889i;::::::::::;;;;;iiOiiiiiiii;;;::;iOOOOi;;;;;;iO9Oi;iO988889i;:;;;:::;;iiiiOOOOOiii;::::;O99OOOO9999999O99999OOii;;;;;;iiOOO999999999OOOOOOii;;:;O9i;:;;iiiOOiii;;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;:;;::::::::::;;
9999999Oi:,,,::::::,,,,,,,,,,,,,,,:;;iiOOO988888899O988888899i;;;;;:::;;;;;;;;iiiiiiiiiiiiii;;;;iOO9Oi;:::i9Oi;;iOO98888888Oi;;:::;iiiiOOOOOOOOi;;::;O99OOOO9999999999999OOi;;;iiiOO99989999998889999999Oii;;OOi;:;;iiiiiii;;iiiii;;;;;;;;::::::::::::::::::::::::::::::;;
89999Oii;;:,::::::,,,,,::::::,,:::::::;;iiOO9999999OO98888899Oi;;;;;;;;;;;;iiiiiiiiiiiiOOOOiiiii;;:;iOOi;;OOi;;;iiOO98888889i;;:::;;iiOOOOOOOiii;;::;i99OOOO99999OOOOOOOOOi;;iO99999999999999888899999999OOiO99i;:;;;iii;;;;;;i;;;;;;;;;;;::::::::::::::::::::::::::::;;;;
99OOiiiiiii;::::,,,,,,,::::::::::::,,::;;iiOOOO9999OOO989889OOi;;iiiiiiiiiiiiiiiiiiiiiiOOOOOOOOiii;::::iO99i;:;;;iiiO9988@@8O;;;:::;iiiOOOOOiiii;:::;i99OOOOOOOOOOOOOOOOOii;;O999999999998888888888899999OOOO88O;;ii;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;:::::::::::::::::;;;;
ii;;;iiOOOi;::::,,,,,,,::::::::::;:,,:::;;iiiOOOOOOOOOO99999OOii;;;;;iiiiiiiiiiiiiiiiiiOOOOOOOOOOi;;:,,,i999Oi;;;;iiOOO98888O;;;;:::;;iiiiiiii;;:::;;iO99OOOOOOOOOOOOOOOii;;i999999999888888888888888999OOOi988i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::;;;;;;
:::,:;iOOOi;::::::,,,,,,:::::::::;;:,:::;;iiiOOOOOOOOiOO9OOOOOOOi;;;;;iiiiiiiiiii;;;;iiiOOOOOOOOOOi;;:,;OO;:iOOOi;;;iiiOOO99Oi;;;;::;;iiiiiiii;:::;;iO9999OOOOOOOOOOOOOiii;ii989898888888888888888888999OOii98O;;;;;;;;iii;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;::::::::;;;;;
,,,,::;iOOi;::::::::::,,,,,,,,:::::,,:::;;iiiOOOOOOOOiOOOOOOOOOOO;:;;;;;;;;;;;;;;;;;;;;iiO999OOOOOii;:;O9i:,,:;iOOOi;;;iiiiOOi;;;;:::;;;;;iii;;:::;iiO98999OOOOOOOOOiiiiiiiiO888888888888888888888888999OOii99i:::;;;;;iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;::::;;;;;;ii
:::,,:;iOOi;:::::::::::,,,,,,,,::::,,:::;;iiiiOOOOOOOOOOOOOOOOOOOi:::::;::;;;::;::::;;;iiOOOOOOOOii;;;i9O;:::::::;iOOOi;;;;;;i;;;;:::::;;;;;;::::::;iO999OiiiO9OOOOiiiiiiiii9888888888888888888888888999OiiiOO;:;;;;;;;;;iiii;;;;::::::::::::::;;;;;;;;;;;;:;;;;;;;;;;;;;;
ii;;;;;OOOOi;::::::::::,,,,,,,,,,,,,,:::;;;iiiOOOOOOOOOOOOOO9999Oi::::::::::::::;;;;iiiiOOOOOOOiii;;;iOOi;:;;;;;:::;iO99Oi;;:;;;;:::::::;;;:::::,,,,,,:::;;;;iiiOOOiiiiiiiii999999998888888888888888999OiiiOOi;;;;;;;;;;;;;i;;;;;:::::::::::::;;;;;;iiiiiii;;;;;;;;;;;;;;;
99OOOOOOOOOi;:::::::::,,,,,,,,,,,,,,,,:::;;iiiOOOOOOOOOOOOO99999OO;,,,,,,,::::;;;;;iiiiiOOOOOiiii;;;;O9i;;;;iiii;;;:::;iO9Oi;::;;;:::::::::::,,...,,:;;iOi;:::;;iiiiiiiiiiiiOiiiiiiiO9999998888888889OOi;;iOOi;;;;;;ii;;;;;;;;;;;::::::::::;;;;;;iiiOOOOiii;;;;;;;;;;;;;;;
9999999999Oi;:::::::,,,,,,,,,,,,,,,,,,,::;;;iiiOOOOOOOOOOOO99999OO;,,,,::::::::::;;;;;iiOOOOOiii;;;;i9O;:;;iiiiiiiii;;:::;iOOOi;;;::::::::::,,,,,,::;iiiiiiiiii;iiiiiiiii;;ii;;;;;;iiOOOO99999999999Oii;;;OOi;;;iii;;;;;;;;;::::;;:::::;;;;;iiiiiiiiiiiiii;;;;;::;;;;;;;;;
9999999999OO;:,,::,,,,,,,,,,,,,,,,,,,,,,::;;iiiiOOOOOOOOOOOO9999OOi:::::::::;:::::::;;;iiiOOOiii;;;iOOi;:;iiiOOOOOOiii;;::::;i99Oi;:::::::::,,,,:::,,,,,,,:iiiiiiiiiiiii;;;;;;;;;iiOOOOOO9999999OOOOi;;;;OOO;;;;;;;;;;;;;;;:::::;;;;;;iiiiiiiiiiiiiiiii;;;;;;;:;;;;;;;i;;;
999999OO9OOi;:,,,,,,,,,,,::::,,,,,,,:::,,::;;iiiOOOOOOOOiOOO999OOOO;;::::::::::::::::;;iiiOOiiii;;;iOi;;;;iiOOOOOOOOOiii;;;::::;OOi:::,:::::::,,,,:::,,,,::;iiiiiiiiiii;;;;;;;iiiOO999999OOOOOOOOiii;;;;iOO;::;;;;;;;;;;;;;;:::;;;;iiiO99OOiiiiiiiiii;;;;;;;;;::;;;;;;;;i;
9999OOiOOi;;:,,,,,,,,,,::::::::,,,,,:;;,,::;;iiiiOOOOOOOiiOOO9OOOOOi;;;;;;;;;::::::::::;;iiiii;;:;iOO;;;;iiiOOOOOOOOOOOOii;;:::,,:;;::,,:::::::,:::;iiiiiOOiiiiOOOOiiiiii;;;;;iiiiOOO9OOOOOiiiiiii;;;;;iOO;:::;;;;;;;;;;;;;;;;;;;;iiiO999OOiiiiiiiii;;;;;;;;;;;:;;iiiiiiii
8999OOi;;:::,,,,,,,,::::::::::::,,,,:;;:,::;;;iiiOOOOOOOiiOOOOOOOOOiiiiiiii;;:::::::::::;;;;i;;;:;OOi;;;iiiiiOOOOOOOOOiii;;:::::ii;:::::::::::::::,:;iOOOiiiiOOOOOOOiiOOi;;;;;iiiiiiiiiiiiii;iiiii;;;;iOOi:::;;;;;;;;;;;;;;;;;;;;;iiiOO999OOiOOOOii;ii;;;;;;;;;;iiiiiiiiii
8999Oi;:,,,,,,,,::::::::::::::::,,,,:;;:,::;;;iiiiOOOOOiiiiOOOOOOOOOiiiiiiii;::::::::::::;;;;;;:;iOi;;;iiiiiiOOiiiiiiii;;;::;iOOi;::::::::::::::::::::::;;iOOOOOOOiiiOO9O;:;;iiiiiiiiiiiiiiiiiiii;;;:;OOi;::;;;;;;;;;;;;;;;iii;;;;iiiiO9999OiOOOOOiiiiiiiiii;;;;;iiiiiiiii
99OOi;:,,,,,,,::::::::::::::::::,,,:;ii:,::;;;iiiiOOOOOiiiiOOOOOOOOOi;;;iOOiii;;:::::::::;;;;;::iOO;;;iiiiOOOOiiiii;;;;;;;;iOOi;;;;:::::::::::::::;iiiOOO9999OOOOiiiO999Oi;:;;iiiiiiiiiiiiiiiiiii;;;;OOi;:;:;;;;;;;;;;;;iiiiiiiiiiii;;iO999OiOO999OOiiiOOiiiii;;iiiii;;iii
OOii;::,,,,:::::::::::::::::::::,,:;;ii:,,::;;;iiiOOOOOiiiiOOOOOOOOOOOi;;iiOOOOiiiii;;;;;;;;;::;OOi;;iiiiOOOOOiiii;;:::;iOOOi;;;iiiii;;;;:::::::::;iO9988899OOOiiiiO9999Oi;;;;;iiiiiiiiiiiiiiiii;;;i9Oi:::::;;;;;:;;;;iiiiiiiiiiO9OiiiiOOOOOiiOO99OOOOOOOOiii;;iiiiii;iiii
ii;;:::::::::,,,,:::::::::::,,:,:::;iii;,,::;;;iiiiOOOOiiiiiOOOOOOOOOOOi:;;iOO99999OOOii;;;;;:;OOi;;;iiOOOiiiiii;;::;iOOii;iiiiOOOO9999Oi;::::::::;iOO988899OOiiOO999999OOi;:;;iiiiOOOOiiiiiiii;;;iOOi;:::::;;;;;;;;iiiiiiii;;;;O99OiiiiOOOiiiiOOiiOiOOOOOii;;iiiiii;iiiii
;;;::::::::,,,,,,:::;;;::::,,::::::;;ii;,,::;;;iiiOOOOOiiiiiiOOOOOOOOO99i::;iiOOOOOOOi;;;;i;;;O89i;;;;iiiiii;;;;;;iOOOi;:;iiiiOOO99999889Oi;;;::::::;iiiiiii;;iO99999OO99OOi;;;;;iiOOOOOOOiiii;;;iOO;::::::;;;;;;;iiiiiiiii;;;;;iO99OiiiiOiiOiiii;iOiiO999Oi;;iiiiiiiiii;;
;::,,,,,::,,,,,,,::;;;;:::,,:::::::;;;;;,,::;;;iiiOOOOOOiiiiiOOOOOOOiiiO9i:,,.. ..,:;ii;iiiii;;;;;;::,,,,:,,,,:;;iiiO99999998889Oi;;;;::::::,:::;;iO9999999OO999OO;::;;iiiiOOOiiii;;;;iii;:::::::::::;;;iiiiiii;;;;;;;;iO99Oiiiii;iii;;;iiiiOO989Oi;;iiiiiiii;;;
;::,,,,,,,,,..,,,:;;;;;::,,::::::::;;;;;,,:::;;iiiOOOOOOiiiiiiOOOOiiii;;;:. ...... ..,,::;;;;iOO;,,,,,,,,,,,,,,,::;iOO98888889OOiiiiiiiiO998888888889999OO999Oi;;;;;;;iiiii;;:::;ii;::::::::::::::;;iiiiii;;;;;;;;;iO989Oi;;i;;iii;;;iiiiO9989O;;iiiiiiiiiii
;;:::::::,,,,.,,::;;;;::,,,:::::::::;;;;,,:::;;iiiOOOOOOiiiiiiiiiiiiii:. ................................,:,.........,,,,,,,,,,,,,,::;iO98888888888@@@@@@@@@888888899OO999i:;;i;;;;;;;;;::;iOi;:::::::::::::;;;;;iiii;;;;;;;;;;iO9899O;;;;;;ii;;;;ii;iO9999Oiii;;;;;iiii
iiiii;:::,,,,,,,:::::::,,,::::::::::::;;,,:::;;iiiiOiiOOiiiiiiiiiiiiii:.................................... .....................,,,,,,,,::;iO98@@@@@@@@@@@@@8888888899999Oi:::;i;;;;:::;iii;::::::::::;;;;;;iiiiii;;;;;;;;;;;;;iO989Oi;;;;;iii;;;;iiiiO999Oiii;;;iiiiii
999OOii;:::::,,:::,,,,,,,,::::::,,,,,,:;:,:::;;iiiiiiiiiiii;iiiiiiiiii;,................................. ..........................,,,,,,,,,:;O98@@@@@@@@@@@@@@@8888999O;:,::;;:,.,:iii;:::::::;;;;;;iiiiiiiii;;;;;;;;;;;;;;;iO999Oi;;;;;ii;;;;iOiiiO999Oii;;iiiiiii
99999Oi;:,,,:::::,,,,,,,,,,,,,,,,,,,::;i:,:::;;;iiiiiiiiiii;;iiiiiiiii;:.......................................................................,,,,,,,::;O98@@@@@@@@@@@@@88888O;::,:;i;,......,:;:;;;;;;;;iiiiiiii;;;;;;;;;;;;;;;;;iiO999Oi;;;;;ii;;:;iiiiiO999Oi;;iiiiiii
9999OOi;:,,,:::::::::::,,,,,,,,,,,,,:iOO:,,::;;;iiiiiiiii;;;;;iiiiiiii;;,...........................................................................,,,,,,,,;O98@@@@@@@@@@@@88889i:::;ii:,... .,::;;;;;iiiiiii;;;;;;;;;;;;;;;;;;i;iO9989O;;;;;;ii;;;;ii;iO999Oi;;;iiiiii
99OOOii;::,,:::;;;;;::::::::,,,,,,,,:iOO:,:::;;;iiiiiiiii;;;;;;;;iiiiiii;:,..........................................................................,,,,,,,,::::;O98@@@@@@@@@88889Oi;;ii;...... .,:;;iiiiii;;;;;;;;;;;;;;;;;;;;i;iiO999Oi;::::;i;;::;ii;iOO99Oi;;iiiiii
OOiii;;;::::::;;;;;;;;;:::::::,,,,,,:iOO;,:::;;;iiiiiiiii;;;;;iiiiiiiiiOOOi;:.............................................................................,,,,:::::,,:;O88@@@@@@@88889OiiO;,...... .,:::,,:;;;;;;;;;;;;;;;;;;;iii;iOO999O;:::::;i;::;;ii;iOO99Oi;iiiiii
iii;;;;::::::::::;;;;;;;:::::::,,,,,:iO9;,:::;;;iiiiiiiii;iiiiiOOOOOOOOOOOOOi;:..............................................................................,,,,::::::,,,;iO88@@@@88889OOi:,........ ...,,::::::::;;;;;;;iii;;iiO99Oi;:::::;i::::;ii;iOO99Oi;;iiii
i;;::::::::::::::::;;;;;;:::::,,,,,,:;O9;,,:::;;;iiiiiiiiiiiOOOOOOOO999OOOOOOii;,................................................................................,,,,::::::::,::iO88888899Oi:,......... ..,,,,,,,:::::;;iii;;;;iOO9Oi;:::::;;::::;i;;;iOO99Oi;;;;
;;;::::::::::,,:::;;;;;;;::::::,,,,,:;iOi:,:::;;;iiiiiiiiiiiO999999999999999OOii;,..................................................................................,,,,::::::::,,,,,::::::::,............ ..,,,,,,,,,:::;::::;;iiOOOi;::::::;;::::;;;;;iOO99Oi;;;
;;::,,,,,,,,,,,:::;;;;;;;::::::::,,,,:iOi:,,::;;;iiiiiiiiiiOO999999998888899OiOii;:.................,,.....................,..........................................,,,,,,::::::::::,,,,,,,,,,,,,,,...... ...,::::::::::,,,,::;iiOOi;;:::::::;:::::;::;;iO99Oii;
;:,,,,,,,,,,,,,::;;;;;;;;::::::::::,,:;ii:,,:::;;iiiiiiiiiOO999999998888899OOOOiiii:.. ..........,,,,,,,,,,,,,,,,,,,,,...............................................,,,,,::::::::::::::::::,,,,,,,...... ...,,:;iiiO999i:,,::;;;iii;;;;;;;;;;;;;;;;;;;;iiO99OOi
::,,,,,,,,,,,,,,::;;;;;;;;;;;;;;;::::::;i;,,,::;;iiiiiiiiiOO9999999888888999OOOiiiii:,. ...:::::::,,,,,,,,,,,,,,,,,,,,,,......,,,,.........................................,,,,:::::::::::::::::::::,,....... .......,:;iOO98889;,::;;;iiiiiiiiii;;;;;;;;;;;;;iiOO999O
:,,,,,,,,,,,....,,,,:::::;;:::;;;;;;;;::::,,,::;;;iiiiOOOOO99889998888888999OOOiiiiii;:,::;iOOO99999OOi,,..,,,,:::,,,,,,,,,,,,,,,,,,,..........................................,,,,,,,::::::::::::,,:,,,,....... ........,:iOO98889Oi;i;;iiiiiiiiiiiiiiiii;;;;;;;iiiO9999
:,,,,,,,,,,.........,,,,,::,,,::::::::;;;::,,::;;;iiOOOOOO99988888888888889OOOOOOiiiiiiiOOO9998888889999O;,...,,,,,,,,,,,,,,,,,,,,,,,,,.................,,,,,,...................,,,,,,,,,,,,,,,,,,,,,,,.......... ....,..,:;iO98889Oii;;;;iiiiiiiiiiiiiiiiiiii;;;iiiOO999
:,,,,,,,,,,,,...........,,,,,,,,,,,,,,::::::::::;;;iiiiiiO99988888888888889OOOOOOOiiiiO999999988888888899Oi:.....,,:,,,,,,,,,,,,,,,,,,..................,,,,,,,....................,,,,,,,,,,,,,,,............... ....,,,,:;i988889i;:::;;;iiiiiiiiiiiiiiiiiiiiiiiOO9999
,,,.....,,,,...................,,,,,,,,,:::;;;;;::::;;;i;iO9999888888888899OOOOOiOOOOOO99998888888888889999O;,.....,,,,,,,,,,,,,,,,,,,,.................,,,,,,,,,................,,,,,,,,,,,,,,,,,................ .....,,,:;iO98889Oi;:::;;;;iiiiiiiiiiiiiiiiiOOOOOO9999
:,.....,,,,,,..........................,:::;;;;;ii;;;:::;i99999998888888999OiiiiOOOOO999998888888888888899OOO;,.....,,,,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,,...............,,,,,,,,,,,,,,,,,,,,,,............. .....,,;;iO9889Oii;:::;;;iiiiiiiiiiiiiiiiiiOOOOO9999
::,...,,,,,,,.......... ............,:::;;iiiiiiiiii;;iOO9999998888899Oi;;iiOO998888888899888888888999OOOOi:,.....,,,,,,,,,,,,,,,,............,,,,,,,,,,,,,,,,,..............,,,,,,,,,,,..,,,,,,,,,,.............. ....,,:;iO99989Oi;;::;;;;;;i;iiiiiiiiiiiiiiOOOOO999
;:,,,,,,,,,,,........... .......,:::;;iiiiOOOOOOOiiiiiiiiiiiOOOOOi;;;;i9888@@@888889999998999999OOiiiii;,.......,,,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,,,,.............,,,,,,,,......,,,,,,,,,.............. ......,:;iO9999Oiii;;;;;;;;;;;;iiiiiiiiiiiOOOOO9999
::,,,,,,,,............. ......,,,,,,,::;;iiiiiOOOOOOOOOOOiiiiiiiiiiiiii;::i9@@@@@@@88899OiiOO999OOOii;;;iii;,.......,,,,,,,,,,,,,,,,.........,,,,,,,,,,,,,,,,,,,............,,,,,,,,,,.....,,,,,,,,,,.............. ......,;iiiOOOOiiii;;;;;iiiiiiiiiiiiiiiiiOOOOO9999
:::::,,,,... ....... ..,,,,,:::::::::::;iiiiiiOOOOOOOOOOOOOOOiiOOOOOOOOO;::i8@@@@@88899OOOiOOOOOiii;;;;;iii;,.........,,,,,,,,,,,,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,,,,,,.............. ......,:;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiOOOOO9999
:::::::,,.. ...,,::::,,,,,,,,:::;;iiiiiiOOOOOOOOOOOOOOOOOOOOOOO9999i:,;O88@@88899OOiiOOOi;;;:;;;;;;;i;,..........,,,:,,,,,,,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,,,............ .......:;;;;;;;iiOOOiiiOOOOOOiiiiiiiiiiiiOOOO9999
;;:::::,,.. .,,:::,,,,,,,,,,::;;;iiiiiiOOOOOOOOOOOOOOOOOOOOOOO99889O;,:;iO999OOOOOOii;;;;;;;;;;;;;;;:............,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.........,,,,,....................,:;;;;;iiOOOOOOOO999OOOiiiii;;;iiiOOOO9999
;;;:::::,,. ..,:::,,,,,,,,,::;;;iiiiiiOOOOOOOOOOOiiiiOOiiiOOOO9988889i:,:;iOOiiiii;;;;;;;;;;;;;;;;;;:,............,,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......,,,,,,....................,:::;;iiOOOOOOOO99999OOiiii;;;;;iiiOO9999
;;;;;::::,.. ...,,:,::,,,::::;;;iiiiiiOOOOOOOOOOiiiiiOOOOiiiiOO9999999i;::::;;;i;;;;;;;;;;;;;;;;;;;O9i,.............,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,......,,,......................,::;;;iiOO999OOOOOOOOOOiiii;;;;;iiOO9999
i;;;;;:::,.. ...,,,,::::;;;iiiiiiiOOOOiii;iiiiiO998999OiOOOOOOO99999999999999Oiiiiiiiii;i;;;;;i99i,.............,,,,,,,............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................,..........,:;:;iiOOOO999OOOOOOOiiiiiii;;iiiOO9999
iiii;;;::,.. .,:::;;;;;;;;;;;;;;;;;;iiiiOO998888999OOiiiiOOO99988899999OOiiiiiiiiii;;;:,:i99i:,.............,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................................,:::;;iiOOO9999OOOOiiiiii;;;;iiOOOOOOO
iiii;;::,,. .::::;;;;;;;;;;;;;;iiiiiiiiOO988888889999OOiiiOOO9998888899OiiOOOiiiii;;;,..,i99O:,............,,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....................... ......,:::;;iiOOOOOOOOOOOiiii;;;;;iiOOOOOOO
iiii;;:,.. .,::::::;;;;;;;;;iiiiiiiiiiOO9988888888999899OOiiiOO9999999OOiiiiiiiiii;;,....,;99O:,............,,,,..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,,..........,,::;;;iOOOOOOOOOiiiii;;;;;iiOOOOOOO
iiii;::,.. .,::::::;;iiiiiiiiiiiiiiiiiiOO99999999999888899OiiiOOO99999Oiiiiiiiii;;:........;OO;,............,,,,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................,... ........,,::;;iiOOOOiiiiiii;;;;;;;;iiiiiii
;;;;;:,,.. ,:::::;;;;iiiiiiiiiiiiiiiiiiiiOOOOOOO99998888999i;;iiiOOOOOiiiiiiiii;;:,. .......,::,............,,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................... ...........,,:;;iiiiiiiiii;;;;::;;;;;iiii
;;;;::,... .,:::::;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiOOOO9999999i;::;;iiiiiiiiiiiii;:,.. ........................,,,................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............,,,,... ..............,,:::;;;;;::;:::::::;;;;;i
;;;;::,,... .::::::;;;;iiiiiiiiiiiii;;;;;;;;;:::;;;iiiiOOOO9Oi;::::;;;iiiiiiii;;:,. .....,..................,,,,...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............,,,,,... ................... .,;;::::::::::;;;;;;
;;;;::::,,. .::::::;;;;iiiiiiiiiii;;;;;:::;:::::::::;;;iiiiOi;;;;;;;;;iiiii;;;:,..... .....................,,,,...............,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..........,,,,.... ..,,,.......... ,;;:::::::::;;;;;;;
;;;;::::,,.. .,::::::;;;;;iii;;;;;;;;;::::;;;;;;;;iiii;;;;;;;iiiii;;;;;;iii;;;:. ......... .....................,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................. .,,::,,,..... ,ii;::::::::::;;;;;
;;;;;;::::,,... .,:,::::;;;;;;:::::::::;ii;:;;;;;;;;;;;;::::;;;iiii;;;;;;;;iii;:. ......................,,.......,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................,,::,,,,.... .:;;:::,:::::::::::
iii;;;;;:::,,,.. .,,,::::;;;;;;;;iiiiiiiOOO;:::::::::::;;;iiiiiiiii;;;;;;;;;;;:. ....................,,i;,.......,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...............,...,,,,,,,,,.. .;;:::,,,:::::::::
ついでにコード全文を載せてしまいましょう、大して長くないので。
import argparse, time, shutil, cv2, numpy as np
def main(cap, char, speed, start, end, fit):
print("\033[1J")
timer = 1 / cap.get(cv2.CAP_PROP_FPS) / speed
frame_count = cap.get(cv2.CAP_PROP_FRAME_COUNT)
fps = cap.get(cv2.CAP_PROP_FPS)
cap.set(cv2.CAP_PROP_POS_FRAMES, int(start * fps))
if cap.get(cv2.CAP_PROP_POS_FRAMES) > frame_count:
print("Error: invalid start time.")
return
term = shutil.get_terminal_size()
lines = term.lines - 1
columns = term.columns - 1
h, w = cap.get(cv2.CAP_PROP_FRAME_HEIGHT), cap.get(cv2.CAP_PROP_FRAME_WIDTH)
size = (columns, lines) if fit else (int(w/h*lines*2), lines) if lines/columns*2 < h/w else (columns, int(h/w*columns/2))
frames = []
st = time.perf_counter()
for i in range(9999):
if start * fps + i >= frame_count or i / fps + start > end:
return
while time.perf_counter() - st < timer * i or not len(frames):
ret, frame = cap.read()
if not ret:
continue
arr = cv2.resize(cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY), size)
frames.append("\n".join(["".join([char[int(x/256*len(char))] for x in y]) for y in arr]))
print(f"\033[{lines+1}F", frames.pop(0))
cap.release()
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("filename")
parser.add_argument("-c", "--char")
parser.add_argument("-s", "--speed")
parser.add_argument("-ss", "--start")
parser.add_argument("-to", "--end")
parser.add_argument("-f", "--fit_window", action="store_true")
parser.add_argument("-r", "--reverse", action="store_true")
args = parser.parse_args()
cap = cv2.VideoCapture(args.filename)
if not cap.isOpened():
print("Error: Cannot open the input file.")
else:
char = args.char or " .,:;iO98@"
speed = args.speed or 1
start = args.start or 0
end = args.end or cap.get(cv2.CAP_PROP_FRAME_COUNT) / cap.get(cv2.CAP_PROP_FPS) - 1
fit = args.fit_window
if args.reverse:
char = char[::-1]
main(cap, char, float(speed), float(start), float(end)+1, fit)
実行する場合は cv2 と numpy をインストールしてください。pip を使う場合、cv2 は opencv-python の名前でインストールするので注意。また、コマンドラインで実行することを想定しています(動画ファイルをドラッグ & ドロップでも動くかもしれませんが試してない)。
そう、最近コマンドライン引数にハマっているのです。途中まで os か何かを使って自力で実装していたのですが、argparse だと引数の追加や取得を簡単に行え、ヘルプも自動で出してくれるのでこちらに移行しました。-h で出してみると、
usage: main.py [-h] [-c CHAR] [-s SPEED] [-ss START] [-to END] [-f] [-r] filename
positional arguments:
filename
options:
-h, --help show this help message and exit
-c, --char CHAR
-s, --speed SPEED
-ss, --start START
-to, --end END
-f, --fit_window
-r, --reverse
おお、それっぽい。わざわざコマンドの長いのと短いのを用意しているのも地味なこだわりポイントです。-ss とか -to は ffmpeg のパクリ(といいつつ面倒なので -t は無いが)。
動画を表示する根幹の仕組みはそう難しいものではありません。ループの中身でやっているのは
- フレームを取得
- 白黒に変換
- リサイズ
- 文字列に変換
- 出力
- カーソルを移動
だけです。白黒にしてからリサイズしているのはその方が微妙に処理速度が速いから(*)。リサイズでは始めにターミナルのサイズを取得し、--fit が有効ならぴったりに、無効なら縦横比をそのままになるよう調整しています。
フレームの画像から ascii 文字にする手順は以下のとおりです。
使う文字列を密度が薄い順に
.,:;iO98@
として、画素値を割合にして文字列長を掛けて丸めたものを添字にするという変換をしています。少々ややこしいので例を出すと、
画素値 255(真白)なら
- 256 で割って 0.996
- 掛けて 9.96
- 丸めて 9
- char[9] は "@"
画素値 127(灰)なら
- 256 で割って 0.498
- 掛けて 4.98
- 丸めて 4
- char[4] は ";"
というように画素ごとに対応する文字にしています。
後は join で行と列を結合してから出力するだけです。リスト内包表記ではなく for ループで回して 1 字ずつ出力するとカーソルがちらつくのでこのようにしています。どちらが速いかは計測していませんが……。ちなみにこの部分が今月の始めくらいに話題に出した、numpy や map を使うよりリスト内包表記が速いという結論になった部分です。
最後、動画として見せるために文字列を出力しては上書きしています。映す前に画面全体を消去し、以降出力するたびにカーソルを上に移動するという方式です。ANSI エスケープシーケンスを使っています。これはターミナルで文字の色を変えたりカーソルを移動したり出力を消したりできるものです。
\e[(指定)(種類)
の形で指定します(python では c と同じく e を 033 で書くので注意)。例えば(種類)の部分を m にすると文字のスタイルを設定でき、このとき(指定)の部分が 0〜9 で書体、30〜37 で文字色、40〜47 で背景色を変更します。今回は(種類)A〜F のカーソル移動を使いました。(指定)の部分に数字を入れて移動量を設定します。
\e[1J
で画面全体を消去、
\e[nF
で n 行上に移動です。ループ部分で消去ではなく移動を使っているのはその方が軽いからです。画素ごとに色をつけるというのも試してはみましたが、重すぎて使い物になりませんでした。もっとも iPad 上で動かしているせいであってデスクトップなら実用的な速度になる可能性もありますが。
最後と言いましたが 1、2 補足を。--reverse は文字列の濃淡を逆にします。--char は使う文字列を設定します。例えば " @" にすればニ値画像のようにできます。真ん中で分けただけになるので大津の二値化みたいなクオリティは期待できませんが。
こんなものでしょうか。読んで楽しいかはわかりませんが、書いていてプログラムの不備は色々思いついたので私のためにはなったような気がします。pre を使いまくってボリュームが大変なことになっているので後から更新する人が見づらくて可哀想。反省はしない。
そうだ、iPad 上で動かしているとさっき言ったとおり、このプログラムは a-Shell というアプリを使って書いたものです。unix ぽいシェルもどきを提供するアプリで、ffmpeg、python、c が簡単に使えます。テキストエディターが vim で使い慣れないですが、学校で暇な時間に弄る分には十分以上の出来です。在校生の皆さんも遊んでみてはいかがでしょうか。
しりとり
- 八咫(やた)
- 長い、あるいは大きいこと。咫が親指と中指を広げた長さの単位。
(*)と思っていたのだが、少々思い当たることがあるので明日再計算してみる。
こんにちは。おうちです。昨日の予告どおり、ちょっとした計測をグラフにしてみました。
カラーの画像を縮小し、かつモノクロに変換するとき、どちらの操作を先にしたほうが速いかということを調べるため、
- カラーの画像を縮小
- モノクロの画像を縮小
- カラーの画像をモノクロに変換
の 3 つの操作にかかる時間を解像度ごとに計測しています。
4 つのグラフでは元画像の大きさが違います。
横軸は縮小率(%)、縦軸はミリ秒です。
ただし、cvtColor における横軸は変換前の画像サイズです。
例えば、左上のグラフにおける横軸が 20% の点は
- 青は、横幅が 400 px のカラーの画像を 20% に縮小するのにかかる時間
- 緑は、横幅が 400 px のモノクロの画像を 20% に縮小するのにかかる時間
- 赤は、横幅が 400 px の 20% のカラーの画像をモノクロに変換するのにかかる時間
を表しています。
つまり、
- 縮小してから色を変換
- 色を変換してから縮小
の操作にかかる時間はそれぞれ
- resize (color) + cvtColor
- resize (monochrome) + cvtColor (100%)
となるはずです。
では、実際に計測してみましょう。グラフの見方は上と同じです。
だいたい予想どおりの結果になりました。
昨日のプログラムの操作は 480 px → 120 px くらいなので先に色変換を行ったほうが速そうです。ちょうど境目くらいなので微妙。
ちなみにグラフは matplotlib で作りました。結構便利ですねコレ。
しりとり
- 体育会系(たいいくかいけい)
- 脳ミソがアレな人たちの総称。
こんばんは。挨拶を使い分けれない新入生の点なしです。
同好会では普段Pythonを学んでいます。
先輩が教えてくださるので、助かっています。
鉄道好きですが大した趣味はありません。
なにか締まらない文章になってしまいましたが、
これからどうぞよろしくお願いします。
しりとり
- 戦(いくさ)
- これがなにかはわたしにはわからない
こんちには kb11です。
なんか気づかないうちにシロナガス島の続編の情報が出ていてびっくりしました。
『シロナガス島への帰還』って、どれぐらいの人が知っているんでしょうか。
2020年3月にBOOTH、DMM GAMES、STEAMなどで発売された同人ゲームなんですが。
たぶん、それなりに有名、人気な作品なんだと。
どんなか知りませんが、Switch版もあるらしいですし。
私はひょんなことから、仲間のギャルゲーマーの会話からその存在を知ってプレイしました。
なんでも500円で遊べるとか。
それなのでたいして躊躇いもなく、作品に触れられましたね。
やはりホラーやサスペンスなどの要素はビジュアルノベルと相性がいいようです。
現在、その続編が制作中のようですね。
タイトルは『遥かなる円形世界』(仮)ですか。
今年の三月頃にHPもできていたらしい。
今度は時間を操ってなにかするようですね。
あとは、2視点なのか。
まあ、ネタバレ注意なのでこれぐらいにしましょう。
やったことない人は『シロナガス島への帰還』はおすすめできます。
たぶん、思っている以上には面白いゲームですよ。
なお、PVはクリアまで見ないことを約束してください。
しりとり
- サクラノ詩 -櫻の森の上を舞う-(さくらのうた さくらのもりのうえをまう)
- 2015年10月に枕から発売されたフルプライス作品。
同ブランドの五作目の作品で、近年のギャルゲーの中では伝説的な地位を誇る名作。死ぬまでに必ずやっておきたい。
その年の萌えゲーアワードの大賞をかっさらい、続編のサクラノ刻もその年の大賞に堂々と選ばれた。
シナリオライター及びプロディーサーはすかぢ氏。音楽だと松本文紀がいたりしてとてもわかりやすい。
- DELTARUNE TOMORROW ......
- but the exams are on the hrizon.
- wheter 11 hours or 11 years, deltarune will be waiting.
then it's the same for 11 days. - does it? i'm hard on not seeing twitter for days.
- huh, that's all we need.
word chain
- ooze(uːz)
- very soft mud, especially at the bottom of a lake or river.
art thou there?