Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код |
81371 |
Дата создания |
2014 |
Страниц |
15
|
Источников |
3 |
Мы сможем обработать ваш заказ (!) 22 ноября в 12:00 [мск] Файлы будут доступны для скачивания только после обработки заказа.
|
Содержание
СОДЕРЖАНИЕ Введение 3 1. Выбор языка программирования и среды проектирования. 4 2. Состав программного продукта 5 3. Руководство пользователя. 6 3.1. Установка приложения на телефон 6 3.2. Экран приветствия. 9 3.3. Игровой экран 10 Заключение 14 Список используемой литературы 15 Приложение 1 Листинг программы 16 Содержание
Фрагмент работы для ознакомления
Content = "O"; b.IsHitTestVisible = false; } private bool analyse() { string[] data = new string[9]; int i = 0; foreach (var b in buttons) { string s = b.Content as string; if (s != null) { data[i] = s; } else { data[i] = ""; } i++; } bool res = false; if (data[0] == data[1] && data[0] == data[2] && !string.IsNullOrEmpty(data[0])) { res = true; model.Win = data[0] == "X"; buttons[0].FontSize = 60; buttons[1].FontSize = 60; buttons[2].FontSize = 60; } if (data[3] == data[4] && data[3] == data[5] && !string.IsNullOrEmpty(data[3])) { res = true; model.Win = data[3] == "X"; buttons[3].FontSize = 60; buttons[4].FontSize = 60; buttons[5].FontSize = 60; } if (data[6] == data[7] && data[6] == data[8] && !string.IsNullOrEmpty(data[6])) { res = true; model.Win = data[6] == "X"; buttons[6].FontSize = 60; buttons[7].FontSize = 60; buttons[8].FontSize = 60; } if (data[0] == data[3] && data[0] == data[6] && !string.IsNullOrEmpty(data[0])) { res = true; model.Win = data[0] == "X"; buttons[0].FontSize = 60; buttons[3].FontSize = 60; buttons[6].FontSize = 60; } if (data[1] == data[4] && data[1] == data[7] && !string.IsNullOrEmpty(data[1])) { res = true; model.Win = data[1] == "X"; buttons[1].FontSize = 60; buttons[4].FontSize = 60; buttons[7].FontSize = 60; } if (data[2] == data[5] && data[2] == data[8] && !string.IsNullOrEmpty(data[2])) { res = true; model.Win = data[2] == "X"; buttons[2].FontSize = 60; buttons[5].FontSize = 60; buttons[8].FontSize = 60; } if (data[0] == data[4] && data[0] == data[8] && !string.IsNullOrEmpty(data[0])) { res = true; model.Win = data[1] == "X"; buttons[0].FontSize = 60; buttons[8].FontSize = 60; buttons[4].FontSize = 60; } if (data[2] == data[4] && data[2] == data[6] && !string.IsNullOrEmpty(data[2])) { res = true; model.Win = data[2] == "X"; buttons[2].FontSize = 60; buttons[6].FontSize = 60; buttons[4].FontSize = 60; } if (res) if (GameCompleted != null) { GameCompleted(this, EventArgs.Empty); } return res; } }}Файл mainpage.xaml<phone:PhoneApplicationPage x:Class="TicTacToe.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" Loaded="PhoneApplicationPage_Loaded" shell:SystemTray.IsVisible="True"> <!--LayoutRoot is the root grid where all page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> <RowDefinition Height="Auto"></RowDefinition> </Grid.RowDefinitions> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock Text="Крестики-нолики" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/> </StackPanel> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> </Grid> <Grid Grid.Row="2" Margin="12,0,12,0"> <Button x:Name="buStart" Click="buStart_Click">Начать</Button> </Grid> </Grid></phone:PhoneApplicationPage>Файлmainpage.xaml.csusing System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Navigation;using Microsoft.Phone.Controls;using Microsoft.Phone.Shell;using TicTacToe.Resources;namespace TicTacToe{ public partial class MainPage : PhoneApplicationPage { Model model = new Model(); WelcomeContent welcomeContent = new WelcomeContent(); GameContent gameContent = new GameContent(); FinishContent finishContent = new FinishContent(); public MainPage() { InitializeComponent(); } private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { gameContent.GameCompleted += gameContent_GameCompleted; DataContext = model; setMode(GameMode.Welcome); } void gameContent_GameCompleted(object sender, EventArgs e) { setMode(GameMode.Finish); } private void buStart_Click(object sender, RoutedEventArgs e) { if (model.Mode == GameMode.Welcome) setMode(GameMode.Game); else if (model.Mode == GameMode.Finish) setMode(GameMode.Welcome); else if (model.Mode == GameMode.Game) setMode(GameMode.Welcome); } private void setMode(GameMode mode) { ContentPanel.Children.Clear(); model.Mode = mode; if (mode == GameMode.Welcome) { buStart.IsEnabled = true; buStart.Content = "Играть"; model.Win = false; ContentPanel.Children.Add(welcomeContent); } if (mode == GameMode.Game) { gameContent.GameInit(model); buStart.Content = "Начало"; buStart.IsEnabled = true; model.Win = false; ContentPanel.Children.Add(gameContent); } if (mode == GameMode.Finish) { buStart.Content = "Начало"; buStart.IsEnabled = true; finishContent.text.Text = model.Win ? "Вы выиграли!" : "Вы проиграли."; ContentPanel.Children.Add(finishContent); } } }}Файл Model.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Threading.Tasks;namespace TicTacToe{ public enum GameMode { Welcome, Game, Finish } public class Model : INotifyPropertyChanged { private GameMode mode; public GameMode Mode { get { return mode; } set { mode = value; OnPropertyChanged("Mode"); } } private bool win; public bool Win { get { return win; } set { win = value; OnPropertyChanged("Win"); } } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }}ФайлWelcomeContent.xaml<UserControl x:Class="TicTacToe.WelcomeContent" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" Height="340" Width="360" d:DesignHeight="480" d:DesignWidth="480"> <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}"> <Image Source="Assets/images.jpg" Height="320"></Image> </Grid></UserControl>ФайлWelcomeContent.xaml.csusing System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Navigation;using Microsoft.Phone.Controls;using Microsoft.Phone.Shell;namespace TicTacToe{ public partial class WelcomeContent : UserControl { public WelcomeContent() { InitializeComponent(); } }}
Список литературы [ всего 3]
Список используемой литературы 1. Чарльз Петзольд. Программируем Windows Phone 7.- 695с ISBN: 978-0-7356-4335-2 2. Мэтью Мак-Дональд WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, 4-е издание = Pro WPF 4.5 in C# 2012: Windows Presentation Foundation in .NET 4.5, 4th edition. — М.: «Вильямс», 2013. — 1024 с. — ISBN 978-5-8459-1854-3 3. Андерсон, Крис Основы Windows Presentation Foundation. — СПб.: БХВ-Петербург, 2008. — 432 с. — ISBN 978-5-9775-0265-8 список литературы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00467