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

Для более красивой формы взял MetroFramework.
Суть игры в том, что есть 15 палочек, первым ходит "человек" отнимая от 1 до 3 палочки, после ходит "компьютер" отнимая те же 1 или 3 палочки. Кто делает последний ход, и в итоге у него остается 1 палочка тот и победил.
Идею взял когда python изучал, с видео гайда, но когда я понял что python не компилится (компилится, но с большими проблемами) я пошел изучать c# и для себя переписал с python на c#
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

Для более красивой формы взял MetroFramework.
Код:
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;
}
}
}
}