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

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

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

  • На этом уроке мы наконец-таки сделаем сетевую версию программы Sokoban для двоих.
    Мы будем использовать телефонный класс Phone с прошлого урока.
  • Дата отправки отчёта: 10 января
  • Задание выполнено: за 6 час. 00 мин.
  • Чему научился: и снова изменять имеющийся код. Улучшил понимание при обмене данными
  • Что было сложным: Волосы сначала дыбом встали, как подумал я, что мне делать со временем, откатом хода, таблицами рекордов, у меня же весь код был на проверках имени, считывании с файла текущих уровней и тд.
    Для меня пока нереально сделать, чтобы у обоих уровень по считыванию загружался одинаково, сохранялось по какому либо результату , поэтому Ифами обошёл весь код - где привязаны имена с результатми
  • Комментарии: Все режимы игры сделаны в одном окне. Для игры по сети оставил возможность играть с автоходами ( мышкой ).
    Очень понравилась идея решения с передачей команд "таймеру". Пытался решить , вызывая в отдельном потоке методы, чтобы не ждал "приёмщик байтов". Но вопросы вылезали как грибы, побеждая одну - лезет вторая. Например, оказывается ( я не знал) к компонентам формы нельзя обращаться из потока,  в котором они не были созданы. Это почитал - нашёл - отключил. Далее - нельзя делать родителем объект тех элементов , которые созданы в другом потоке... В общем плюнул я, сделал Как в уроке - на Таймер. И все равно очень доволен :)
    А учить надо море всего, чем дальше углубляешься - тем больше понимаешь что меньше знаешь. Как во всём :)

    Спасибо
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 8005 за Игра Сокобан / Сокобан - Игра - На двоих по сети




Оцени работу

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

24. Оля
Оля
ответить
→  Александр  # Игра Сокобан / Сокобан - Игра - На двоих по сети / 2016-01-10 02:34

Александр, я рада что в итоге у тебя все получилось, главное не торопить, ответы на все вопросы придут, помни про улитку, она  ползет медленно и достигает вершины горы Фудзи! :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Александр  # Игра Сокобан / Сокобан - Игра - На двоих по сети / 2016-01-10 02:02

Дальше в лес, больше дров! :)


  • Отчёт оценивали:
    459Сергей Сергеевич+1   1Евгений Витольдович+1   6925Артём+1   2639Морозов Юрий Александрович+1   4699Сергей Витальевич+1   24Оля+1   5868Vera+1   6195sergey+1   3747Сергей+1   7645Александр Львович+1   8275Tekashnik+1   4467Alcatraz+1   4719Вадим+1   4435Мурад+1   6203Николай (nick27m)+1   6452Lik_Kirill+1   4992Николай+1   5649Максим Лапшинов+1   5489Serg+1   8Василевская Елена0   1232Фомичева Наталья+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Соединять 2 программы по сети.
Трудности: ВСЁ!! И особенно купить 2й компьютер и фотоаппарат для выполнения пунктов 14 и 15... Так и не получилось...
про path = "3" так и не понял... Функция Recv() быстро работает и не дожидается - зависает, а path что? ....... Очень, очень сложный урок.
Научился: Научил сокобан играть по сети на двоих.
Трудности: У меня были сложности с прорисовкой при переходе на следующей уровень и переводе формы товарища на следующий уровень.
Вообще-то можно отслеживать закрытие формы - на другом компьютере тоже закрывать - таким образом добьемся синхронности - кстати и по открытию формы , можно аналогично поступать - не надо вступать на скользкий путь синхронизации - достаточно команды посылать из одной формы в другую и будет счастье.