private bool MakeNextMove() { DiskMove diskMove = (DiskMove)board.getMovesMade()[tmrCount]; string diskMoveStr = diskMove.SaveAsText(); int diskID_1 = Convert.ToInt32(diskMoveStr.Substring(0, 1)); int toPegNum_1 = Convert.ToInt32(diskMoveStr.Substring(diskMoveStr.Length - 1, 1)); Point newPt = new Point(); newPt = board.DisplayPosition(diskID_1, toPegNum_1); // calculates co-ordinates of new disk location newPt.Y = newPt.Y - 40; lbl_Disks[diskID_1 - 1].Location = newPt; board.FindDisk(lbl_Disks[diskID_1 - 1]).setPegNum(toPegNum_1); gameSaved = false; txt_Count.Text = (tmrCount + 1).ToString(); tmrCount++; int i = board.getMovesMade().Count; allMovesStringFromAni += ((tmrCount) + ". " + (diskMove.OutputAsText() + "\r\n")); txt_Moves.Text = allMovesStringFromAni; if (tmrCount >= board.getMovesMade().Count) { return(false); } return(true); }
public void Move(int aDiskID, int aPegNum) { // update disk object int movedDiskID = aDiskID; int newPegNum = aPegNum; diskObj[movedDiskID - 1].setPegNum(newPegNum); // record new move DiskMove move = new DiskMove(movedDiskID, newPegNum); movesMade.Add(move); // count move moveCount++; }
private void saveData() { String ReadLine; StreamReader streamReader = null; try { streamReader = new StreamReader("movements.txt"); while ((ReadLine = streamReader.ReadLine()) != null) { int diskID = Convert.ToInt32(ReadLine.Substring(0, 1)); int toPegNum = Convert.ToInt32(ReadLine.Substring(ReadLine.Length - 1, 1)); DiskMove move = new DiskMove(diskID, toPegNum); board.getMovesMade().Add(move); } } catch (Exception) { } finally { streamReader.Close(); } }