vs2019 フォームのデザイナが開かない…

記憶止めに

久々にメンテナンスの依頼があったので開いたソースで
フォームのデザイナを開こうとすると

データが失われる可能性を防ぐため、デザイナーの読み込み前に以下のエラーを解決する必要があります。
このファイルのデザイナーに、デザインできるクラスがないため、デザイナーを表示できませんでした。

てなって開けない、ビルドもできない…

https://learn.microsoft.com/ja-jp/dotnet/desktop/winforms/controls-design/designer-errors?view=netdesktop-9.0
https://ein-notizbuch.blogspot.com/2019/06/vs2019.html

を参考にいろいろやってみたけど治る様子はない…

ちなみにほかのプロジェクトはちゃんとビルドできるし、
デザイナも開く…

エラーメッセージで
TargetFramework 値 ‘net5.0-windows’ が認識されませんでした。つづりが間違っている可能性があります。
ってなメッセージも出てくる…

軽くググると
https://elf-mission.net/programming/wpf/getting-started-2020/net5-build-error-from-core-wpf/
こんなページにたどりつきました。

何気に気になってターゲットフレームワークのバージョンを確認しようとしたら
ターゲットフレームワークが選択できない…

なので試しに
https://dotnet.microsoft.com/ja-jp/download/visual-studio-sdks?cid=getdotnetsdk
で.netを新しめのものをインストール

でもやっぱり選択できない…

ふと、visualstudioの最終更新日を見ると2020年ごろ
あまりに古いのでとりあえずこちらも更新。
更新後なぜか2022になってしまったが、無事にプロジェクト開けるようになりました…
まぁ、動いたのでよしとしましょう。

定期的にアップデートしたほうが良いですな。

VB.NETでテトリスを作る際のヒントとコード例VB.NETでテトリスを作成するとなると、かなり大規模なプロジェクトになります。全てを詳細に解説すると長くなってしまうため、ここでは基本的な部分と、いくつか重要なポイントを絞って解説します。

  1. 画面の設計
  • ゲーム画面: テトリミノの落下領域、次のテトリミノ表示エリア、スコア表示エリアなどを配置します。
  • コントロール: キーボードやタッチ操作でテトリミノを操作するためのイベント処理が必要です。
  1. テトリミノのクラス
  • 形状: 7種類のテトリミノの形状を定義します。配列や構造体で表現できます。
  • 回転: 回転処理は、形状の配列を操作することで実現できます。
  • 移動: 上下左右の移動は、座標を更新することで実現できます。
  1. ゲームロジック
  • 落下: タイマーを使って一定間隔でテトリミノを落下させます。
  • 衝突判定: テトリミノが壁や既に置かれたブロックと衝突したか判定します。
  • ライン消去: ラインが揃った場合は消去し、スコアを加算します。
  • ゲームオーバー: 落下領域が埋まった場合、ゲームオーバーとなります。
  1. その他
  • レベルアップ: スコアに応じて落下速度を上げるなど、ゲームの難易度を調整します。
  • サウンド: 効果音やBGMを追加すると、より臨場感のあるゲームになります。
    コード例 (テトリミノのクラスの一部)
    Public Class Tetrimino
    Private shapes As Integer(,)() = {
    {{1, 1, 1, 1}}, ‘ I型
    {{1, 1}, {1, 1}}, ‘ O型
    {{1, 1, 1}, {0, 1, 0}}, ‘ T型
    ‘ … その他の形状
    } ‘ 現在の形状のインデックス
    Private currentShapeIndex As Integer ‘ … その他のメンバー Public Sub Rotate()
    ‘ 形状の配列を操作して回転処理を行う
    End Sub
    End Class

さらに詳しく学ぶには

  • 書籍: ゲームプログラミングの入門書
  • オンラインチュートリアル: UnityやUnreal Engineなどのゲームエンジンを使ったチュートリアルも参考になります。
  • サンプルコード: GitHubなどには、様々なプログラミング言語で実装されたテトリスのサンプルコードが公開されています。
    重要なポイント
  • アルゴリズム: 衝突判定やライン消去のアルゴリズムは、効率的に実装することが重要です。
  • オブジェクト指向: テトリミノをクラスとして定義することで、コードの再利用性と保守性を高めることができます。
  • イベント駆動: タイマーイベントやキーボードイベントなど、イベント駆動でゲームを進行させます。
    注意: 上記はあくまでも一例です。より複雑な機能や高度なゲームを作るためには、さらに多くの知識と経験が必要です。
    どのような部分で困っていますか?
    より具体的な質問があれば、お気軽にご相談ください。
  • 特定の処理について詳しく知りたい
  • エラーが出て解決できない
  • より面白い機能を追加したい
    可能な範囲で、あなたの疑問にお答えします。
  • 例: “テトリミノの回転処理がうまくいきません。”
  • 例: “ライン消去のアルゴリズムを教えてください。”
    ぜひ、具体的なコードや状況を添えて質問してください。

19:14

いやはや、見積作業が止まりません・・・

何とかこなしつつ、前に進めるしかないですな。

今日はセブンのPBレモンチューハイ飲みましたが、

意外とくさくなくておいしかったですな。

基本は博多の華ですが。

見ていて面白かったyoutubeがあったのですが、

ExcelVBAが人を傷つける刃になる

システム化するってそんなに気を使うのかな?

その分手が空いた人は他の仕事すればいいのにと思うのですが、

保守的な人ってそんな考えになっちゃうんですかね・・・?

理解が出来ません・・・

ほげほげ