Курсы по программированию

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Карточки памяти / Подготовка формы

  • Мы напишем игру «Карточки памяти».
    На форме 16 карточек из 8 парных картинок.
    Цель игры - попарно открыть все карточки.

    Задание:
    Подготовить картинки, настроить форму, сделать меню.
    Разместить сетку, написать правила игры и сводку об авторе.
  • Дата отправки отчёта: 14 мая 2018 г.
  • Задание выполнено: за 1 день 5 час. 35 мин.
  • Чему научился: Возможности знака "@" в MessageBox.Show удивили.
  • Что было сложным: Переименовывание.
  • Оценка видео-уроку:
Отчёт от 18419 за Карточки памяти / Подготовка формы


Отчёт от 18419 за Карточки памяти / Подготовка формы




Оцени работу

 
Сохранить страницу:

9913. --
vip
vip
ответить
→  DenisMed  # Карточки памяти / Подготовка формы / 2018-05-14 22:27

Денис! Рад приветствовать тебя на видеокурсе сишарп.инфо. Ты молодец что решил попробовать поизучать язык именно на данном ресурсе. Здесь довольно-таки весело. Надеюсь все тебе понравиться и ты сможешь продолжить обучение и повысить свои навыки как многие из нас так уже и сделали начиная практически с 0 отметки. Пожелаю тебе удачи!
Интересно чем тебя @ - удивил!


18419. --
DenisMed
DenisMed
ответить
→  vip  # Карточки памяти / Подготовка формы / 2018-05-16 14:51

Странно вроде позавчера ответил, а поста нет. Приветствую. @ - встречался раньше в boolean функции FileExist, но не знал что это. Ресурс по Си Шарпу - отличный. Вчера выполнил задание с массивом, а затем начал играться с ним. Алгоритм для карточной игры "девятка". 36 карт раздаем 4-рем игрокам по 9 карт каждому. Просто балдею.

string[] cards = new String[36];
string[] p1 = new String[10];
string[] p2 = new String[10];
string[] p3 = new String[10];
string[] p4 = new String[10];

static Random rand = new Random();
private void init_game()
{
int d1=1, d2=1, d3=1, d4=1, j=1, a=1;

for (j = 0; j < 36; j++)
{
d1 = j + 1;
cards[j] = Convert.ToString(d1);
}
j = 0;
for (j = 1; j < 36; j++)
{
//для четырех игроков.
a = rand.Next(1, 4);
if (a == 1 && d1 < 10)
{
p1[d1] = cards[j];
d1 = d1 + 1;
cards[j] = null;
}

if (a == 2 && d2 < 10)
{
p2[d2] = cards[j];
d2 = d2 + 1;
cards[j] = null;
}

if (a == 3 && d3 < 10)
{
p3[d3] = cards[j];
d3 = d3 + 1;
cards[j] = null;
}

if (a == 4 && d4 < 10)
{
p4[d4] = cards[j];
d4 = d4 + 1;
cards[j] = null;
} }
//Перетасовываем уже внутри колоды 18 раз
for (j = 0; j < 18; j++)
{
a = rand.Next(1, 18);
int b = rand.Next(1, 18);
a = a + b;
string x = cards[a];
cards[a] = cards[36 - a];
cards[36 - a] = x;
}
//Начинаем оканчательно перебирать оставшиеся.
xx1: for (d1 = 1; d1 < 10; d1++)
{
if (p1[d1] == null)
{
//Пусто? начинаем перебирать.
for (j = 0; j < 36; j++)
{
if (cards[j] != null)
{
p1[d1] = cards[j];
goto xx1;
} } }
if (p2[d1] == null)
{
/Начинаем дополнять тех у кого недобор.
for (j = 0; j < 36; j++)
{
if (cards[j] != null)
{
p2[d1] = cards[j];
cards[j] = null;
goto xx1;
} } }
if (p3[d1] == null)
{
//Пусто? начинаем перебирать.
for (j = 0; j < 36; j++)
{
if (cards[j] != null)
{
p3[d1] = cards[j];
cards[j] = null;
goto xx1;
} } }
if (p4[d1] == null)
{
//Пусто? начинаем перебирать.
for (j = 0; j < 36; j++)
{
if (cards[j] != null)
{
p4[d1] = cards[j];
cards[j] = null;
goto xx1;
} } } }


  • Отчёт оценивали:
    10895Danil42Russia+1   18249Александр+1   1Евгений Волосатов+1   17443WildOrc+1   17606Виктор+1   9971Юрий+1   10494Алексей В.+1   9913vip+1   17947Dmitry Sinitsin+1   2146Иван+1   3850Григорий+1   6452Кирилл Шмойлов+1   8275Tekashnik+1   9980Timoha+1   16066Bodrik_torf+1   4395Денис+1   16218Дмитрий+1   791Валерий Жданов+1   5394Anton+1   3747Сергей+1   3922Александр+1   459Сергей Сергеевич+1   17255Слава+1   6644valerys Nikola+1   Посетитель+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Не лучше ли было диалоги "Помощь" и "О программе" в отдельных формах? В MessageBox'ах выглядит не ахти, загрязняет код. Можно было бы поменьше разжевываний по редактированию формы.


Научился: Повторил материал прошлых уроков, так как работа с данными элементами уже была пройдена. Добавил горячие клавиши для меню.
Трудности: Ничего сложного не было.
Спасибо за урок.