Шахматы на двоих на С#

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by IgrikX, 22 Sep 2010.

  1. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Нужно написать шахматы на C#, для двоих игроков.
    Требования:
    1. Ни одного компонента на форме лежать не должно во время старта программы.
    2. Структурное оформление программы и подробное описание каждой строки.
    3. Ни одного объекта после завершения программы в опер.
    4. памяти не должно оставаться.
    5. Классы должны быть разработаны по шаблону. (patterne - программирование).
    6. Не более 400 строк кода
    Объясните, что значит 1-ый и 5-ый пункт?
     
  2. Bers

    Bers Member

    Joined:
    17 May 2010
    Messages:
    78
    Likes Received:
    30
    Reputations:
    26
    Все компоненты на форме (кнопочки-херопочки и прочее) не должны существовать в момент запуска программы. Т.е. их надо создавать руками. Несложно (по факту сделать все в дизайнере, а потом перенести код из InitializeComponents() в свой метод), но требование дебильное. Отвечаю, исходя из предположения, что писать требуется под WinForms (т.к. если бы это требовалось под WPF - я бы лично нашел и убил человека, требующего такое под WPF:))

    Читай - писать хорошо и красиво, с отступами и комментариями. Говнокода не плодить.

    Я так полагаю, это один пункт :). И он опять-таки бредовый, т.к. после завершения программы вся ее память будет освобождена операцинной системой. К тому же допустить даже простую утечку памяти в .NET - это первый признак гениальности (хотя это и возможно).

    Ключевое слово - Design pattern, паттерны проектирования. См. замечательную книжку "Design patterns: elements of reusable object-oriented software", авторы E. Gamma, R. Helm, R. Johnson, J. Vlissides. Есть в русском переводе.

    Т.е. писать хорошо и аккуратно, говнокода не плодить.
     
  3. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Про паттерны не понял, чё за херня, как их к шахматам применить?
     
  4. Bers

    Bers Member

    Joined:
    17 May 2010
    Messages:
    78
    Likes Received:
    30
    Reputations:
    26
    Эммм... Крутой вопрос. Так же, как и ко всему остальному. Выстроить грамотную архитектуру всей программы, используя по максимуму готовые решения в виде паттернов.
     
  5. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Bers, вот глянь zalil.ru/29714785, это можно отнести к паттерну?
     
  6. Bers

    Bers Member

    Joined:
    17 May 2010
    Messages:
    78
    Likes Received:
    30
    Reputations:
    26
    Нет. Это называется иерархия классов.
    Вот это - пример паттерна.
     
    #6 Bers, 22 Sep 2010
    Last edited: 22 Sep 2010
  7. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    начал писать шахматы, первое что написал, это класс Shape:
    PHP:
        /// <summary>
        /// класс описывает клетку шахматной доски
        /// </summary>
        
    class Shape
        
    {
            
    // ячейкой будет кнопка
            
    private Button shape = new Button();
            
    // конструктор с параметрами
            
    public Shape(int widthint heightint leftint topColor color)
            {
                
    // задаём параметры
            
    }
        }
    Потом создам класс доска...
    Верно ли я начал? или нужно начинать по другому?
     
  8. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    начинать с GUI или с логики - второстепенно. главное, что бы они было отдельны друг от друга. лучший pattern для этого - model-view-presenter(mvp) или model-view-controller(mvc).