Мы проработали модель и визуализацию модели. А теперь нужно обрабатывать действия игрока. Они сводятся к щелчкам мышью по карточкам. Следовательно, нам потребуется всего одна функция обработчик.
Во время подготовки вида prepareViewer(), мы добавляли обработчики:
- arrCanvasImg[nIndex].MouseLeftButtonDown += new MouseButtonEventHandler(GameBoard_MouseLeftButtonDown);
- arrCanvasImg[nIndex].MouseLeftButtonDown += new MouseButtonEventHandler(GameBoard_MouseLeftButtonDown);
А теперь код этого обработчика:
- void GameBoard_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
- {
- Canvas canvas = sender as Canvas;
- object oData = canvas.DataContext;
- int nIndex = Convert.ToInt16(oData);
- gameBoard.openCard(nIndex);
- repaint();
- }
- Полученный объект преобразовываем в класс Canvas, извлекаем индекс карточки из свойства DataContext, вызываем открытие карточки в модели и наконец перерисовываем экран.
- void GameBoard_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
Комментариев нет:
Отправить комментарий
Да, я внимательно слушаю