От автора
"Hо не очко, обычно, губит, А к одиннадцати — туз" - из песни Владимирский Централ
21 или же очко - очень популярная игра в России. Эта игра, была изобретена в СССР как вариант игры блэкджек, в который возможно играть стандартной русской колодой 36 карт.В отличие от блэкджека, значения карт J (валет), Q (дама) и K (король) не 10, а 2, 3 и 4 соответственно, чем частично восполняется отсутствие карт от двойки до пятёрки. Но, так как количество карт, имеющих значение 10, существенно меньше, чем в блэкджеке, то игровой баланс сильно отличается. Туз 11. Король 4. Дама 3. Валет 2. Остальные по нумерованию.
Задание на курсовую работу
Разработать программу, моделирующую игру “21”. Разрешенно использовать только C#. Можно задействовать максимум 10 переменных(static,public). Каждый ход записывается в массив. Если все карты из колоды взяты, то сообщить об этом.
Описание программы
Приложение, написанное на языке C# с помощью Windows Forms иммитирует карточную игру 21. Код программы упрощен для понимания настолько, что каждый, кто хоть немного разбирается в C# с легкостью поймет как работает программа.
Фрагмент кода:
for (int i = 0; i < kolvokart.Length; i++) { kolvokart[i] = 0; } int kartasopernika = 0; kartasopernika = GenerateDigit1(sopernik); kartisopernika1[0] = kartasopernika; if (kartasopernika <= 10) schetsopernika = schetsopernika + kartasopernika; else { if (kartasopernika == 11) { schetsopernika = schetsopernika + 2; } if (kartasopernika == 12) { schetsopernika = schetsopernika + 3; } if (kartasopernika == 13) { schetsopernika = schetsopernika + 4; } if (kartasopernika == 14) { schetsopernika = schetsopernika + 11; } } int karta = 0; karta = GenerateDigit(nomerkarti); При нажатии на кнопку "Вскрываемся"////////////////////////////////////////////////////////////////////////////////////////////////// button1.Enabled = false; label3.Visible = true; label3.Text = "Счет соперника: " + schetsopernika; if (schet < 22 && schetsopernika < 22 && schet > schetsopernika && proverkapobedi == 0) { MessageBox.Show("Вы победили!", "Результат"); proverkapobedi++; } if (schet < 22 && schetsopernika < 22 && schet < schetsopernika && proverkapobedi == 0) { MessageBox.Show("Вы проиграли!", "Результат"); proverkapobedi++; } if (schet >= 22 && schetsopernika >= 22 && proverkapobedi == 0) { MessageBox.Show("Ничья!", "Результат"); proverkapobedi++; } if (schet == schetsopernika && proverkapobedi == 0) { MessageBox.Show("Ничья!", "Результат"); proverkapobedi++; } if (schet >= 22 && schetsopernika < 22 && proverkapobedi == 0) { MessageBox.Show("Вы проиграли!", "Результат"); proverkapobedi++; } if (schet < 22 && schetsopernika >= 22 && proverkapobedi == 0) { MessageBox.Show("Вы победили!", "Результат"); proverkapobedi++; } button1.Enabled = false; label3.Visible = true; label3.Text = "Счет соперника: " + schetsopernika; if (schet < 22 && schetsopernika < 22 && schet > schetsopernika && proverkapobedi == 0) { MessageBox.Show("Вы победили!", "Результат"); proverkapobedi++; } if (schet < 22 && schetsopernika < 22 && schet < schetsopernika && proverkapobedi == 0) { MessageBox.Show("Вы проиграли!", "Результат"); proverkapobedi++; } if (schet >= 22 && schetsopernika >= 22 && proverkapobedi == 0) { MessageBox.Show("Ничья!", "Результат"); proverkapobedi++; } if (schet == schetsopernika && proverkapobedi == 0) { MessageBox.Show("Ничья!", "Результат"); proverkapobedi++; } if (schet >= 22 && schetsopernika < 22 && proverkapobedi == 0) { MessageBox.Show("Вы проиграли!", "Результат"); proverkapobedi++; } if (schet < 22 && schetsopernika >= 22 && proverkapobedi == 0) { MessageBox.Show("Вы победили!", "Результат"); proverkapobedi++; }
Содержания архива:
- исходный код на C# для Visual Studio 2015
Mihail