Clicker Mania 1.0

Използвайки интегрираната среда за разработка Visual Studio и езика за програмиране C# ще разработим универсално приложение отчитащо броя кликове на потребителя.

  1. Стартирайте интегрираната среда за разработка Visual Studio.
  2. Създайте нов проект Visual C# > Windows Universal > Blank App (Universal Windows).
  3. За име на проекта запишете: Clicker Mania 1.0.

Файлът MainPage.xaml съдържа изходния код от дизайна на потребителския интерфейс на разработваното приложение и се пише на езика XAML. Копирайте (Ctrl+C) и поставете (Ctrl+V) програмният фрагмент даден по-долу във Вашето приложение.

MainPage.xaml

<Page
    x:Class="Clicker_Mania_1._0.MainPage"
    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"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <!-- Clicker Mania 1.0 --> 
    <StackPanel Background="Orange" Padding="30">
        <TextBlock FontSize="32" HorizontalAlignment="Center" Text="ClickerMania 1.0" />
        <TextBlock Name="Click" HorizontalAlignment="Center" Text="0" FontSize="100" Padding="30" FontWeight="ExtraBlack" />
        <Button Content="Click" HorizontalAlignment="Center" FontSize="60" Click="Button_Click" />
    </StackPanel>

</Page>

Изглед от дизайна на потребителският интерфейс (XAML) в интегрираната среда за разработка Visual Studio по време на разработване на приложението:

Фиг. 34. Изглед от дизайна на потребителският интерфейс

Файлът MainPage.xaml.cs съдържа изходния код от бизнес логиката на разработваното приложение и се пише на програмният език C#. Копирайте (Ctrl+C) и поставете (Ctrl+V) програмният фрагмент даден по-долу във Вашето приложение.

MainPage.xaml.cs

using System;
using System.IO;
using Windows.Storage;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace Clicker_Mania_1._0
{
    /// <summary>
    /// Clicker Mania 1.0
    /// </summary>
    public sealed partial class MainPage : Page
    {
        // var
        private int counter = 0;
        private StorageFile file;
        private StorageFolder local = ApplicationData.Current.LocalFolder;

        // Constructor
        public MainPage()
        {
            this.InitializeComponent();
            Read();
        }

        // Button Even Handler
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            counter++;
            Click.Text = counter.ToString();
            // Save to file
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes(Click.Text.ToCharArray());
            var _file = await local.CreateFileAsync("clicker.txt", CreationCollisionOption.ReplaceExisting);
            using (var _stream = await _file.OpenStreamForWriteAsync()) _stream.Write(bytes, 0, bytes.Length);
        }

        // Read from File
        private async void Read()
        {
            try
            {
                file = await local.GetFileAsync("clicker.txt");
                if (file == null) file = await local.CreateFileAsync("clicker.txt");
                else
                {
                    Stream stream = await file.OpenStreamForReadAsync();
                    StreamReader reader = new StreamReader(stream);
                    Click.Text = reader.ReadToEnd();
                    if (Click.Text == "")
                    {
                        Click.Text = "0";
                        counter = 0;
                    }
                    else counter = int.Parse(Click.Text);
                }
            }
            catch { ;; }
        }
    }
}

Изглед от бизнес логиката (C#) в интегрираната среда за разработка Visual Studio по време на разработване на приложението:

Фиг. 35. Изглед от бизнес логиката на разработваното приложение

Стартирайте приложението от менюто: Debug > Start Debugging или като натиснете клавиш F5.

Фиг.36. Универсалано приложение отчитащо броя кликове на потребителя.

results matching ""

    No results matching ""