Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2023, 15:15   #1
_*ViLkA*_
Пользователь
 
Регистрация: 19.03.2023
Сообщений: 10
По умолчанию Видимость блока

Сейчас изначально блоки открыты,а нужно сделать что бы они были закрыты и открывались только когда на них нажмут

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Threading;
namespace CS_Lesson_1_5_WpfGame
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        DispatcherTimer timer = new DispatcherTimer();
        int tenthOfSecondsElapsed; 
        int matchesFound; 
 
 
        public MainWindow()
        {
            InitializeComponent();
            timer.Interval = TimeSpan.FromSeconds(.1);
            timer.Tick += Timer_Tick;
 
            SetUpGame();
        }
 
        private void Timer_Tick(object? sender, EventArgs e)
        {
            tenthOfSecondsElapsed++;
            timeTextBlock.Text = (tenthOfSecondsElapsed / 10F).ToString("0.0сек");
            if (matchesFound == 8)
            {
                timer.Stop();
                timeTextBlock.Text += " - Играем еще?";
            }
 
 
        }
 
        private void SetUpGame()
        {
            //throw new NotImplementedException();
            //Win+.
            List<string> animalEmoji = new List<string>()
            {
                "������","������",
                "������","������",
                "������","������",
                "������","������",
                "������","������",
                "������","������",
                "������","������",
                "������","������"
            };
 
            Random rnd = new Random();
 
            foreach (TextBlock textBlock in mainGrid.Children.OfType<TextBlock>())
            {
                if (textBlock.Name != "timeTextBlock")
                {
                    int index = rnd.Next(animalEmoji.Count);
                    string nextEmoji = animalEmoji[index];
                    textBlock.Text = nextEmoji;
                    textBlock.Visibility = Visibility.Visible; //установить видимость
                    animalEmoji.RemoveAt(index);
                }
            }
 
            // Инициализируем таймер и переменные
            timer.Start();
            tenthOfSecondsElapsed = 0;
            matchesFound = 0;
 
        }
 
        // обработка кликов мышкой
 
        TextBlock lastTextBlockClicked; // последний кликнутый блок 
        bool findingMatch = false; // нашли совпадение
 
        private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
        {
            //TextBlock lastTextBlock = (TextBlock)sender;
            TextBlock lastTextBlock = sender as TextBlock;
 
            if (findingMatch == false)
            {
                lastTextBlock.Visibility = Visibility.Hidden;  // скрыть блок
                lastTextBlockClicked = lastTextBlock;
                findingMatch = true;
            }
            else if (lastTextBlock.Text == lastTextBlockClicked.Text)
            {
                matchesFound++;
                lastTextBlock.Visibility = Visibility.Hidden;
                findingMatch = false;
            }
            else
            {
                lastTextBlockClicked.Visibility = Visibility.Visible;
                findingMatch = false;
            }
 
        }
 
        private void timeTextBlock_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (matchesFound == 8)
            {
                SetUpGame();
            }
 
 
        }
    }
}
Код:
<Window x:Class="CS_Lesson_1_5_WpfGame.MainWindow"
        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"
        xmlns:local="clr-namespace:CS_Lesson_1_5_WpfGame"
        mc:Ignorable="d"
        Title="Игра &quot;Найди пару&quot;" Height="500" Width="500">
    <Grid x:Name="mainGrid">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <TextBlock Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="2" Grid.Row="0" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="3" Grid.Row="0" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
 
        <TextBlock Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="2" Grid.Row="1" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="3" Grid.Row="1" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
 
        <TextBlock Grid.Column="0" Grid.Row="2" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="1" Grid.Row="2" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="2" Grid.Row="2" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="3" Grid.Row="2" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
 
        <TextBlock Grid.Column="0" Grid.Row="3" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="1" Grid.Row="3" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="2" Grid.Row="3" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
        <TextBlock Grid.Column="3" Grid.Row="3" VerticalAlignment="Center" TextWrapping="NoWrap" Text="T1" FontSize="48" HorizontalAlignment="Center" MouseDown="TextBlock_MouseDown" />
 
        <TextBlock x:Name="timeTextBlock" HorizontalAlignment="Center" Grid.Row="4" TextWrapping="Wrap" Text="Прошло времени" VerticalAlignment="Center" FontSize="36" Grid.ColumnSpan="4" FontWeight="Bold" MouseDown="timeTextBlock_MouseDown"/>
    </Grid>
</Window>
_*ViLkA*_ вне форума Ответить с цитированием
Старый 28.06.2023, 16:51   #2
MansMI
Пользователь
 
Регистрация: 04.07.2012
Сообщений: 32
По умолчанию

Цитата:
Сообщение от _*ViLkA*_ Посмотреть сообщение
������","������
а что тут должно быть?
MansMI вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка блока внизу блока родителя, без использования "relative" Bulat Ibrahim HTML и CSS 21 29.05.2017 23:58
Blowfish (резервирование дополнительного байта для блока, говорящий о длине блока) ITdocer Общие вопросы C/C++ 0 21.05.2014 15:40
Видимость div AlexDn JavaScript, Ajax 1 10.01.2013 23:42
Видимость переменной alexz29 PHP 3 19.02.2011 12:02
Видимость констант tae1980 Microsoft Office Excel 5 23.11.2009 12:06