C#でドミノエディタを作る(その1)


『笑ゥせぇるすまんNEW』(2017)
昔々『ギミア・ぶれいく』の1コーナーでやってた笑ゥせぇるすまんがNEWになって帰ってきました。(原作は『黒ィせぇるすまん』)
1回目は、お金の使い方の教訓で、笑ゥせぇるすまんでなくとも、普通にありそうな話でした。お金を使いすぎてしまうのは若さなのでしょうねえ。私は自分に対しては使うことがなく、人を喜ばせるのに使うぐらいなので、使い過ぎがないです。主に子どもが喜びそうなおいしいものを買ったりするのにお金を使いますが、インスタントラーメンがごちそうな子供たちなので、安上がりです。

ドミノを並べるために、ドミノ用のエディタをC#で作ることにします。

このようにボタンでマトリクスを作って、クリックしたら、ドミノが配置できるような編集方法にします。

クリックしたときに、表示されるドミノの絵は、このようなビットマップ画像にしました。クリックするたびに、画像が切り替わります。

ソースです。ドミノの絵が表示されるだけですが。

using System;
using System.Drawing;
using System.Windows.Forms;

class DominoEditor : Form{
  int xlen=20;
  int ylen=16;
  int bsize=44;
  Domino[,] mat;
  class Domino : Button{
    public int state = 0;
  }
  DominoEditor(){
    this.Size = new Size((bsize+1)*xlen,(bsize+1)*ylen);
    this.mat = new Domino[xlen,ylen];
    for(int x=0;x<xlen;x++){
      for(int y=0;y<ylen;y++){
        mat[x,y] = new Domino();
        mat[x,y].Parent = this;
        mat[x,y].Location = new Point(bsize*x,bsize*y);
        mat[x,y].Size = new Size(bsize,bsize);
        mat[x,y].Click += new EventHandler(OnClick);
      }
    }
  }

  string basedir="c:\\Users\\takk\\Desktop\\";
  string[] img={
    ""
    ,"domino-tate.png"
    ,"domino-yoko.png"
    ,"domino-cv1.png"
    ,"domino-cv2.png"
    ,"domino-cv3.png"
    ,"domino-cv4.png"
  };

  void OnClick(object sender, EventArgs e){
    Domino b = (Domino)sender;
    if(++b.state >= 6){
      b.state=0;
      b.Image = null;
    }else{
      b.Image = Image.FromFile(basedir + img[b.state]);
    }
  }  

  [STAThread]
  public static void Main(){
    Application.Run(new DominoEditor());
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA