【发布时间】:2011-12-16 05:59:34
【问题描述】:
我正在编写一个名为 Flipper 的程序,它有 3x3 个单元用于拼图。每个单元格(按钮)最初都是绿色的。单击某个单元格时,该单元格及其相邻单元格会翻转(更改颜色)。另一个要求是撤销功能,它回到上一阶段。我不知道如何实现这一点。这些是游戏中发生的主要事情。
public Puzzle(Form1 form1)
{
buttons = new Button[3, 3] { { form1.button1, form1.button2, form1.button3 },
{ form1.button4, form1.button5, form1.button6 },
{ form1.button7, form1.button8, form1.button9 } };
//button reference from form1
}
public void reset()
{
//reset all the colors of buttons in the puzzle to lime
}
public void FlipCells(int row, int col)
{
//when certain button is clicked(this event is done in the form1.cs), say for (0,0) change color of cell (0,0),///(0,1) and (1,0) by calling changeColor method
}
public void changeColor(int row, int col)
{
//test current color of the cell, and change it
}
我要求在一个名为 Undo 的类中实现撤销功能。任何想法表示赞赏!!!
【问题讨论】: