Вы очень круто выручаете новичков, спасибо вам за это.
@DebroneConstant4 жыл бұрын
Спасибо!)
@DebroneConstant4 жыл бұрын
Кстати, можно на ты) Мне всего 22))
@EoLienFive4 жыл бұрын
@@DebroneConstant Мне не принципиально какого ты роста, это уважение к личности. Но если человек не против с ним на ты то и я не против.
@DebroneConstant4 жыл бұрын
Спасибо))
@ИльяВладимиров-у2б2 жыл бұрын
Чем ближе к концу видео, тем больше автор не показывает того, что он меняет между склейками, видео можно воспринимать только в контекст "Смотри как я могу", повторить его нормально не возможно
@ferinatorm17110 ай бұрын
Ага, я сам делал тетрис без гайдов и инета. Получилось неплохо, но плохо. И сделал я всë без массивов, а через кучу switch и if (да, идея херня, но и так норм)
@spelproduction5861 Жыл бұрын
Есть проблема: когда фигура долетает до конца карты, при нажатии кнопки поворота вылетает ошибка в методе IsIntersects, что индекс находится вне границ массива
@tarmo90104 жыл бұрын
Как фанат алгоритмов, не мог не удержаться. Функция SliceMap просто ужасна в худшем случае O(n^4).Конечно пример чисто для новичков новичков, но все же, но если делать через Связанный список, то можно вообще изи за O(n) времени проверить линию. Тогда сама карта должна быть LinkedList< int[] > map .Но нужно потрудиться, немного. Тогда при удалении линии, и смещении объектов, вам не нужно там проверять в 4-ур. лесенке массивов, а просто пройтись по узлам foreach(int[] row in map) и просто удалить те узлы, которые заполнены, и сразу добавить 1 узел в конец.
@DebroneConstant4 жыл бұрын
Ну молодец)
@МарияИванова-п7ф2й4 жыл бұрын
Хороший совет, благодарю! А как можно реализовать функцию Merge на связанном списке?
@mikkimorfin54064 жыл бұрын
Красава👍👍👍,не знаю,как оно у тебя так получается. ты гений.Но у меня голова кругом от такой информации.
@Farely5 жыл бұрын
Блин, большое спасибо. Прям вовремя и то, что нужно
@DebroneConstant5 жыл бұрын
Спасибо за фидбек!
@ihor66175 жыл бұрын
У тебя есть код этого тетриса,?буду очень благодарен
@alexanderbozhko4 ай бұрын
@@DebroneConstantКакой шаблон будет для Windows Forms? .NET Framework или .NET Core?
@gymproduction61852 жыл бұрын
в функции ShowNextShape() в первом цикле ( for (int i = 0; i < currentShape.sizeNextMatrix; i++) ) выбивает что ( i < currentShape.sizeNextMatrix ) --System.NullReferenceException: "Object reference not set to an instance of an object."
@DebroneConstant2 жыл бұрын
Проверь так ли написана функция
@8i6axis152 жыл бұрын
Я скачал твой проект с гитхаба и там вылазит исключение. Типа когда фигуре не хватает места развернутся. Когда она уже внизу. Например вот эта палка большая когда находиться в горизонтальном положении и там до конца поля остается только 2 или 1 клетка пытаешься ее развернуть и вылазит исключение.
@-unique57142 жыл бұрын
кинь ссылочку на гитхаб плз
@DebroneConstant2 жыл бұрын
Под видео должна быть в описании
@-unique57142 жыл бұрын
@@DebroneConstant спасибо
@spelproduction5861 Жыл бұрын
Получилось исправить?
@okinavi20232 жыл бұрын
А есть специалисты, которые могут сделать на этом принципе создать программу автоматического экономичного раскроя материала за оплату?
@stijnvandenhurk47372 жыл бұрын
yes
@newak33462 жыл бұрын
8:50 зачем ты меняешь значения а потом их снова возвращаешь? И куда ты нажимаешь в правом верхнем углу
@DenisBalabko2 жыл бұрын
А вы только на с# работаете? Я вот пишу тетрис на с++ и не понятно как сделать, чтобы когда фигуры доходили до конца экрана, то они не накладывались друг на друга и не образовывался "светофор", а игра бы начиналась сначала или она останавливалась и на экране выходило конец игры. Вот с последним я разобрался и на экране появляется надпись при достижении фигур конца, но со светофором проблемы.
@DebroneConstant2 жыл бұрын
Как профилирующий язык у меня это swift Но плюсах писал когда то
@DebroneConstant4 жыл бұрын
ВНИМАТЕЛЬНО К ПРОЧТЕНИЮ! Если вдруг лезет ошибка о выходе за границы массива (в функции Merge) при запуске написанного кода до 9-11 минуты, то решение следующее: - добавляем вызов метода DrawMap(e.Graphics); после DrawGrid в событие OnPaint (я забыл указать в видео это) - в обозревателе решений: ПКМ на решениие - выбрать Пересобрать - в обозревателе решений : ПКМ на проект (находится непосредственно под решением, иконка c# в зеленой рамке) - выбрать Пересобрать Если при запуске появилась фигура и она двигается, то все норм (когда долетит до низа - вылетит ошибка в Merge, но это фиксится далее в видео). Если ошибка не исчезла, то пишите в телегу (в описании канала). Всем удачного кодинга (: По поводу написания лаб. работ, курсовых, других различных проектов или игр - пишите в телеграмм @debrone_constant. После выполнения объясню весь код и саму реализацию.
@prod_by_spearb3 жыл бұрын
Что делать, если фигура не появляется вообще? Посмотрела видео до 9 минуты раза три, но всё равно не понимаю в чём проблема
@DebroneConstant3 жыл бұрын
Читай закреп коммент!)
@mr_ell71514 жыл бұрын
Слушай, друг! Видео кончается на очистке карты, если фигуры уже на верху. Но на гите - проект с выбором игроков. Там есть класс мапконтроллер и туда перенемены некоторые функции. Там есть выбор игрока. Почему этого нет в видео? Подскажи, пожалуйста, где найти полное видео (твоё). Заранее спасибо!
@DebroneConstant4 жыл бұрын
Это я доработал немного, видео по этому нету, сори
@_-HANTREEZ-_ Жыл бұрын
что делать если фигуры касаясь стены останавливаются, а не летят в низ? (15-16 минута)
@raidtomb4044 жыл бұрын
Подскажите, как передвигать и поворачивать фигуры? Кнопки WASD, мышь и тд. не срабатывают. Если видео об этом говорилось - извините, упустила момент.
@DebroneConstant4 жыл бұрын
Передвижение с помощью стрелок Поворот вроде англ A Там в коде можно посмотреть на какую клавишу привязка идет
@raidtomb4044 жыл бұрын
@@DebroneConstant , сейчас с ребятами выяснили, что фигуры не передвигаются из-за кнопок "Начать" и "Пауза", которые вы добавили 12 дней назад на гитхаб. Если их полностью удалить из программы, то все работает.
@DebroneConstant4 жыл бұрын
Моя вина Исправлю
@DebroneConstant4 жыл бұрын
Обновил гит
@raidtomb4044 жыл бұрын
@@DebroneConstant спасибо!
@zomagord260 Жыл бұрын
Все до 9 норм . Как ты писал исправил и не работает всеравно фигура так и не падает
@matveytolpeev22703 жыл бұрын
Отличный тетрис, хорошо проработан всего за 40 минут видео.
@EoLienFive4 жыл бұрын
Скажите пожалуйста а вот например для консольного приложения. В функции DrawMap() можно ли использовать класс Graphics или же там что то другое? Или там какой не будь Point?
@DebroneConstant4 жыл бұрын
Для консольного по логике вещей graphics должен быть не доступен Так как предмета для отрисовки нет
@EoLienFive4 жыл бұрын
@@DebroneConstant то бишь логично было бы создавать свою функцию для отрисовки фигур и использовать console.foregraound ?
@DebroneConstant4 жыл бұрын
В консоли отрисовка такое себе, хотя ее можно сделать Так почему бы не использовать уже готовые инструменты отрисовки? Сразу делать какое нибудь не консольное приложение, а winforms или wpf?
@EoLienFive4 жыл бұрын
@@DebroneConstant это так чисто из интереса типа по другому
@yaldabeh89594 жыл бұрын
at 8:15 after write Drawmap method.where do you refrence Drawmap method???please answer
@DebroneConstant4 жыл бұрын
If you suddenly get an error about going beyond the boundaries of the array (in the Merge function) when running the written code before 9-11 minutes, then the solution is as follows: - add a call to the DrawMap (e.Graphics) method; after DrawGrid into the OnPaint event (I forgot to mention this in the video) - in the solution explorer: RMB to resolve - select Rebuild - in the solution explorer: RMB on the project (located directly under the solution, the c # icon in a green frame) - select Rebuild If a figure appears at startup and it moves, then all the rules (when it reaches the bottom - an error will fly out in Merge, but this is fixed later in the video). If the error persists, then write to the cart (in the channel description). Happy coding everyone (:
@namesurname80414 жыл бұрын
Ебать мощно, сочно, охуенно, жаль, что я тупой(
@Kkavabanga4 жыл бұрын
спасибо) попробую сделать мегатетрис))
@gymproduction61852 жыл бұрын
Подскажите что не так .... System.IndexOutOfRangeException: "Index was outside the bounds of the array." Ошибка в процедуре Merge();
@DebroneConstant2 жыл бұрын
Закреп под видео
@gymproduction61852 жыл бұрын
@@DebroneConstant в функции ShowNextShape() в первом цикле ( for (int i = 0; i < currentShape.sizeNextMatrix; i++) ) выбивает что ( i < currentShape.sizeNextMatrix ) --System.NullReferenceException: "Object reference not set to an instance of an object."
@МихайлоУльяніцький4 жыл бұрын
Дошел до 9 минуты всё работало, а после этого не хочет падать фигура почему так? Может быть с таймером что-то не так сделал или что
@DebroneConstant4 жыл бұрын
Может я где то накосячил или ты по не внимательности Чекни гит
@МихайлоУльяніцький4 жыл бұрын
@@DebroneConstant когда скачал с гита и хочу войти в код вибивает ошибка
@dalahan57744 жыл бұрын
Так в чём проблема была?
@DebroneConstant4 жыл бұрын
В закрепе попробуй вариант решения
@jukiju1185 жыл бұрын
Спасибо за видео! Один момент только глаз режет, как сделать так, чтобы shapemove для квадрата и палки был немного сдвинут, чем для других фигур, чтобы визуально так сильно в глаза не бросалось их не центральное появление на поле. Это вообще возможно сделать с таким подходом? Спасибо.
@DebroneConstant5 жыл бұрын
Ты имеешь ввиду момент когда появляется новая фигура?
@jukiju1185 жыл бұрын
@@DebroneConstant да
@DebroneConstant5 жыл бұрын
Чекай через свитч что за фигура будет сппвнится и двигай
@tulinkaynak4 жыл бұрын
What is the shape-changing key in the game? Thx
@MostovoyBogdan4 жыл бұрын
Подскажи, как можно добавить управление вращения фигур?
@DebroneConstant4 жыл бұрын
Так это же реализовано в видео)
@MostovoyBogdan4 жыл бұрын
@@DebroneConstant Можем пообщаться отдельно??? Помощь нужна, в программировании плохо шарю
@DebroneConstant4 жыл бұрын
Пиши в телегу
@destinkover82444 жыл бұрын
Какая версия вижуалки используется?
@DebroneConstant4 жыл бұрын
Вроде на тот момент 2017
@rancid524 жыл бұрын
При добавлении таймера, Ошибка CS0103 Имя "timer1" не существует в текущем контексте. Как это можно исправить, пишу в microsoft visual studio
@DebroneConstant4 жыл бұрын
А как добавляешь таймер?
@rancid524 жыл бұрын
@@DebroneConstant я новичок, просто прописываю, повторяя все за тем что происходит на видео. Но выдает именно такую ошибку, то есть даже в подсказках не выдает. В подсказках выдает тольк Timer
@DebroneConstant4 жыл бұрын
Через конструктор форм добавил таймер?
@rancid524 жыл бұрын
@@DebroneConstant не, , попробую разобраться , как это делать?
@DebroneConstant4 жыл бұрын
Там откроется типо дизайнер формы и на форму можно добавить компоненты
@АлинаВерзилова-т4и3 жыл бұрын
Здраствуйте, можете подсказать с таблицей рекордов. У меня не работает таблица рекордов, и форма выводит lable3. В коде не могу разобраться что связывает таблицу рекордов c lable3.
@DebroneConstant3 жыл бұрын
Найти место где изменяется текст label3, от этого момента смотреть дальше
@АлинаВерзилова-т4и3 жыл бұрын
@@DebroneConstant это я уже нашла, спасибо, как я поняла они просто сохраняются в файл. А не подскажите как из этого файла их в Windows Forms поставить?
@DebroneConstant3 жыл бұрын
Насколько я помню, делал их вывод по кнопке А так просто читаете файл и получаете с него текст , потом просто парсить
@АлинаВерзилова-т4и3 жыл бұрын
@@DebroneConstant спасибо, разобралась
@durmaztekeli4 жыл бұрын
did you enable the doublebuffer
@DebroneConstant4 жыл бұрын
Yes
@The_movie_shorts2 жыл бұрын
Что делать если при запуске фигурка не падает, а просто стоит на месте(дошел до 12 минуты видео). К тому же, чтобы она появилась, нужно нажать либо стрелку влево, либо вправо. Закреп читал, не помогло, код тоже совпадает
@DebroneConstant2 жыл бұрын
Может таймер не запустил
@ТеховАслан2 жыл бұрын
Коментарии оставил бы в коде😫. Ну все равно заебись
@limegeeg4 жыл бұрын
Молодец!
@DebroneConstant4 жыл бұрын
Спасибо!
@kbeatz37894 жыл бұрын
как думаешь можно ли сделать игру тетрис для дипломки?
@DebroneConstant4 жыл бұрын
Наверное слишком просто для диплома
@kbeatz37894 жыл бұрын
@@DebroneConstant а какую игру ты посоветовал бы сделать на языке C# win forum для дипломки
@DebroneConstant4 жыл бұрын
На самом деле наверное я бы не стал на диплом юзать винформс Хотя это все зависит одобрит ли это науч руководитель и какие темы вообще Можно брать
@ВиталийВитал-ю2у Жыл бұрын
👍👍👍
@АвтомобильныйПрограммист2 жыл бұрын
Норм!
@Rosa_angela932 жыл бұрын
very good, thank you very much
@АлександрМариничев-з8к4 жыл бұрын
Привет друг поможешь сделать, что похожие на ии что бы тетрис сам играл, выручил бы очень. Спасибо!!
@theiwoqz84683 жыл бұрын
Привет. Сделал как все в закрепе. Фигура все равно не появляется. Что делать?
@DebroneConstant3 жыл бұрын
До конца дописали по видео?
@rock_of_you88654 жыл бұрын
Спасибо!!!
@mr_ell71514 жыл бұрын
Я дошёл до 9-той минуты, всё норм былою А потом: во первых фигура не падает, а во вторых выдаёт ошибку в Merge() - "Исключение не обработано. Индекс находился вне границ массива." Буду рад, если поможешь.
@DebroneConstant4 жыл бұрын
Решение в закрепе
@gymproduction61852 жыл бұрын
Как-то решили ?
@mr_ell71512 жыл бұрын
@@gymproduction6185 написали же, решение в закрепе))
@The_movie_shorts2 жыл бұрын
@@mr_ell7151 Сделал всё как в закрепе, ошибка все равно не исчезла. Что делать?
@mr_ell71512 жыл бұрын
@@The_movie_shorts хз, я там что-то сделал, у меня все заработало. Я уже давно этим не занимаюсь, я по олимпиадному программированию.
@Mio-ev2iz4 жыл бұрын
Спасибо!
@aikhhhdon80984 жыл бұрын
Привет!) У меня почему то фигура не появляется на форме(
@RBDjole4 жыл бұрын
you should download the whole zip file, if you did then try to make step by step. Поздрав из Србије
@DebroneConstant4 жыл бұрын
Попробуй чекнуть версию с гитп
@kiriluschannel32884 жыл бұрын
Тебе бы стоило объяснять какая функция что значит и чтоона делает, а не:"Добавлю эту функцию, а потом добавлю эту". Еще и комментарии такие, будто накручено всё
@DebroneConstant4 жыл бұрын
Накрученно? Ахаха Смешно реально) Ну и если слушать нормально то каждую функцию объясняю ибо тогда от моего голоса толку 0
@kiriluschannel32884 жыл бұрын
Debrone Constant я просто туповат в этом. Ты их озвучтваешь, но не объясняешь, многие или некоторые
@DebroneConstant4 жыл бұрын
Я тебя услышал) Постараюсь делать акцент на объяснениях больше
@c0c01amb05 жыл бұрын
можно ссылочку на Git?
@c0c01amb05 жыл бұрын
А то у меня timer1 не хочет выставить
@DebroneConstant5 жыл бұрын
Добавил
@c0c01amb05 жыл бұрын
@@DebroneConstant спасибо )
@vasylsikoryn18875 жыл бұрын
9:35 "Index was outside the bounds of the array" как можна пофиксить, все перепробувал, у тебя такой проблеми не било?
@DebroneConstant5 жыл бұрын
Пример кода, который вызывает ошибку
@vasylsikoryn18875 жыл бұрын
@@DebroneConstant , public void Merge() { for(int i = currentShape.y; i < currentShape.y+ currentShape.sizeMatrix; i++) { for (int j = currentShape.x; j < currentShape.x+ currentShape.sizeMatrix; j++) { if(currentShape.matrix[i-currentShape.y, j-currentShape.x] !=0) map[i, j] = currentShape.matrix[i-currentShape.y, j-currentShape.x]; } } } в етом месте, map[i,j]
@umitaktas16685 жыл бұрын
I have got the same problem too.
@titoortiz41484 жыл бұрын
Не знаю, решил ты это, но напишу. Я как раз на этом моменте сейчас. Проблема в массиве {0, 1, 0}, {0, 1, 1}, {0, 0, 1}, по сути самый первый столбец нолей тоже есть на экране, то есть у нас есть квадрат, 3*3, котроый ездит по экрану, единственное он не закрашивается в красный полностью, а только квадратики, которые эквивалентны позициям единичек. и при всех ресчетах берется размерность этого массива, где j[0] = 0 - незакрашенный квадрат. Для прощего понимания, если массив поменять на {1, 1, 0}, {0, 1, 1}, {0, 0, 1}, закрасится самый первый квадратик и тогда, когда новая фигура с закрашенным первым квадратом дойдёт к левому краю вплотную, ошибка не выскочет. Когда же используется первый вариант массива, мы нашу фигуру с незакрашенными элементами пытаемся выпереть за пределы поля, и в очередной раз, когда будет заново заполнятся наш массив map, индекс элемента станет -1. Может по видео дальше и будет этот баг у автора, буду смотреть, повторюсь, я на 10 минуте. В общем как то так. Добавлю от себя. Может Автор целенаправленно не все показывает что он далает, для того чтобы мы сами находили погрешности и сразу учились фиксить, но к 10 минуте уже было пару моментов не показано, или я был слишком не внимателен. Например написание строчки запуска таймера я просмотрел, или ее нет на видео. Пришлось думать что делать. Но в этом для себя я вижу только плюси, ведь программист большую часть своей работы фиксит баги, а не пишет код. П.С. автор решает эту проблему на 11:11
@mr_ell71514 жыл бұрын
@@titoortiz4148 Нет, проблема не в этом (у меня такая же). Но у меня ещё и фигура не появляется. Там в циклах for прога пытается сделать переменную размером в 17 или 9, а точнее 16 или 8, а так как массивы начинаются с 0, то, как я понял, 15 и 7 - предел. В этом ошибка. Но я не знаю как её решить.
@hixen40292 жыл бұрын
Спасибо, помог
@sensivitity_24313 жыл бұрын
Кто может кинуть код?
@D3m0n41k05 жыл бұрын
можешь отправить файл через яндекс диск ?
@ihor66175 жыл бұрын
+
@DebroneConstant5 жыл бұрын
На гите есть, ссылкп в описании
@D3m0n41k05 жыл бұрын
@@DebroneConstant блогадарю
@s0s1st3r24 жыл бұрын
У меня фигура стерает предыдущие
@DebroneConstant4 жыл бұрын
Это видимо мой косяк
@s0s1st3r24 жыл бұрын
@@DebroneConstant нет, это всё таки я прогледел
@ИльяВладимиров-у2б2 жыл бұрын
на 20 минуте ролика, когда уже убил на переписывание кода больше часа, все ломается и линии не стираются как это показано на 21:10 НЕ РЕКОММЕНДУЮ. Код переписан верно.
@ИльяВладимиров-у2б2 жыл бұрын
Возможно автор забыл указать где же вызывается только что написанная SliceMap
@DebroneConstant2 жыл бұрын
Много мне писали такие что кол написан верно , по итогу при личном осмотре кода находил ошибки Гитхаб проект в помощь ->
@ИльяВладимиров-у2б2 жыл бұрын
@@DebroneConstant Я доделал проект, код написан верно, только на поздних стадиях видео уже приходится самому додумываться куда и как вставлять только что написанный код, и самому исправлять ряд исключений. С моей стороны конечно немного нагло упрекать, потому что так или иначе видео мне помогло, хотя снять видео можно было качественнее, с меньшим количеством косяков.
@tokyo_solo2 жыл бұрын
не профессионально надо готовиться к записи видео, а не делать все находу меняя свой код, невозможно делать как на видео потому что автор сам все делает находу изза чего постоянно приходится переписывать код
@DebroneConstant2 жыл бұрын
Интересно, ты на работе также будешь возникать, если будут просить переписать какую нибудь реализацию? На все готовом легко учится, нужно выходить из зоны комфорта
@lava14943 жыл бұрын
9:13
@bibizyank4 Жыл бұрын
Ты копипастер, украл програму у студентов ПМО-21!!!! ОТПРАВЛЮ ЖАЛАБУ!!!!!
@roonneydew34063 жыл бұрын
У меня код аналогичен вашему но почему-то программа не обрабатывает вот эту строку в колайде if (currentShape.matrix[i - currentShape.y, j - currentShape.x] != 0) . Не могли бы вы подсказать почему?
@DebroneConstant3 жыл бұрын
Вы уверены все верно? Часто такое пишут, а по итогу есть отличия