|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Здравствуйте, приспичило написать что то типа мини игры по движению в пространстве, с очками,случайно появляющимися. Пока что вроде написал только движение, и то, есть некоторые проблемы, которые я заметил, но пока не решил. Суть в том, что за последнее время я посмотрел несколько роликов о создании игр на c++, где движение, и даже в 3d пространстве умещается в 200 строках. Так вот,стоит ли мне продолжать писать на основе начатого или переписать? код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 10:40 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
fromHtoh, Переписать конечно. Код ужасен. Совет: каждый раз когда делаешь ctrl+c, ctrl+v бей себя током или я не знаю. Код: plaintext 1. 2. 3. 4.
Из этого сделать функцию, которая выводит в cout n пробелов. Код: plaintext 1. 2. 3. 4.
И это тоже надо завернуть куда-нибудь. Код: plaintext 1. 2.
Названия не говорят ни о чём. Даже в однострочной функции не всегда стоит использовать однобуквенную переменную. Код: plaintext 1.
Не кроссплатформенно, вызов внешнего приложения - это жирно, надо было оформить отдельной функцией. Всё работает через глобальные переменные, и это - ужасно. Код: plaintext 1. 2.
Это условие не нужно, backmovement вызывается только если point == 'a' Код: plaintext 1. 2. 3.
Это тоже не нужно. Писать для bool == true в условии тоже нужно. Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 12:08 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
fromHtoh, А сейчас учу плохому. Циклы, где счётчик не нужен можно писать не так: Код: plaintext 1.
а так: Код: plaintext 1.
или так, если надо на один проход меньше. Код: plaintext 1.
Естественно, не должно быть никакой возможности получить cnt <= 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 12:15 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
fromHtoh, Вообще делай в лучших традициях MVC отдельно управление, отдельно схему данных, отдельно отрисовку. Ну и ты перерисовываешь каждый раз всё заново, можно попытаться что-нибудь вымутить с вендовым терминалом, чтобы перерисовывать только то, что изменилось. Или посмотреть в сторону https://pdcurses.org/ ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 12:24 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Так вот,стоит ли мне продолжать писать на основе начатого или переписать? В топике не обозначена цель. Если цель - писать в 200 строк - то это одно. Написать игру - это другое. Написать и продать игру это вообще третье. А так... звучит вроде как "ребя я вот думаю мне развестись со старой женой и жениться или так побыть" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 12:42 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
mayton, Он нарывается на ревью кода, просто не знает, как это называется. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 12:54 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Я уже писал где-то что стыдно постить в С++ даже не прогнав CPP-check и бесплатный Sonar. Самое смешное что тривиальные дефекты 80% подсвечиваются уже на этой фазе. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 13:52 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Не по code-style а по смыслу. Код не тестабельный. Он представляет собой длинную колбасу state-full методов которые влияют на глобалные переменные. Если автор взял С++ то имеет смысл создать сущность Game, или GameLocation и ее запускать в разных экземплярах и разных условиях для создания условий тестирования. Все глобальные переменные - оформить как свойства класса для изоляции. Если автор вообще не хочет ООП - тогда имеет смысл писать просто в языке "C". Это просто откроет больше возможностей портирования на разное железо. Можно будет запускать на микро-контроллерах. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 14:13 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
mayton Если автор вообще не хочет ООП - тогда имеет смысл писать просто в языке "C". C++ сопровождать проще он не только для ООП ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 14:38 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Если автор вообще не хочет ООП - тогда имеет смысл писать просто в языке "C". C++ сопровождать проще он не только для ООП Ты специально зарегался чтоб это сказать? P.S. Ну кому проще а кому и трабл-шутить сложнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 21:07 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
mayton Я уже писал где-то что стыдно постить в С++ даже не прогнав CPP-check и бесплатный Sonar. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 23:30 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Попробуйте стандартный SonarQube и бесплатный плагин для c++. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2020, 09:21 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
mayton Алексей Роза пропущено... C++ сопровождать проще он не только для ООП Ты специально зарегался чтоб это сказать? P.S. Ну кому проще а кому и трабл-шутить сложнее. предлагаю продолжить здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 03:25 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Алексей Роза ...C++ сопровождать проще...он не только для ООП о блин... как мозх Ваш работает... прям задом наперёд... давайте с азов... 1) ООА и ООП - это единственная технология описывающая и позволяющая перейти от бизнес идеи к коду. 2) Анализ и Проектирование, о чём пишет (сокращение выше) это ДО выбора языка. 3) Правильно декомпозированная бизнес задача является статикой на всём протяжении жизни проекта. 4) На любом языке (в том числе и c++) можно изобразить такое, и достаточно компактно, что тяжело будет не только сапортить или переделывать но и тупо понять что хотелось изначально... 5) Можно писать и для микроконтроллеров и на азме в стиле ОО подхода. А можно на яве или там си бимоле в стиле азма... Второе - встречается практически в 99% проектах и фирмах... как то так (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 13:45 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
а ещё можно микроскопом гвозди забивать и на боенге возить собачек корги, но лучше тяжёлые психо-формы оставить соответствующим органам. Можно испоганить любое начинания, если ты не умеешь код организовывать. Зато вот если умеешь, то даже 1'000'000 строк кода тебя не убьют. kolobok0 1) ООА и ООП - это единственная технология описывающая и позволяющая перейти от бизнес идеи к коду. машину можно построить и на неймспейсах + функции но это и в C можно. а вот чего в C нельзя исписано 19 страниц по ссылке выше... вкраце: сопровождать проще C++, потому что множество удобных нововведений едут именно туда. в C синтаксис максимально простой, без излишеств. Кому-то и такое заходит... но там же даже нет защиты от nullptr! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 15:10 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Алексей Роза ... машину можно построить и на неймспейсах + функции но это и в C можно.... ышо раз... ОбъектноОриентированныйАнализ и ОбъектноОриентированноеПроектирование к языку никакого отношения не имеют . От слова совсем... (круглый) ЗЫ И это единственная технология описывает стэп бай стэп как перейти от бизнес задачи в жизни к математическому виртуальному миру программирования...в этом его сила ... А вот выбор языка вторичен. ЗЫ ЗЫ Да, не знаю как Вас ..а вот меня окружает 3D объектный мир по жизни если что... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 16:26 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Друзья. Как-же мы так в топике докатились до такого? Начиналось как code-review. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 16:35 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 16:39 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
kolobok0, демагогия вам не поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 18:07 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
mayton Друзья. Как-же мы так в топике докатились до такого? Начиналось как code-review. даже не знаю, что там ещё можно жевать... всё уже пережёвано 1000 раз ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 18:10 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
fromHtoh что то типа мини игры ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 13:14 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
CEMb fromHtoh что то типа мини игры Лучшие образцы игр 20-го века (Super-Mario, Mortal-Combat, Doom) были написаны вообще без ООП. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 13:19 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
mayton Лучшие образцы игр 20-го века (Super-Mario, Mortal-Combat, Doom) были написаны вообще без ООП. Ну вот сейчас, глядя на всё это с длинноты своих лет, на чём лучше писать игры? На С или на С++? Понятно, что на C++17, потому что он избавляет от множества работы и ошибок. Дальше будет ещё лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 13:32 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
CEMb mayton Лучшие образцы игр 20-го века (Super-Mario, Mortal-Combat, Doom) были написаны вообще без ООП. Ну вот сейчас, глядя на всё это с длинноты своих лет, на чём лучше писать игры? На С или на С++? Понятно, что на C++17, потому что он избавляет от множества работы и ошибок. Дальше будет ещё лучше. Почему-же С++ уже был тогда. Просто для мира игровых приставок и всяких Atari Commodore например портабельность была гораздо важнее чем некие удобства работы девелопера. А "C" можно было найти под любую кофеварку и пересобрать игру без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 13:43 |
|
Движение символа в ограниченном пространстве
|
|||
---|---|---|---|
#18+
CEMb fromHtoh что то типа мини игры не-а, DOD (Data-Oriented Design) в 6+ раз быстрее ООП (как раз в играх максимальный прирост из-за повторения практически одного и того же 60 раз в секунду) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 13:45 |
|
|
start [/forum/topic.php?fid=57&msg=39931659&tid=2017464]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 155ms |
0 / 0 |