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);
        }
Esempio n. 2
0
        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();
            }
        }
 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();
     }
 }