Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bài tập 2 (cách làm hướng đổi tượng)

2 posters

Go down

Bài tập 2 (cách làm hướng đổi tượng) Empty Bài tập 2 (cách làm hướng đổi tượng)

Bài gửi by brian 4/2/2010, 16:26

Các bạn cho mình ý kiến về bài tập 2 này nhé (mình đã sửa lại theo cách hướng đối tượng)

Download ở đây: http://www.mediafire.com/?1deuzlnmkzg

Diễn giải cách làm:

Mình tạo một lớp đối tượng có tên là HButton kế thừa từ lớp Button của hệ thống với các thuộc tính và phương thức sau:

Thuộc tính:
- OriginalValue: chứa giá trị ban đầu
- CurrentValue: chứa giá trị thể hiện (hiện tại)
- RightObject: chứa thông tin về button liền kề bên phải
- LeftObject: chứa thông tin về button liền kề bên trái
- TopObject: chứa thông tin về button liền kề bên trên
- BottomObject: chứa thông tin về button liền kề bên dưới
- IsNoChanged: trả về "true" nếu giá trị thể hiện & giá trị ban đầu giống nhau
- CanSwitch: trả về "true" nếu button này có một button rỗng liền kề (có thể hoán đổi được)

Phương thức
- Switch(): Hoán đổi với button rỗng
- private MoveUp(): Hoán đổi với button phía trên
- private MoveDown(): Hoán đổi với button phía dưới
- private MoveLeft(): Hoán đổi với button bên trái
- private MoveRight(): Hoán đổi với button bên phải

Sau đây là code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Bai_2
{
class HButton : Button
{
//public properties
public string OriginalValue { get; set; }
public string CurrentValue {
get { return this.Text; }
set
{
this.Text = value;

//hide object if value is empty
if (value == string.Empty)
this.Visible = false;
else
this.Visible = true;
}
}

public HButton RightObject { get; set; }
public HButton LeftObject { get; set; }
public HButton TopObject { get; set; }
public HButton BottomObject { get; set; }

///
/// Check if OriginalValue equals CurrentValue
///
/// true/false
public bool IsNoChanged
{
get { return CurrentValue == OriginalValue; }
}

///
/// Check if this button can switch with other buttons
///
/// true/false
public bool CanSwitch
{
get
{
return (TopObject != null && TopObject.CurrentValue == string.Empty) ||
(BottomObject != null && BottomObject.CurrentValue == string.Empty) ||
(LeftObject != null && LeftObject.CurrentValue == string.Empty) ||
(RightObject != null && RightObject.CurrentValue == string.Empty);
}
}

//construction
public HButton()
{
OriginalValue = null;
CurrentValue = null;

RightObject = null;
LeftObject = null;
TopObject = null;
BottomObject = null;
}
public HButton(string _Value)
{
OriginalValue = _Value;
CurrentValue = _Value;

RightObject = null;
LeftObject = null;
TopObject = null;
BottomObject = null;
}

//public methods

///
/// Switch this button with emply button
///
public void Switch()
{
if (TopObject != null && TopObject.CurrentValue == string.Empty) MoveUp();
if (BottomObject != null && BottomObject.CurrentValue == string.Empty) MoveDown();
if (LeftObject != null && LeftObject.CurrentValue == string.Empty) MoveLeft();
if (RightObject != null && RightObject.CurrentValue == string.Empty) MoveRight();
}
//end public methods

//private methods
private void MoveUp()
{
TopObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveDown()
{
BottomObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveLeft()
{
LeftObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}
private void MoveRight()
{
RightObject.CurrentValue = this.CurrentValue;
this.CurrentValue = string.Empty;
}


}
}


Thanks,
Họa
brian
brian
Admin

Tổng số bài gửi : 74
Join date : 15/09/2009
Age : 40
Đến từ : Trái tim em

Về Đầu Trang Go down

Bài tập 2 (cách làm hướng đổi tượng) Empty Re: Bài tập 2 (cách làm hướng đổi tượng)

Bài gửi by nanaly 4/2/2010, 21:31

Bái phục.. Tks Pác Họa hen.. để tui ngâm cứu.. cóa théc méc chi.. xin làm phiền tới Pác hen..!!
nanaly
nanaly
Cống hiến
Cống hiến

Tổng số bài gửi : 376
Join date : 18/09/2009
Age : 40
Đến từ : QNgai

Về Đầu Trang Go down

Bài tập 2 (cách làm hướng đổi tượng) Empty Re: Bài tập 2 (cách làm hướng đổi tượng)

Bài gửi by brian 5/2/2010, 10:02

Hii, ôkơ
brian
brian
Admin

Tổng số bài gửi : 74
Join date : 15/09/2009
Age : 40
Đến từ : Trái tim em

Về Đầu Trang Go down

Bài tập 2 (cách làm hướng đổi tượng) Empty Re: Bài tập 2 (cách làm hướng đổi tượng)

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết