/// 実習G2 座標計算 | プログラミング実習 |
プロジェクト名 実習G2配置座標の計算
動作説明
指定した場所の座標を計算して、画像を表示する。
デザイン
フォーム Form1
Size = 316,297 (枠内300×260)
BackgroundImage = BackImage.gif
ピクチャボックス picImage
Image = mogura.gif(50×50pix)
SizeMode = AutoSize
ボタン btnHaichi
Text = 配置
テキストボックス tbxNumber
Text = 0
コード(プログラム) [終了ボタン]のメソッドは省略しています。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
picImage.Left = @ '0番目のマスのx座標
picImage.Top = A '0番目のマスのy座標
End Sub
Private Sub btnHaichi_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles btnHaichi.Click
Dim num As Integer
num = CInt(tbxNumber.Text)
If B Then '番号が負のとき
num = 0
ElseIf C Then '番号が19を超えるとき
num = 19
End If
tbxNumber.Text = num.ToString
↓「x Mod y」はxをyで割った余り。
picImage.Left = (num Mod 5) * picImage.Width + 25 ←※1 x座標
picImage.Top = Int(num / 5) * picImage.Height + 30 ←※2 y座標
End Sub
End Class
キーワード
BackgroundImage … 背景のイメージを設定するプロパティ。
Int … 引数を超えない整数を得る。(CIntは整数にするとき四捨五入する。)
解説
ポイントは、指定した場所の座標を計算によって求める。将棋やオセロなどのコマを配置するときなど応用範囲は広い。
※1 マスの番号を5で割った余り(0〜4)に画像の幅を乗算し、余白(25)を加算。
※2 マスの番号を5で割った商(0〜3)に画像の高さを乗算し、余白(30)を加算。
5で割った余り(※1 x座標) 5で割った商(※2 y座標)
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
テスト
□ テキストボックスに番号を入力してボタンをクリックすると、画像が番号のマスに表示される。
/// 実習G2 座標計算 | Copyright©2014 Hiroshi Masuda |