Advertisement
Guest User

Gwiazdki okienkowe obrazkowe

a guest
May 22nd, 2018
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using System.IO;
  16. using System.Threading;
  17. using System.Diagnostics;
  18. using System.Timers;
  19.  
  20. namespace WpfApp1
  21. {
  22.     public partial class MainWindow : Window
  23.     {
  24.         Random rand = new Random();
  25.         public void sprawdz(int x, int y, int z, ref int ocena1, ref int ocena2)
  26.         {
  27.             if (y == z)
  28.             {
  29.                 ocena1 = 3;
  30.                 ocena2 = 3;
  31.             }
  32.             if (y < z)
  33.             {
  34.                 ocena1 = 1;
  35.                 ocena2 = 0;
  36.             }
  37.             if (z < y)
  38.             {
  39.                 ocena1 = 0;
  40.                 ocena2 = 1;
  41.             }
  42.             if (y > x)
  43.             {
  44.                 ocena1 = 2;
  45.             }
  46.             if (z > x)
  47.             {
  48.                 ocena2 = 2;
  49.             }
  50.             if ((ocena1 == 2) && (ocena2 == 1))
  51.             {
  52.                 ocena2 = 0;
  53.             }
  54.             if ((ocena2 == 2) && (ocena1 == 1))
  55.             {
  56.                 ocena1 = 0;
  57.  
  58.             }
  59.         }
  60.         public int Los(int x)
  61.         {
  62.             int los = rand.Next(x) + 1;
  63.             return los;
  64.         }
  65.         public MainWindow()
  66.         {
  67.             InitializeComponent();
  68.         }
  69.         public string Komentarz(int x)
  70.         {
  71.             if (x == 0)
  72.             {
  73.                 return "wygral";
  74.             }
  75.             if (x == 1)
  76.             {
  77.                 return "wpisał za malo";
  78.             }
  79.             if (x == 2)
  80.             {
  81.                 return "wpisał za duzo";
  82.             }
  83.             if (x == 3)
  84.             {
  85.                 return "wpisał tyle samo co drugi gracz ";
  86.             }
  87.             else
  88.                 return "";
  89.         }
  90.         public string Wygral(int y, int z)
  91.         {
  92.             if (y == 0)
  93.                 return "Wygrał gracz 1";
  94.             if (z == 0)
  95.                 return "Wygrał gracz 2";
  96.             if ((y == 3) && (z == 3))
  97.                 return "Remis";
  98.             if ((y == 2) && (z == 2))
  99.                 return "Obydwoje przegraliscie";
  100.             else
  101.                 return "";
  102.         }
  103.         public int a, b, k;
  104.         public int licznik = 0;
  105.         Image[] t;
  106.         Image[] g1;
  107.         Image[] g2;
  108.         private System.Timers.Timer odmierzacz;
  109.         private void OnKeyDownHandler(object sender, KeyEventArgs e)
  110.         {
  111.             if (e.Key == Key.Return)
  112.             {
  113.                 if (licznik == 0)
  114.                 {
  115.                     int k1 = Los(51);
  116.                     k = k1 ;
  117.                     a = int.Parse(tekst1.Text);
  118.                     TXT1.Text = "Gracz 2 podaj liczbę:";
  119.                     tekst1.Text = "";
  120.                     licznik++;
  121.                 }
  122.                 else
  123.                 {
  124.                     b = int.Parse(tekst1.Text);
  125.                     if (a > 35)
  126.                         Application.Current.MainWindow.Width += 14 * (a-35);
  127.                     if ((b > 35) && (b > a))
  128.                         Application.Current.MainWindow.Width += 14 * (b-a);
  129.                     tekst1.Visibility = Visibility.Hidden;
  130.                     TXT6.Visibility = Visibility.Visible;
  131.                     TXT1.Text = "komputer:";
  132.                     TXT2.Visibility = Visibility.Visible;
  133.                     TXT3.Visibility = Visibility.Visible;
  134.                     int start = 155;
  135.                     t = new Image[k];
  136.                     g1 = new Image[a];
  137.                     g2 = new Image[b];
  138.                     for (int i = 0; i < t.Length; ++i)
  139.                         t[i] = new Image();
  140.                     for (int i = 0; i < g1.Length; i++)
  141.                         g1[i] = new Image();
  142.                     for (int i = 0; i < g2.Length; i++)
  143.                         g2[i] = new Image();
  144.                     for (int i = 0; i < k; i++)
  145.                     {
  146.                         BitmapImage bi3 = new BitmapImage();
  147.                         bi3.BeginInit();
  148.                         bi3.UriSource = new Uri("i-szablon-gwiazdka.jpg", UriKind.Relative);
  149.                         bi3.EndInit();
  150.                         t[i].Source = bi3;
  151.                         t[i].Margin = new Thickness(start, 80, 0,0);
  152.                         t[i].Width = 15;
  153.                         t[i].Height = 15;
  154.                         t[i].HorizontalAlignment = HorizontalAlignment.Left;
  155.                         t[i].VerticalAlignment = VerticalAlignment.Top;
  156.                         t[i].Visibility = Visibility.Visible;
  157.                         Grid1.Children.Add(t[i]);
  158.                         start += 15;
  159.                     }
  160.                     start = 155;
  161.                     for(int i=0; i<a; i++)
  162.                     {
  163.                         BitmapImage bi3 = new BitmapImage();
  164.                         bi3.BeginInit();
  165.                         bi3.UriSource = new Uri("i-szablon-gwiazdka.jpg", UriKind.Relative);
  166.                         bi3.EndInit();
  167.                         g1[i].Source = bi3;
  168.                         g1[i].Margin = new Thickness(start, 120, 0, 0);
  169.                         g1[i].Width = 15;
  170.                         g1[i].Height = 15;
  171.                         g1[i].HorizontalAlignment = HorizontalAlignment.Left;
  172.                         g1[i].VerticalAlignment = VerticalAlignment.Top;
  173.                         g1[i].Visibility = Visibility.Visible;
  174.                         Grid1.Children.Add(g1[i]);
  175.                         start += 15;
  176.                     }
  177.                     int temp;
  178.                     temp = start;
  179.                     start = 155;
  180.                     for (int i = 0; i < b; i++)
  181.                     {
  182.                         BitmapImage bi3 = new BitmapImage();
  183.                         bi3.BeginInit();
  184.                         bi3.UriSource = new Uri("i-szablon-gwiazdka.jpg", UriKind.Relative);
  185.                         bi3.EndInit();
  186.                         g2[i].Source = bi3;
  187.                         g2[i].Margin = new Thickness(start, 163, 0, 0);
  188.                         g2[i].Width = 15;
  189.                         g2[i].Height = 15;
  190.                         g2[i].HorizontalAlignment = HorizontalAlignment.Left;
  191.                         g2[i].VerticalAlignment = VerticalAlignment.Top;
  192.                         g2[i].Visibility = Visibility.Visible;
  193.                         Grid1.Children.Add(g2[i]);
  194.                         start += 15;
  195.                     }
  196.                     int w1=-1, w2=-1;
  197.                     sprawdz(k, a, b,ref w1,ref w2);
  198.                     temp += 15;
  199.                     TXT8.Margin = new Thickness(temp, 120, 0, 0);
  200.                     TXT8.Text =Komentarz(w1);
  201.                     int temp2 = start + 15;
  202.                     TXT9.Margin = new Thickness(temp2, 163, 0, 0);
  203.                     if(temp2>temp)
  204.                     {
  205.                         TXT8.Margin = new Thickness(temp2, 120, 0, 0);
  206.                     }
  207.                     else if(temp>temp2)
  208.                     {
  209.                         TXT9.Margin = new Thickness(temp, 163, 0, 0);
  210.                     }
  211.                     TXT9.Text =Komentarz(w2);
  212.                    
  213.                     TXT7.Text = Wygral(w1, w2);
  214.                     int x;
  215.                     if ((TXT7.Text == "Wygrał gracz 1") || (TXT7.Text == "Wygrał gracz 2")) { Leo.Visibility = Visibility.Visible; x = 4000; }
  216.                     else x = 1000;
  217.                     odmierzacz = new System.Timers.Timer();
  218.                     odmierzacz.Interval = x;
  219.                     odmierzacz.Elapsed += new ElapsedEventHandler(Koniect);
  220.                     odmierzacz.Start();
  221.  
  222.                 }
  223.             }
  224.         }
  225.  
  226.         public void Koniect(object sender, EventArgs e)
  227.         {
  228.             odmierzacz.Stop();
  229.             if (MessageBox.Show("Czy chcecie zagrać jeszcze raz?", "", MessageBoxButton.YesNo) == MessageBoxResult.No)
  230.             {
  231.                 Dispatcher.Invoke(new Action(() =>
  232.                 {
  233.                     Close();
  234.                 }));
  235.             }
  236.             else
  237.             {
  238.                 Dispatcher.Invoke(new Action(() =>
  239.                 {
  240.                     for (int i = 0; i < k; i++)
  241.                         Grid1.Children.Remove(t[i]);
  242.                     for (int i = 0; i < a; i++)
  243.                         Grid1.Children.Remove(g1[i]);
  244.                     for (int i = 0; i < b; i++)
  245.                         Grid1.Children.Remove(g2[i]);
  246.                     Application.Current.MainWindow.Width = 915.2;
  247.                     TXT1.Text = "Gracz 1 podaj liczbe:";
  248.                     tekst1.Text = "";
  249.                     tekst1.Visibility = Visibility.Visible;
  250.                     Leo.Visibility = Visibility.Hidden;
  251.                     TXT6.Visibility = Visibility.Hidden;
  252.                     TXT2.Visibility = Visibility.Hidden;
  253.                     TXT3.Visibility = Visibility.Hidden;
  254.                     TXT6.Text = "";
  255.                     TXT7.Text = "";
  256.                     TXT8.Text = "";
  257.                     TXT9.Text = "";
  258.                     licznik = 0;
  259.                     TXT8.Margin = new Thickness(498, 120, 0, 0);
  260.                     TXT9.Margin = new Thickness(498, 163, 0, 0);
  261.                 }));
  262.             }
  263.         }
  264.     }
  265. }
  266.  
  267.  
  268. <Window x:Class="WpfApp1.MainWindow"
  269.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  270.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  271.         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  272.         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  273.         xmlns:gif="http://wpfanimatedgif.codeplex.com"
  274.         xmlns:local="clr-namespace:WpfApp1"
  275.         mc:Ignorable="d"
  276.         Title="MainWindow" Height="452.9" Width="915.2">
  277.     <Grid x:Name="Grid1">
  278.         <TextBlock HorizontalAlignment="Left" Margin="400,15,0,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="22" Height="65" Width="268"><Run Text="        Gra w gwiazdki"/><LineBreak/><Run Text="Po wpisaniu naciśnij enter"/><LineBreak/><Run/></TextBlock>
  279.         <TextBlock x:Name="TXT1" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="56,80,0,0" FontSize="16" Width="148" Text="Gracz 1 podaj liczbę:"/>
  280.         <TextBox x:Name="tekst1" HorizontalAlignment="Left" Height="23" Margin="209,83,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" KeyDown="OnKeyDownHandler"/>
  281.         <TextBlock x:Name="TXT2" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="56,120,0,0" FontSize="16" Width="148" Text="Gracz 1:" Visibility="Hidden"/>
  282.         <TextBlock x:Name="TXT3" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="56,163,0,0" FontSize="16" Width="148" Text="Gracz 2:" Visibility="Hidden"/>
  283.         <TextBlock x:Name="TXT4" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="155,120,0,0" FontSize="16" Width="336"/>
  284.         <TextBlock x:Name="TXT5" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="155,163,0,0" FontSize="16" Width="336" Height="22"/>
  285.         <TextBlock x:Name="TXT6" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="155,80,0,0" FontSize="16" Width="449" Visibility="Hidden"/>
  286.         <TextBlock x:Name="TXT7" HorizontalAlignment="Left" Margin="98,284,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="77" Width="316" FontSize="24"/>
  287.         <Image  Margin="400,202,64.6,10" Name="Leo" Visibility="Hidden" gif:ImageBehavior.AnimatedSource="leo-cheers.gif"/>
  288.         <TextBlock x:Name="TXT8" HorizontalAlignment="Left" Margin="498,120,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="245" Height="22"/>
  289.         <TextBlock x:Name="TXT9" HorizontalAlignment="Left" Margin="498,163,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="245" Height="22"/>
  290.     </Grid>
  291. </Window>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement