|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 6
|
|
Прошу проанализировать код на грамотность (или безграмотность) его написания11.04.2017, 23:21. Показов 2394. Ответов 22
Метки нет (Все метки)
Нахожусь на стадии изучения как самих основ программирования, так и С++ в частности. Все на самообучении, потому и обращаюсь к Вам за помощью, за советом и наставление.
Собственно вопрос: Есть код самодельной программы, на которой просто отрабатывал базовые функции и элементы программирования. Программа у меня выполняет именно то, что я в нее и закладывал. Но чувствую, что исполнено все через одно место и можно ее оформить более грамотно. Потому очень прошу адекватных советов о том, что где и как исправить и с описанием почему лучше делать именно так, а не как выполнил это я. Суть программы: игра, по аналогии с игрой головоломкой, известной под названиями "куб", "ящики", "трактор".
0
|
|
| 11.04.2017, 23:21 | |
|
Ответы с готовыми решениями:
22
Грамотность написания Баг или моя безграмотность? для новичков. Совершенный код: грамотность |
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 12.04.2017, 12:06 | |
|
Выкладывайте код на форум, а не набор txt файлов.
0
|
|
|
Неэпический
|
||||||
| 12.04.2017, 12:24 | ||||||
|
MrGluck, GbaLog-, этот код не влезит в форумное сообщение.
![]() shkirikus, по одному только
0
|
||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 12.04.2017, 13:21 | ||
|
shkirikus, Попробуйте своими словами сказать, что вы пытались выяснить в условии, приведенном в посте 4. Как я понимаю, есть 2 массива BoxPlace[6][6] и EndPlace[6][6]. Ну и что должно выполняться? Я пытался понять условие из приведенного кода, но мне это не удалось, видимо, не хватает усидчивости. Да и спать захотелось уже на первой строчке.
2
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 12.04.2017, 13:50 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 6
|
||||||
| 12.04.2017, 20:32 [ТС] | ||||||
|
Байт, С радостью соизволю. В краце: игра в консоли. суть: игрок перемещает коробки по карте, и задача расставить их на определенные места. карта представляет собой двумерный массив. Условие, представленное в сообщении от Croessmah №4, является одним из условий проверки, расставлены ли все коробки на позиции. Т.е. мне не важно, чтобы для коробок было определена своя позиция.
а именно: BoxPlace[i][j] - данный массив отслеживает положение коробок. где i - отвечает за номер коробки, а j - за обозначение оси ( "0" - по оси Х, а "1" по оси У) EndPlace[i][j] - это уже координаты мест, куда надо поставить коробку. так же в зависимости от количества коробок на уровне и меняются выбор по какому IF проверять. полный код функции на проверку положения коробок выглядит следующим образом:
П.С. Увеличение количества коробок на карте, приведет к огромному увеличению размера кода и проверок. А как написать, чтобы можно было спокойно увеличивать количество коробок на карте не сильно разувая код - пока не додумался.
0
|
||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|||||||
| 12.04.2017, 20:47 | |||||||
Коробки что, ставятся вне поля, по его краям? Каковы условия допустимости расстановки? Немножко подробнее можно о сути игры? (только не слишком подробно) И своими словами - что вы проверяете? Возможно, говорить надо не об условии из поста 4, а обо всей функции test. Только без кодов. Коды ваши мы уже видели. Просто на русском языке...
0
|
|||||||
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 6
|
|||||||||||
| 12.04.2017, 20:48 [ТС] | |||||||||||
|
Так же большое смущение у меня вызывает вопрос по данному участку кода, которые отвечает за действие после нажатия клавиши вверх (аналогичен и при нажатии в других направлениях):
проверяет следующую клетку за игроком первое if - если после игрока пустота или позиция под коробку, то просто переместиться на нее, сменив координаты игрока; второе if - если после игрока коробка, то уже проверят что за коробкой: если пустота или место под коробку по переместить туда коробку, сменив ее координаты, а на место коробки поставить игрока, так же поменяв его координаты. в иных условиях ничего не предпринимать. и данный усчасток отслеживает какая именно коробка стоит за игроком, и следовательно какой коробке надо менять координаты:
0
|
|||||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 12.04.2017, 20:53 | |
|
shkirikus, Не, ничего не понял. Возможно, к вечеру голова уже не варит. Или ваша задача так дьявольски сложна...
1
|
|
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 6
|
||||||
| 12.04.2017, 20:55 [ТС] | ||||||
|
Байт, Массив поля [10][10]. и он стасичен.
0
|
||||||
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 6
|
|
| 12.04.2017, 20:57 [ТС] | |
|
Croessmah, да! именно о ней речь =)
0
|
|
|
Неэпический
|
|
| 12.04.2017, 21:05 | |
|
shkirikus, тоже хотел реализовать, но руки не дошли.
Видимо, нужно было всё-таки на ногах идти. ![]() Как вариант - второй массив, в котором указано как должны располагаться коробки в итоге, т.е. нечто подобное: 0 0 0 0 0при движении проверяем, где находятся коробки. Если они все стоят там, где во втором массиве единички, то значит они все на своих местах, иначе продолжаем. ![]() Но это будет не особо эффективная реализация, однако, даже на больших (для человека) полях, разница будет врядли заметна.
1
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 12.04.2017, 21:10 | ||
|
1
|
||
|
Комп_Оратор)
|
||
| 12.04.2017, 21:19 | ||
|
shkirikus,
0
|
||
|
0 / 0 / 0
Регистрация: 11.04.2017
Сообщений: 6
|
|
| 12.04.2017, 21:28 [ТС] | |
|
IGPIGP, я так понял вы говорите уже об объектно ориентированно программировании? если так, то я до него только вот подрастаю. толь знакомлюсь и осваиваю
Байт, не знал про такое, спасибо за наводку, ознакомлюсь. Croessmah, т.е. вы предлагаете не отдельно хранить координаты каждого поля, а создать целековую карту как должны стоять коробки? надо будет прикинуть и попробовать. Спасибо =)
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 12.04.2017, 21:34 | ||
0
|
||
| 12.04.2017, 21:34 | |
|
Помогаю со студенческими работами здесь
20
Проверить код на корректность и грамотность реализации поставленной задачи Как получить исходный код *.exe или отредактировать его исполняемый код? Прошу пинка для написания программы Прошу проверить и предложить другие варианты написания программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|