DannyLihotin / Programming

0 stars 0 forks source link

Lab 1 notes #1

Open AntonC9018 opened 1 year ago

AntonC9018 commented 1 year ago

https://github.com/DannyLihotin/Programming/tree/5a3b788f8d80c76e43aa1cb485556d80fac26527/Pazaak/x64/Debug Выпили билд файлы из проекта. Используй файл .gitignore для этого и git rm --cached. Напиши мне на телегу или сюда, если сам не разберешься

AntonC9018 commented 1 year ago

Пока можешь следующий замечания не спешить исправлять, это просто заметки для будущего улучшения. Постепенно.

https://github.com/DannyLihotin/Programming/blob/5a3b788f8d80c76e43aa1cb485556d80fac26527/Pazaak/Pazaak/Pazaak.cpp#L6 Почему 10? Это просто arbitrary или это какой-то концепт из игры. В любой случае, определи константу, типа const int arbitraryMaxRandomNumber = 10, или комментом пропиши, что эта 10 ничего важного не обозначает. Иначе не понятно почему именно 10.

https://github.com/DannyLihotin/Programming/blob/5a3b788f8d80c76e43aa1cb485556d80fac26527/Pazaak/Pazaak/Pazaak.cpp#L5 Название функции предполагает points как концепт из игры? Потому что сходу когда видишь слово points, думается о точке как позиция в мире например. Наверное лучше points как таковой переименовать в score, или типа того. Хотя может быть это стандартное наименование этой идеи именно в контексте этой игры, которое реально имеет смысл? Может быть scoreIncrease? Ну я возможно придираюсь здесь. Просто как идея пускай будет, можешь не менять в приципе.

https://github.com/DannyLihotin/Programming/blob/5a3b788f8d80c76e43aa1cb485556d80fac26527/Pazaak/Pazaak/Pazaak.cpp#L20C32-L33 Заметь, ниже повторяется тот же код, просто вместо 1 идет 0. Это отличный юз кейс для массива и цикла, или хотя бы кандидат для рефакторинга вытаскивания функции.

https://github.com/DannyLihotin/Programming/blob/5a3b788f8d80c76e43aa1cb485556d80fac26527/Pazaak/Pazaak/Pazaak.cpp#L64 Почему >=? Если равно, первый выигрывает? Что-то не то.

https://github.com/DannyLihotin/Programming/blob/5a3b788f8d80c76e43aa1cb485556d80fac26527/Pazaak/Pazaak/Pazaak.cpp#L67 Последняя проверка не нужна вроде? Или откомменти ее, я так иногда делаю, или лучше пропиши после

else {
    assert(false);
}

чтобы узнать сразу что произошла логическая ошибка (игра без результата). Так как есть, если что-то не так с проверками, у тебя программа по тихому завершится, что неверно. Какой-то результат должен быть всегда.

AntonC9018 commented 1 year ago

Ну игра тот же блакжек по всему виду, просто полный рандом, вместо общей колоды. Скучновато по моему, можешь добавить механик. С исходником я не знаком, возможно есть уже идеи в планах, не знаю.

AntonC9018 commented 1 year ago

А, ну в описании есть о том, что есть рука с картами. Допишешь потом уже, как немного опыта на парах наберешься. Если добавить пару механик было бы интересно. Похоже на вот это идейно