MENU

2022-07-01から1ヶ月間の記事一覧

【C#】ペントミノ2Dパズルを解く(9)終わりに

この連載をお読みいただきありがとうございました。 このプログラムはVB版をC#にマイグレーションしたものですが、実は筆者にはC#の経験はほとんどありませんでした。VBの方はかなり詳しいつもりですが、C#など中括弧のある言語は苦手でした。今回のマイグレ…

【C#】ペントミノ2Dパズルを解く(8)フォームのコード

やっと Form1 のコードです。C#のフォームはVB.Netのフォームとほぼ一緒ですが、イベントの記述は若干の違いがあるため「慣れ」が必要です。 ・クラス宣言 IDEのソリューションエクスプローラで Form1 を右クリックして "コードの表示" で自動表示されるので…

【C#】ペントミノ2Dパズルを解く(7)フォームのデザイン

この連載も7回目になりました。いままではプログラムの部品であるクラスををつくってきました。フォームについては新規プロジェクトを作ったあと、そのままになっていると思います。今回はデフォルトで作られた Form1 にコントロールを登録していきます。 …

【C#】ペントミノ2Dパズルを解く(6)DEFクラスを作る

このクラスはプログラムの表紙(鑑)です。プログラムIDや作成日などのプログラム諸元や共有で使用する定数や関数などをまとめて記述しておくクラスです。クラス名の "DEF" は定義(define)から採っています。 ・クラス宣言 クラスの名前は "DEF" です。 …

【C#】ペントミノ2Dパズルを解く(5)ボードクラスを作る

いよいよボードクラスです。マス目の空いている場所に部品が置けるかどうかを判定したり、配置データをこのクラスで管理します。 ・クラス宣言 クラスの名前は "Board" です。 internal class Board ・プロパティ:Cells( , ) ボードのマス目(値は Boolean…

【C#】ペントミノ2Dパズルを解く(4)棚クラスを作る

今回は棚クラスです。クラスの概要はこの連載の「(1)はじめに」を参考にしてください。 ・クラス宣言 クラスの名前は "Shelf" です。 internal class Shelf ・プロパティ:名前 Name 棚の名前です。中に入れる部品の名前をそのまま使います。解の表示で使…

【C#】ペントミノ2Dパズルを解く(3)部品クラスを作る

今回は部品クラスを作ります。その前にペントミノを簡単な文字列で表現する方法について説明します。 図の折れ線矢印は起点から上下左右に図形を一筆書きのようにたどります。1マスの移動を アルファベット1文字("U", "D", "L", "R")で表します。それぞ…

【C#】ペントミノ2Dパズルを解く(2)座標クラスを作る

前回はクラスの概要の説明でした。今回はさっそくクラスの作成に取り掛かります。Visual Studio でC#の新規プロジェクトを用意してください。 プロジェクトの名前は "ペントミノソルバー2D" です。 最初は「Coordクラス」、2次元の平面にある点を表す座標…

【C#】ペントミノ2Dパズルを解く(1)はじめに

「ペントミノ2Dパズルを解く」のVB版をC#にマイグレーションしました。VBとC#はともにWindowsデスクトップアプリの開発言語ですが、残念ながらVBの人気は下がり気味です。個人的には使い慣れたVBにこれからも頑張ってほしいです。 ペントミノをご存じです…