2023年11月7日火曜日

今時の人々にとっては、一番のライフラインがスマホだと言うのは、当たり前なんだろうな ー スマホ修理王(パソコン)

       
もう六年も前の放送だったのかと、月日の流れは速いなとつくづく感じました。
それは、NHKの番組で、”ドキュメント72時間”ですが、自分も良く視聴します。

それで、その回の放送は、東京は渋谷にあるスマホ修理店が、舞台なのでした。
画面の割れや水没が原因で動かなくなったスマホが、次々と持ち込まれるんだ。

友人と過ごした夏の思い出を取り戻したいと、駆け込んだフリーターもいます。
交友関係や日々の記録が詰まったスマホは、正に自分の分身のようなものです。

スマホが動かず、恋人と連絡も取れなくなって不安を募らせる女子大生がいる。
要するに依存症のような人々を取材したのかもしれませんが、これが電波の絆。

そして、店のカウンターにカメラを据えて、スマホの中身をのぞかせてもらう。
人々はどんなつながりを大事にしているのか、という意図だったと思いますな。

まあ、番組をふと思い出したのも、自分もタブレットを修理に出したからです。
マイクロソフトの”SurfaceGo3”を使っていますが、液晶画面が割れてしまう。

最近のタブレットは、画面が大型化しているせいか、割れやすくなっています。
ボディもそれなりのこしらえですが、落としてしまえば簡単に歪んでしまうな。

その歪みと共に衝撃も加わって、液晶画面の堅いゴリラガラスは耐えられない。
ただ、割れていても使えそうな程度なら、そのまま使い続ける人もいるみたい。

自分の場合は、壊れたまま使うのも気分が良くないので、修理を決断しました。
最近の修理は、インターネットで申し込んで、宅配便で現品を発送する習わし。

メールでやり取りがありますが、修理が完了した現品は、代引きの宅配で受領。
難しいわけではありませんが、包装箱を捨てずに残していたのが役立ちました。

というわけで、”スマホ修理王”での交換サービスは、不評と好評が分かれます。
まあ、修理や交換が想定されたタブレットのデザインならそう難しくはないのでしょうが、それに比べてスマホでは設計デザインが初めからそのような前提ではないのが普通で、無理にこじ開けて作業をすると不測の事態が起きても不思議はないのかもしれないと思うのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2023年11月5日日曜日

横浜市では、使い古しの用土は少量ずつに分けて、燃えないごみの収集日に透明または半透明の袋に入れて出すらしい ー 古い土の再生材(ガーデニング)

    
百均のダイソーで見つけたので、ダメもとで二袋を衝動買いしてしまいました。
要するに、栽培の終えた古い用土を再生利用する、手頃で環境にやさしい商品。

もちろん混ぜ合わせる前には、古い土に残ったゴミや根は取り除いておきます。
それから、天日干しや熱湯諸毒をすることで、微生物や虫の幼虫。卵を殺すの。

つまり、不純物を取り除き、消毒を行ったら、最後に再生材を混ぜ合わせます。
こういった過程は、同じ目的の商品であれば、共通している作業で違いはない。

この一袋で、八リットル容量の古い土と混ぜますが、激安には違いありません。
こういった商品では、花ごころの”古い土のリサイクル”を自分は良く使います。

混ぜ合わせる量も20%が目安ですが、価格的には倍以上しても信頼しています。
一方、百均の説明では、堆肥の有機物と肥糧、ミネラル栄養素の配合だとある。

しかも、有用微生物(放線菌)入りで、古い土に混ぜて良質な土作りの説明だ。
こうなると試す価値はありそうですが、それでも改良用の資材も加えてみよう。

赤玉土、鹿沼土、ココピート、バ―ミキュライト等を足して、土壌改良に期待。
これまで、そのようにしてきたので、この用土づくりでは買えないつもりです。

しかし、この用土再生は、あくまでも普通の植物のもので山野草は違うだろう。
そう思ってネットでググってみたのですが、水洗いや煮沸の工程は同じでした。

後は、用土に軽石砂、鹿沼土、赤玉土、日向石などをブレンドする違いはある。
残りは元肥なんだけれど、マグアンプkでも良さそうなブログ記事を発見した。

これなら簡単なので、やってみようと思いつつ、置き肥が今一よく分からない。
自作の肥料を使っている人もいますが、当面は普通の液肥に、リキダスかなあ。

というわけで、ウマノスズクサは山野草の土なので、用土再生は三年後だろう。
それまでの間、どうやったら山野草の土の再生ができるか研究することにして、当面は、この百均で手に入れた再生材で一般的な植物の用土作りを実践してみようと思う、自分なのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2023年11月3日金曜日

シェイプのアイコンをクリックで取得できたか、できなかったかを判定するのが、このゲームのキモではあるな ー Selection.ShapeRange(VBAマクロ)

        
”もぐらたたき”ゲームを作りましたが、往年の名機”ファミコン”並みにしたい。
まあ、スーパーマリオ並みのデザインまで、ビジュアルを高められないものか。

VBAでも、ワークシートに画像ファイルの貼り付けは、そう難しくありません。
貼り付けるとシェイプ”Shape”として認識されますが、問題はシェイプ名です。

”Shape 1”のように連番が振られていきますが、判別にはやや分かりにくいな。
だとすれば、識別しやすい名称のシェイプを、シート上に張り付けるだけです。

このゲームで使用したシェイプは、たったの三つで背景、もぐら、ドクロだけ。
メモリーも使いたくないので画素数は抑えながら、ネットで拾った画像で作成。

フリー素材とかサイトに載っていたので、使う分には大丈夫だろうと思います。
モグラ・ドクロのアイコンは正方形で、真四角なセルの大きさより少し小さめ。

乱数で抽出した数値を使ってセル番地を指定して、そこにモグラを貼り込むの。
このシェイプ三要素は、別シートに張り付けてあり、そこからコピペするんだ。

もっとも、背景はブックを開くと先に張り付けますが、アイコンは後からです。
ゲーム展開でアイコンが出現して、まずモグラがランダムにひょっこり現れる。

そのモグラをクリックしてアイコンを取得できれば、ドクロに切り替わります。
もちろん、モグラは一秒しか表示されないから、クリックできない時もあるな。

そこで、モグラの取得をどうやって判断しているかですが、これがゲームの肝。
なかなかに凝ったロジックでして、最初はVartType関数を使ったのに動かない、

Sub 図形選択の判定()
 If VarType(Selection) = vbObject Then
  MsgBox "図形が選択中"
 Else
  MsgBox "図形は未選択"
 End If
End Sub

Sub 図形選択の判定2()
On Error GoTo ErrHandl
 Dim shp As ShapeRange
 Set shp = Selection.ShapeRange
 MsgBox "図形が選択中"
Exit Sub
ErrHandl:
 Err.Clear
 MsgBox "図形は未選択"
End Sub

理由は分かりませんが、シェイプの時間内表示での取得が判断できなさそうだ。
ならばと、ネットで紹介されていた別のコードをダメ元で仕込んでみましたな。

If文と違って、取得した図形セットの”ShapeRange”コレクションで判断する。
問題なのは、選択していないとエラーが出るので、エラー処理で逃げています。

これは直截的な挙動の感じがしまして、実際に動かしたら完全に動作しました。
というわけで、サンプルコードをダウンロードしながら、参照してみて下さい。

このコードの中身をVBエディターで見てもらうと、クラスモジュールを使ってみたり、ゲーム画面だけにするのでインターフェースのリボンを非表示にするなど、それなりに工夫はしたつもりなので、参考になればとと思ったのでした。




いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2023年11月1日水曜日

カウントダウン機能をメッセージボックスで表示させようとして、無理くり力技でコードを組んでみたのでござる ー MessageBoxTimeoutA(VBAマクロ)

       
VBAで、”もぐらたたき”ゲームのプログラムを、試行錯誤して書き上げました。
まあ、ネットで検索してもらえれば、サンプルコードは色々紹介されています。

なので、そういったコードを参照して試してもらえれば、楽しめるでしょうな。
一方、自分的には、ビジュアルな背景やアイコンを用意して臨場感を増したい。

サンプルコードの中には、セルに黒丸の印が出現し、それをクリックして消す。
実にシンプルなデザインでしたが、基本的なロジックはさほど変化ありません。

なので、ゲームらしくするには、デザインと意匠に趣向を凝らす必要があるな。
黒丸の代わりにモグラを画像を出現させて、クリックでドクロに置き換えたい。

後は、モグラのアイコンが出現したら、何か音を出すような工夫も必要だろう。
こうして、一定数のモグラを出したら終了させて、ヒット数を表示させるんだ。

そしてファンファーレなんかも再生させたら、少しは本格的なゲームに近づく。
そこで、今回は、スタートボタンを押したときのカウントダウンタイマーです。

幾つかアイデアを試しましたが、カウントダウンのメッセージにはこれだろう。
それは、メッセージボックスを一秒おきに表示しては消していくアイデアです。

Private Declare PtrSafe Function CustomTimeOffMsgBox Lib "user32" _Alias "MessageBoxTimeoutA" ( _
            ByVal xHwnd As LongPtr, _
            ByVal xText As String, _
            ByVal xCaption As String, _
            ByVal xMsgBoxStyle As VbMsgBoxStyle, _
            ByVal xwlange As Long, _
            ByVal xTimeOut As Long) _
    As Long

Sub TMP()
   Call CustomTimeOffMsgBox(0, "3秒後にスタートだよ", _
     "Kutools for Excel", vbInformation, 0, 1000)
   Call CustomTimeOffMsgBox(0, "2秒後にスタートだよ", _
     "Kutools for Excel", vbInformation, 0, 1000)
   Call CustomTimeOffMsgBox(0, "1秒後にスタートだよ", _
     "Kutools for Excel", vbInformation, 0, 1000)
*記述:(0, mMessage, "メッセージ内容", vbInformation, 0, milliSecond)
End Sub

         
このメッセージボックスは、Windowsの内臓機能にアクセスする設定をします。
”Windows API”という包括的な名称で呼んでいますが、VBAでも重宝しますな。

なので、実行プロシージャでは、モジュールの冒頭で宣言する記述を行います。
後は、一秒おきにメッセージボックスを表示させますが、警告音も出て便利だ。

というわけで、他に試したのがしょぼくて、こちらが簡単なので使用しました。
なぜ、しょぼかったかというと、一秒の間隔が実際には一秒以上あって、多少間延びするのでボツにしたのですが、わざわざユーザーフォームまで作ってタイマーをする必要もないなと、思ったのでした。

※採用見送りコード
Sub Sample()
  Dim WSH As Object, i As Integer
    Set WSH = CreateObject("WScript.Shell")
      For i = 3 To 1 Step -1  
        WSH.Popup i & "秒後、スタートだよ", 1, "Title", vbInformation
      Next i
    Set WSH = Nothing
End Sub



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村