Игра "палочки"

  • Автор темы Автор темы Lays
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
10 Фев 2017
Сообщения
215
Реакции
42
Всем привет, посмотрел часовой гайд по c# - написал первую игру.
Суть игры в том, что есть 15 палочек, первым ходит "человек" отнимая от 1 до 3 палочки, после ходит "компьютер" отнимая те же 1 или 3 палочки. Кто делает последний ход, и в итоге у него остается 1 палочка тот и победил.
Идею взял когда python изучал, с видео гайда, но когда я понял что python не компилится (компилится, но с большими проблемами) я пошел изучать c# и для себя переписал с python на c#
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

Для более красивой формы взял MetroFramework.
Код:
Expand Collapse Copy
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MetroFramework.Components;
using MetroFramework.Forms;

namespace Shifr
{
    public partial class Form1 : MetroForm
    {
        public static string sticks = "";
        public static int stick = 20;
      


        public Form1()
        {

            InitializeComponent();
          
          

            label1.Font = new Font("Minecraft", 20, FontStyle.Bold);

            for (int i = 0; i < stick; i += 1)
            {
                sticks += "|";
                label1.Text = (sticks);
                label2.Text = (stick.ToString());
            }
        }


    

        public void User ()
        {
            if (textBox1.TextLength == 1)//Если в строке 1 символ
            {
                if (stick != 1)
                {
                    int a = 0;
                    if (textBox1.Text != "")
                    {
                        a = Int32.Parse(textBox1.Text);
                    }

                    if (stick > 3)
                    {
                        label1.Text = ("");
                        sticks = "";
                        stick -= a;

                        for (int i = 0; i < stick; i += 1)
                        {
                            sticks += "|";
                            label1.Text = (sticks);
                        }
                        label2.Text = (stick.ToString());
                        if (stick == 1)
                        {
                            metroButton1.Text = ("Вы выйграли!");
                        }
                        PC();
                    }

                    else if (stick == 3 && a == 2 || a == 1)
                    {
                        label1.Text = ("");
                        sticks = "";
                        stick -= a;

                        for (int i = 0; i < stick; i += 1)
                        {
                            sticks += "|";
                            label1.Text = (sticks);
                        }
                        label2.Text = (stick.ToString());
                        if (stick == 1)
                        {
                            metroButton1.Text = ("Вы выйграли!");
                        }
                        PC();
                    }
                }

            }
        }


        public void Random()
        {
            //Создание объекта для генерации чисел
            Random rnd = new Random();

            //Получить случайное число (в диапазоне от 0 до 3)
            int value = rnd.Next(1, 4);

            stick = stick - value;

            label1.Text = ("");
            sticks = "";


            for (int i = 0; i < stick; i += 1)
            {
                sticks += "|";
                label1.Text = (sticks);
            }
            label2.Text = (stick.ToString());

            label3.Text = ("PC отнял: \n" + value.ToString());
        }

       public void PC ()
        {
            if (stick >= 2)
            {


                label3.Text = ("");
                if (stick > 5)
                {
                    Random();

                }
                else if (stick == 4)
                {
                    int value = 3;

                    stick = stick - value;

                    label1.Text = ("");
                    sticks = "";


                    for (int i = 0; i < stick; i += 1)
                    {
                        sticks += "|";
                        label1.Text = (sticks);
                    }
                    label2.Text = (stick.ToString());

                    label3.Text = ("PC отнял: \n" + value.ToString());
                    if (stick == 1)
                    {
                        metroButton1.Text = ("Вы проиграли");
                    }
                }
                else if (stick == 3)
                {
                    int value = 2;

                    stick = stick - value;

                    label1.Text = ("");
                    sticks = "";


                    for (int i = 0; i < stick; i += 1)
                    {
                        sticks += "|";
                        label2.Text = (sticks);
                    }
                    label2.Text = (stick.ToString());

                    label3.Text = ("PC отнял: \n" + value.ToString());
                    if (stick == 1)
                    {
                        metroButton1.Text = ("Вы проиграли");
                    }
                }
                else if (stick == 2)
                {
                    int value = 1;

                    stick = stick - value;

                    label1.Text = ("");
                    sticks = "";


                    for (int i = 0; i < stick; i += 1)
                    {
                        sticks += "|";
                        label1.Text = (sticks);
                    }
                    label2.Text = (stick.ToString());

                    label3.Text = ("PC отнял: \n" + value.ToString());
                    if (stick == 1)
                    {
                        metroButton1.Text = ("Вы проиграли");
                    }
                }
            }

        }



        private void Form1_Load(object sender, EventArgs e)
        {

          
        }

    

        private void textBox1_TextChanged_1(object sender, EventArgs e)
        {

        }

      

        private void textBox1_KeyPress_1(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '1') && (e.KeyChar <= '3'))
            {
                return;
            }
            e.Handled = true;
        }
      
      

        private void Form1_Click(object sender, EventArgs e)
        {

          

        }



        private void metroButton1_Click(object sender, EventArgs e)
        {
            User();
          
          
        }



        Form2 newForm = new Form2();


        private void metroToggle1_CheckedChanged(object sender, EventArgs e)
        {
            if (metroToggle1.Checked)
            {
              
              
                newForm.Visible = true;
            }
            else
            {
                newForm.Visible = false;
            }
        }
    }
    }
 
Назад
Сверху Снизу