作者DrABay (是谁忘了我)
看板C_Sharp
标题[问题]
时间Fri Apr 2 21:23:34 2010
我看书做一个可以走的数字方块 当我把程式码贴上 按下执行
出现错误:Properties不存在於目前内容中
请问这是哪里搞错了呢?
以下是程式码原封不动贴上
namespace WindowsApplication1
{
public partial class Form1 : Form
{
Image[] image = new Image[9];
Panel[] panel = new Panel[9];
Random rd = new Random();
// 0 1 2
// 3 4 5
// 6 7 8
Point[] LegalMove = new Point[] // 合法移动的方式 Point(从, 到)
{
new Point(0,1), new Point(0,3),
new Point(1,0), new Point(1,4), new Point(1,2),
new Point(2,1), new Point(2,5),
new Point(3,0), new Point(3,4), new Point(3,6),
new Point(4,1), new Point(4,3), new Point(4,7), new
Point(4,5),
new Point(5,2), new Point(5,4), new Point(5,8),
new Point(6,3), new Point(6,7),
new Point(7,4), new Point(7,6), new Point(7,8),
new Point(8,5), new Point(8,7)
};
int Count = 0; // 用了几步
public Form1()
{
InitializeComponent();
image[0] = null;
image[1] = new Bitmap(Properties.Resources.A002);
image[2] = new Bitmap(Properties.Resources.A003);
image[3] = new Bitmap(Properties.Resources.A004);
image[4] = new Bitmap(Properties.Resources.A005);
image[5] = new Bitmap(Properties.Resources.A006);
image[6] = new Bitmap(Properties.Resources.A007);
image[7] = new Bitmap(Properties.Resources.A008);
image[8] = new Bitmap(Properties.Resources.A009);
panel[0] = panel0;
panel[1] = panel1;
panel[2] = panel2;
panel[3] = panel3;
panel[4] = panel4;
panel[5] = panel5;
panel[6] = panel6;
panel[7] = panel7;
panel[8] = panel8;
button1_Click(this, null);
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= 8; i++)
panel[i].Tag = i;
int k1, k2, t;
for (int i = 0; i <= 20; i++)
{
k1 = rd.Next(9);
k2 = rd.Next(9);
t = (int)panel[k1].Tag;
panel[k1].Tag = panel[k2].Tag;
panel[k2].Tag = t;
}
for (int i = 0; i <= 8; i++)
panel[i].BackgroundImage = image[(int)panel[i].Tag];
Count = 0;
label1.Text = Count.ToString();
for (int i = 0; i <= 8; i++)
panel[i].Enabled = true;
}
private void panel0_Click(object sender, EventArgs e)
{
Panel x = (Panel)sender;
// 找出 是哪一个 Panel 被点到
int SelectedPanelNo = 0;
for (int i = 0; i <= 8; i++)
{
if (panel[i] == x)
{
SelectedPanelNo = i;
break;
}
}
// 找出 哪一个 Panel 是空的
int EmptyPanelNo = 0;
for (int i = 0; i <= 8; i++)
{
if ((int)panel[i].Tag == 0)
{
EmptyPanelNo = i;
break;
}
}
int k;
for (int i = 0; i < 24; i++)
{
if (LegalMove[i].X == SelectedPanelNo &&
LegalMove[i].Y == EmptyPanelNo)
{
Count++;
label1.Text = Count.ToString();
k = (int) panel[SelectedPanelNo].Tag;
panel[SelectedPanelNo].Tag = panel[EmptyPanelNo].Tag;
panel[EmptyPanelNo].Tag = k;
panel[SelectedPanelNo].BackgroundImage =
image[(int)panel[SelectedPanelNo].Tag];
panel[EmptyPanelNo].BackgroundImage =
image[(int)panel[EmptyPanelNo].Tag];
break;
}
}
// 检查是否正确
if ((int)panel[0].Tag == 1 && (int)panel[1].Tag == 2 &&
(int)panel[2].Tag == 3 &&
(int)panel[3].Tag == 8 && (int)panel[4].Tag == 0 &&
(int)panel[5].Tag == 4 &&
(int)panel[6].Tag == 7 && (int)panel[7].Tag == 6 &&
(int)panel[8].Tag == 5)
{
for (int i = 0; i <= 8; i++)
panel[i].Enabled = false;
MessageBox.Show("完成了!");
}
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.65.73
1F:推 F23ko:找不到图,请确定你的程式中指的位置是正确的 04/02 21:34
2F:→ DrABay:有啊 我加入资源了 04/02 21:50
3F:推 F23ko:你的编译器就是找不到啊..... 04/02 22:10
4F:→ F23ko:啊,对了侦错跟启动但不侦错的启动位置是不一样的喔 04/02 22:11
5F:→ F23ko:侦错的话,程式是建置到底下那个什麽R的资料夹下,所以图到 04/02 22:12
6F:→ F23ko:放那边 04/02 22:12
7F:→ DrABay:我用VISUAL STUDIO 2008 04/02 22:14
8F:→ DrABay:没效... 04/02 22:19
9F:推 F23ko:那我也投降了 = = 04/03 13:37
10F:→ DrABay:我PO到微软论坛 无解~>.< 04/03 14:17
11F:→ DrABay:已解决,但事实上,我不知道是怎麽解决的..... 04/03 22:23
13F:→ DrABay:改造成拼图游戏^^ 04/04 10:57