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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

  • На этом уроке мы наконец-таки сделаем сетевую версию программы Sokoban для двоих.
    Мы будем использовать телефонный класс Phone с прошлого урока.
  • Дата отправки отчёта: 6 сентября 2015 г.
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: связывать две программы по сети
  • Что было сложным: синхронизация
  • Комментарии: нету у меня 2х компьютеров. из скриншота не видно, но... все работает. Может, виднее будет из видеообзора.
    Остался трабл с рассинхронизацией, думаю, что можно сделать.
  • Оценка видео-уроку:
Отчёт от 3664 за Игра Сокобан / Сокобан - Игра - На двоих по сети




Оцени работу

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

3664. данила
данила
ответить
→  Евгений Витольдович  # Игра Сокобан / Сокобан - Игра - На двоих по сети / 2015-09-06 19:32

кстати, долго пытался сам решить проблему с закрытием потока класса Phone. Пробовал вызывать функцию thread.Abort(), но это приводило к зацикливанию.
А всего то оказалось надо поставить IsBackground = true;


24. Оля
Оля
ответить
→  данила  # Игра Сокобан / Сокобан - Игра - На двоих по сети / 2015-09-06 19:26

Данила, самое главное ты сделал, и работает! Молодец! ☀️


3664. данила
данила
ответить
→  Евгений Витольдович  # Игра Сокобан / Сокобан - Игра - На двоих по сети / 2015-09-06 19:21

сам в восторге от этого уровня


1. Евгений Витольдович
Евгений Витольдович
ответить

  • Отчёт оценивали:
    Посетитель+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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