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

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

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

Сокобан / Сокобан - Игра - На двоих по сети

  • На этом уроке мы наконец-таки сделаем сетевую версию программы Sokoban для двоих.
    Мы будем использовать телефонный класс Phone с прошлого урока.
  • Дата отправки отчёта: 19 июня 2018 г.
  • Задание выполнено: за 1 день 43 мин.
  • Чему научился: Добавил в проект класс Phone.
    На форму WelcomeForm добавил режим выбора и поле с подключениями.
    Добавил 2 конструктора в класс LabirintForm, вызываем нужный конструктор из класса WelcomForm
    Создал функцию получения данных Recv(byte data)
    Настроил экземпляр phone и запустить его.
    В класс LabirintForm добавить переменные my_user и ot_user.
    Переделал switch обработки нажатых клавиш.
    Добавил в функцию Recv управление вторым игроком.
    Добавил  в класс Phone добавить параметр IsBackground = true
    Добавил синхронный рестарт и смену уровня.
    Вынес вызов функции LoadLevel из Recv
    Протестировал работу игры на двух ПК.
  • Что было сложным: В целом все логично и понятно.
  • Оценка видео-уроку:
Отчёт от 18493 за Сокобан / Сокобан - Игра - На двоих по сети




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Evgenii Kudriavtcev  # Сокобан / Сокобан - Игра - На двоих по сети / 2018-06-20 12:12

Отличная работа!


  • Отчёт оценивали:
    17947Dmitry Sinitsin+1   16218Дмитрий+1   6452Кирилл Шмойлов+1   17443WildOrc+1   791Валерий Жданов+1   17606Виктор+1   1Евгений Волосатов+1   459Сергей Сергеевич+1   3922Александр+1   17255Слава+1   2146Иван+1   Посетитель+1   3747Сергей+1   10494Алексей В.+1   5394Anton+1   Посетитель+1   6987MichGar+1   9752chokayes+1   10558Иван Воронин+1   4814Дмитрий+1   18842Степан0   18272Ramzan+1   8275Tekashnik+1   11582Родион+1   18477sparda0   6275Андрей+1   17425ser2018+1  

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





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

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

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

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


Научился: Передавать данные по сети. Общаться из программы с консолью
Трудности: Сфотографировать два компьютера)
Или это я пропустил, или это сделано преподавателем намеренно - но я не увидел объяснения, как непосредственно соединить два РАЗНЫХ компьютера по сети. Во всех сетевых уроках мы работали на IP 127.0.0.1 (т.е. на localhost'е). Поэтому для разных компьютеров я придумал решение сам(скорее всего дико неоптимальное) - при инициализации сервера программа открывает консоль и посылает туда запрос "ipconfig", считывает ответ, находит строку, в которой написан IP-адрес, вытаскивает его из этой строки и вставляет в текстовое поле. Далее при нажатии на кнопку запуска игры появляется сообщение о том, какой IP-адрес нужно сообщить клиенту. Как-то так. P.S. Не очень получилась фотография двух компьютеров.


Научился: Очень интересно исследовать, как работают классы между собой.
Трудности: Так писать программу - совсем просто. Но так все соединить вместе - очень сложно. Интересно придумано с синхронной сменой уровней!
Ух! Вот это урок! Столько всего важного и интересного. Удивительно, что класс phone передает всего то по одному байтику. А наши человечки бегают уже вместе! Спасибо за замечательный курс. Все очень понравилось!