예제 #1
0
            public override bool Equals(object obj)
            {
                try
                {
                    if (!(obj is DataStruct))
                    {
                        return(false);
                    }

                    DataStruct d = (DataStruct)obj;


                    for (int i = 0; i < grid.Count; i++)
                    {
                        for (int j = 0; j < grid[i].Count; j++)
                        {
                            if (!grid[i][j].Equals(d.grid[i][j]))
                            {
                                return(false);
                            }
                        }
                    }

                    if (!currentFallingShape.Equals(d.currentFallingShape))
                    {
                        return(false);
                    }

                    if (!shapeQueue.Equals(d.shapeQueue))
                    {
                        return(false);
                    }

                    for (int i = 0; i < messages.Count; i++)
                    {
                        if (messages[i] != d.messages[i])
                        {
                            return(false);
                        }
                    }

                    return(true);
                }
                catch
                {
                    return(false);
                }
            }