2007年11月8日 星期四

week07 8-puzzle



這是我第七週的東東,基本上就只是會動而已~
嚴格要求到不會有bug.完全正常的移動.

唯一的缺點就是...我作完時才發現..沒有辦法判斷甚時候才完成拼圖!?

看來還要加點東西才可以~
(只好下次摟~)

我的方法沒有其他人那麼複雜~
很簡單.
第一..切
第二..移..

就這樣~
只是我移的方法是用

Image1->Picture=Image2->Picture;

這樣.把圖給換過去~
(事實上我用了十張image)




用來當緩衝.

所以我只是在那九張image裡寫
1.判斷鄰近image是否有看不到的image?
2.互換!

就這樣完成摟..

程式碼範例:以中間那一個為例..其他依此類推~
Image11->Picture=Image6->Picture;//先把自己丟給緩衝
if(Image3->Visible==false)
{
Image6->Picture=Image3->Picture;//互換!
Image3->Picture=Image11->Picture;//換回來
Image3->Visible=true;//把原本看不見設成看得見
Image6->Visible=false;//把原本看的建設成看不見!
}else if(Image5->Visible==false)
{
Image6->Picture=Image5->Picture;
Image5->Picture=Image11->Picture;
Image5->Visible=true;
Image6->Visible=false;
}else if(Image7->Visible==false)
{
Image6->Picture=Image7->Picture;
Image7->Picture=Image11->Picture;
Image7->Visible=true;
Image6->Visible=false;
}else if(Image9->Visible==false)
{
Image6->Picture=Image9->Picture;
Image9->Picture=Image11->Picture;
Image9->Visible=true;
Image6->Visible=false;
}

就是這麼簡單...

心得:
看來有時候太衝動..寫太快也不好...

2 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
  2. 不一定要多那一張阿
    自己宣告出來也可以

    像是這樣

    Graphics::TPicture *TheImage;
    TheImage = Image2->Picture->Bitmap;

    看個人喜好吧
    用CODE產生也是可以
    可以少拉一個物件

    回覆刪除