Шахматный клиент-сервер на C#. Часть 2. Шахматная доска + фигуры. Unity3D.

  Рет қаралды 18,720

ITVDN

ITVDN

Күн бұрын

Пікірлер: 90
@ITVDN
@ITVDN 4 жыл бұрын
Промокод на скидку 15% на все курсы ITVDN- H94BCAB Курсы для C#/.NET разработчикa- itvdn.com/ru/specialities/net-developer?
@РоманКанарейкин
@РоманКанарейкин 5 жыл бұрын
Я полностью видос не смотрел, но мелкими кусочками пролистал и не заметил где сам мультиплеер? вы его писали или только саму игру сделали? Если есть дайте плиз тайм код
@MiheyNorth
@MiheyNorth 5 жыл бұрын
Я по пять раз пересматриваю первые два вебинара. Мы создаем тонну всего, но только не "ChessRules" ОТКУДА МИСТИЧЕСКИМ ОБРАЗОМ ВЗЯЛАСЬ ЭТА БИБЛИОТЕКА, знает по ходу только витольдовичь, Square - ДА FigureMoving - ДА Program - ДА Color - ДА FigureOnSquare - ДА Figure - ДА НО НЕ "ChessRules" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@МихаилВладимирович-п4я
@МихаилВладимирович-п4я 5 жыл бұрын
Это же dll из первой части, просто он переименовал Chess.dll в ChessRules.dll
@LegendaryYurza
@LegendaryYurza 5 жыл бұрын
он заново переписал программу, параллельно добавил туда рокировку и превращение пешки в ферзя, а так то это та же самая dll только с другим именем
@talisman1104
@talisman1104 Жыл бұрын
Жесть. Он переписал библиотеку где-то между занятиями. Здесь добавлены методы, без которых не работает функционал игры. Что за нафиг! И если с GetFigureAt ещё можно было догадаться, то с этой валидацией ходов совершенно ничего не понятно.
@gregory.vovchok
@gregory.vovchok 4 жыл бұрын
Drag&Drop можно реализовать более элегантно с помощью встроенных в Unity интерфейсов IDragHandler, IEndDragHandler, IBeginDragHandler. Достаточно будет добавить следующий скрипт к каждой фигуре (работает для UI-обьектов и 2D-спрайтов): public class DraggableFigure : MonoBehaviour, IDragHandler, IEndDragHandler, IBeginDragHandler { public void OnBeginDrag(PointerEventData eventData) { DragAndDropController.Instance.StartDrag(this); // запоминаем фигуру которую перемещаем } public void OnEndDrag(PointerEventData eventData) { DragAndDropController.Instance.EndDrag(); // забываем фигуру которую переместили } public void OnDrag(PointerEventData eventData) { if (DragAndDropController.Instance.IsDragging()) // если сейчас перемещается фигура (в один момент времени - только одна фигура может перемещаться) { transform.position = Input.mousePosition; } } }
@ebaysher572
@ebaysher572 3 жыл бұрын
чел ты сделал все? у тебя есть исходники?
@gregory.vovchok
@gregory.vovchok 4 жыл бұрын
В Unity C# нельзя использовать конструкторы, т.к. они вызываются из другого потока (тогда как код скриптов - из основного потока) и причем вызываются несколько раз за сессию. Для инициализации обьектов MonoBehaviour нужно использовать методы Awake и Start.
@denisgrin1137
@denisgrin1137 6 жыл бұрын
случайно открыл видео и залип. Получил такой же кайф как при сборке лего
@ITVDN
@ITVDN 6 жыл бұрын
Благодарим за тёплые слова, оставайтесь с нами, а мы, в свою очередь, будем стараться радовать Вас интересными видео как можно чаще!
@АлексейСугоняк-г9н
@АлексейСугоняк-г9н 6 жыл бұрын
За вебинар получилось рабочее приложение на Unity. Это круто, правда я не все успел и на середине отпал, но потом доделаю по записи. Вери сенкью!
@НаркоКонтроль-к6л
@НаркоКонтроль-к6л 4 жыл бұрын
После 2:14:00 перестало получаться фигуры двигаются при нажатии но не прилипает к новой клетке...
@AnnaSizkovcka
@AnnaSizkovcka 6 жыл бұрын
Круто, познавательно, все повторила, ток ищу недочет черные пешки не могут никого сесть(((((((((((
@olgachuvasheva9178
@olgachuvasheva9178 5 жыл бұрын
та же проблема... может Вы уже нашли решение?
@jodjie9442
@jodjie9442 5 жыл бұрын
Привет, если вы не забросили шахматы, я написал подробное решение проблемы в комментах, где спрашивал Вася Копердас. У меня тоже фигуры не могли есть и ходить, и я исправил такой недочёт
@СергейКоваль-н7ж
@СергейКоваль-н7ж Жыл бұрын
Добрый день. На 29й строке string figure = chess.GetFigureAt(from).ToString(); Метод GetFigureAt, находящийся в классе Сhess принимает один параметр string xy, но на первом вебинаре писался только метод, принимающий 2 числа public char GetFigureAt(int x, int y). Я так понимаю перегрузка метода писалась уже после вебинара. Подскажите, пожалуйста, как его правильно реализовать?
@СергейКоваль-н7ж
@СергейКоваль-н7ж Жыл бұрын
Разобрался с проблемой. Если кому интересно, добавьте этот метод в класс Chess (в коде, написанном на первом видео) public char GetFigureAt(string xy) { Square square = new Square(xy); Figure f = board.GetFigureAt(square); return f == Figure.none ? '.' : (char)f; }
@JustPlayingBroGD
@JustPlayingBroGD 6 жыл бұрын
Ураааа )) Вторая часть )
@ВаняЦыпленков
@ВаняЦыпленков 5 жыл бұрын
Добрый день! Столкнулся с проблемой, что в классе Chess нет перегрузки для метода GetFigureAt(string key), который мы потом используем в Update (... string figure = chess.GetFigureAt(from).ToString();). Не подскажете, как реализовать данный метод?
@ШерзодХолматов-к4ч
@ШерзодХолматов-к4ч 5 жыл бұрын
У меня та же самая проблема кто-то смог ее решить?
@vasiliykoperdas7257
@vasiliykoperdas7257 5 жыл бұрын
@@ШерзодХолматов-к4ч такая же проблема(((
@LegendaryYurza
@LegendaryYurza 5 жыл бұрын
мы сделали так: string figure = chess.GetFigureAt((int)(dad.pickPosition.x / 2.0), (int)(dad.pickPosition.y / 2.0)).ToString(); ========================= удачи!
@glebiousi2882
@glebiousi2882 5 жыл бұрын
@@LegendaryYurza подскажите, пожалуйста. А 2.0 это размер клетки на шахматной доске? Там они 200 на 200 пикселей. Иными словами, если у меня клетки 112 на 112 px мне на 1.12 следует делить?
@LegendaryYurza
@LegendaryYurza 5 жыл бұрын
@@glebiousi2882 а что именно у вас не работает? не думаю что это связано с размерами клетки, это просто деление координаты на два, либо умножение на 0.5(что то такое я помню в коде). Но попробуйте разделить на 1.12, если не работает с делением на 2. так же не забудьте подогнать шахматную доску в правильные координаты в меню Inspector - Transform, проверяя координаты клеток на которые вы нажимаете через консоль - я с этим долго возился :D
@arhontcorp.1782
@arhontcorp.1782 3 жыл бұрын
Ошибка вылезла кто знает MissingMethodException: string[] string.Split(char,System.StringSplitOptions) ChessLibrary.Board.Init () (at :0) ChessLibrary.Board..ctor (System.String fen) (at :0) ChessLibrary.Chess..ctor (System.String fen) (at :0) Rules..ctor () (at Assets/Scripts/Rules.cs:14)
@darias1058
@darias1058 2 жыл бұрын
Здравствуйте, решили?
@katlummia6137
@katlummia6137 3 жыл бұрын
Не получается сделать захват фигуры после реализации Vector2 и Transform. До этого могла кликнуть на фигуру и выходило picked up, но после уже никак не выходит
@talisman1104
@talisman1104 Жыл бұрын
Что за секта чисел
@mail458
@mail458 5 жыл бұрын
Спасибо большое за видеокурс! А архива с изображениями фигур и доски и клеток нет ни у кого?
@LNLGv-ig8fb
@LNLGv-ig8fb 3 жыл бұрын
120
@ДмитрийО-щ9ф
@ДмитрийО-щ9ф 3 жыл бұрын
спасибо! Очень круто.
@ВладиславАфанасьев-ч2х
@ВладиславАфанасьев-ч2х 6 жыл бұрын
100
@JustPlayingBroGD
@JustPlayingBroGD 6 жыл бұрын
17:50 скриптом же веселее фигуры расставлять )) И точнее )
@visamway
@visamway 6 жыл бұрын
Потом по ходу дела будем скриптом расставлять.
@justth0r
@justth0r 6 жыл бұрын
согласен, но кому-то нравится собирать лего =)
@JustPlayingBroGD
@JustPlayingBroGD 6 жыл бұрын
Ivan Voronin, если нравится и проект делается для себя, для души - то на здоровье ))) Если для тиражирования, то лучше математикой расставлять, в сети порой встречаются интерфейсы (UI), где контролы чуть криво расставлены, это сильно портит впечатление, непрофессионально смотрится. Но если глаз - алмаз, то welcome ))
@justth0r
@justth0r 6 жыл бұрын
ну если посмотреть внимательно, то тут была расстановка на полуавтомате, так как прописывались координаты и смещение относительно размеров клеток, но бывает да, именно вручную, так сказать на глаз, дрожащими руками. В любом случае, расстановка при помощи алгоритма быстрее, что и будет реализовано далее. Всё познаётся в сравнении.
@visamway
@visamway 6 жыл бұрын
Василий, я уже написал расстановку полностью на автомате, полный курс опубликован на моем сайте: videosharp.info/video/chess3
@МаксимЛогинов-ъ6т
@МаксимЛогинов-ъ6т 5 жыл бұрын
Здравствуйте! Когда я нажимаю правой кнопкой мыши на Ссылки у меня не появляется "Add Reference" и я не могу добавить библиотеку с прошлого урока, подскажите как исправить это?
@РустамДахаев-ы9о
@РустамДахаев-ы9о 5 жыл бұрын
Здравствуйте, я столкнулся с аналогичной проблемой.. хотел бы узнать, вы смогли её решить..? и если да, то подскажите, как..
@st.algernon9814
@st.algernon9814 5 жыл бұрын
@@РустамДахаев-ы9о Вы должны создать папку Plugins внутри папки Assets и поместить вашу dll в папку Plugins. Unity должен автоматически добавлять ссылку на вашу библиотеку, если нет проблем с dll. После этого вы можете использовать свою библиотеку в своих сценариях.
@jodjie9442
@jodjie9442 5 жыл бұрын
Если вы еще не забросили шахматы, то просто нажмите на пустое место внутри кода скрипта, потом сверху нажмите на "Проект" и "добавить ссылку". Затем нажмите "обзор" и выберите .dll файл
@Lofibree
@Lofibree 5 ай бұрын
@@jodjie9442 Чел, ты лучший. Спасибо.
@vasiliykoperdas7257
@vasiliykoperdas7257 5 жыл бұрын
Привет . Ребят скомпилировал что на Android что на Windows, но почему то не хочет двигать фигури!!!! в чем проблема??? может кто знает
@glebiousi2882
@glebiousi2882 5 жыл бұрын
Удалось исправить ошибку?
@jodjie9442
@jodjie9442 5 жыл бұрын
Привет, я решил схожую с вами проблему. У меня тоже фигуры не двигались, и в Debug мои фигуры по y стояли на 1 клетку выше и они не могли ходить. В методе "GetSquare" есть строчка "return ((char)('a' + x)).ToString() + (y + 1).ToString();" Вместо этого попробуйте написать "return ((char)('a' + x)).ToString() + y.ToString();", т.е. уберите выражение "y + 1" и вместо неё напишите "y.ToString()". После этого, у меня фигуры ходят как положено.
@НаркоКонтроль-к6л
@НаркоКонтроль-к6л 4 жыл бұрын
+та же самая проблема делал всё в точности как на видео
@talisman1104
@talisman1104 Жыл бұрын
@@НаркоКонтроль-к6л автор использует другую библиотеку чем писал в прошлом видео
@clashofrost9787
@clashofrost9787 5 жыл бұрын
почему ссылка не работает?
@РустамДахаев-ы9о
@РустамДахаев-ы9о 5 жыл бұрын
нашли ли вы ответ на свой вопрос..? я столкнулся с аналогичной проблемой..
@visamway
@visamway 5 жыл бұрын
какая ссылка?
@КостяШиритон-з4э
@КостяШиритон-з4э 5 жыл бұрын
Как подключить .dll если нет add references?
@КостяШиритон-з4э
@КостяШиритон-з4э 5 жыл бұрын
1:11:50
@ШерзодХолматов-к4ч
@ШерзодХолматов-к4ч 5 жыл бұрын
С лева в верхнем углу есть меню проект нажми на нее и там будет добавить ссылку
@jodjie9442
@jodjie9442 5 жыл бұрын
Просто нажмите на пустое место внутри кода скрипта, потом сверху нажмите на "Проект" и "добавить ссылку". Затем нажмите "обзор" и выберите .dll файл
@ДмитрийГлазырин-м5ь
@ДмитрийГлазырин-м5ь 4 жыл бұрын
@@jodjie9442 спасибо большое)))
@stolentine
@stolentine 3 жыл бұрын
@@jodjie9442 мой же ты родной. От души
@sergeyp.a.8978
@sergeyp.a.8978 6 жыл бұрын
Евгений Витольдович, когда планируется часть 3 вебинара?
@ITVDN
@ITVDN 6 жыл бұрын
Здравствуйте, третья часть будет в конце марта, к сожалению, точной даты еще нет. Как только дата станет известна, появится анонс по ссылке- edu.cbsystematics.com/ru/education/webinars
@sergeyp.a.8978
@sergeyp.a.8978 6 жыл бұрын
ITVDN большое спасибо! Классный вебинар!
@visamway
@visamway 6 жыл бұрын
3 часть уже опубликована, 4 часть пройдёт сегодня в 19:00.
@РустамДахаев-ы9о
@РустамДахаев-ы9о 5 жыл бұрын
@@visamway помогите пожалуйста, я не один, кто столкнулся с этой проблемой. на 1 часу 13 минуты вы работаете со ссылками.. но у меня к сожалению нету такой и если вставляю как ссылку самостоятельно, то она не отображает слнку от первого вебинара...
@User-vo6ec
@User-vo6ec 5 жыл бұрын
@@visamway Помогите, пожалуйста! Столкнулся с ошибкой после 1:56:38. При запуске программы в Unity возникает ошибка: NullReferenceException: Object reference not set to an instance of an object ChessRules.FigureOnBoard (System.String cell, System.String figure, System.Int32 x, System.Int32 y) (at Assets/ChessRules.cs:59) ChessRules.PrintFigures () (at Assets/ChessRules.cs:40) ChessRules.Start () (at Assets/ChessRules.cs:20) На 20 строке в void Start() написано ShowFigures(); На 40 FigureOnBoard("box" + nr, figure, x, y); // размещаю фигуры в нужной координате. А на 59 строке - var spriteBox = goBox.GetComponent(); Не знаю, в чем может быть ошибка. Все делал как в вебинаре. До этого фигуры в консоли расставились нормально. Только при добавлении спрайтов ошибка возникла.
@EmGoldexTeam
@EmGoldexTeam 6 жыл бұрын
Забросили идею с 3й и 4й частью?
@ITVDN
@ITVDN 6 жыл бұрын
Здравствуйте, к сожалению, на данный момент мы не можем сообщить когда именно пройдут следующие вебинары из этого цикла, но они обязательно будут!
@visamway
@visamway 6 жыл бұрын
Ничего не забросили, всё по плану. 3 часть уже опубликована, 4 часть пройдёт сегодня в 19:00.
@romav6522
@romav6522 6 жыл бұрын
А можно ссылки на 3 и 4?
@visamway
@visamway 5 жыл бұрын
@@romav6522 очень легко гуглится и находится
@ru13z.com-zoriichuk
@ru13z.com-zoriichuk 5 жыл бұрын
@@visamway Здраствуйте я смотрю счас ети ваши вебинари все ок. (Жаль что мало хотелось би ищо побольше.) у меня такой вопрос. Програма мне видала переполнение ToString() и в итоге метод GetFigureAt(from) ругается на то что хочет получить 2 параметра х и y. Можете подсказать как ето решить?
@ru13z.com-zoriichuk
@ru13z.com-zoriichuk 5 жыл бұрын
Народ у кого нить есть функции YieldMyFiguresOnSquares() и YieldMyFiguresOnSquares(). Ато не работает он себе в своих курсах дописивает а сдесь уже нет в доступе и толку от вебинаров таких не много.
@ДильярБакиев-ю8о
@ДильярБакиев-ю8о 4 жыл бұрын
Здарова ты нашел эти функции?
Стойкость Фёдора поразила всех!
00:58
МИНУС БАЛЛ
Рет қаралды 3,5 МЛН
How do Cats Eat Watermelon? 🍉
00:21
One More
Рет қаралды 10 МЛН
Новый уровень твоей сосиски
00:33
Кушать Хочу
Рет қаралды 4,9 МЛН
🔊 Всё про звук в Unity3D [Tutorial]
21:31
Emerald Powder
Рет қаралды 98 М.
Космические гипотезы: Как возникло все?
3:51:04
Космическое путешествие
Рет қаралды 476 М.
LEARN UNITY - The Most BASIC TUTORIAL I'll Ever Make
2:04:31
Imphenzia
Рет қаралды 3,1 МЛН
ИГРА ШАХМАТЫ C# WINFORMS
35:39
Debrone Constant
Рет қаралды 32 М.
Геймдев - Дизайн Уровня в Photoshop. Game art by Artalasky
8:12
ARTALASKY CG - Как создать игру
Рет қаралды 42 М.
Стойкость Фёдора поразила всех!
00:58
МИНУС БАЛЛ
Рет қаралды 3,5 МЛН