|
|
|
wester |
|
||||||||||||
Опытный Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 1 Всего: 13 |
да-да,я помню) а не проще ли создать отдельный класс для сохранения статуса кораблей?
во внешний файл можно сохранить что угодно, даже состояние\оформление формы
1. в модуле формы позволяется ( ну по крайней мере считается хорошим тоном и большим удобством в дальнейшем) только вызывать методы из других классов, а не производить какие-то вычисления 2. а что такое стандартный модуль ? я пока вижу что в файле формы ~200 строк,строк которые вообще нужны только один раз , и подавляющие большинство из них это создание контролов-отрисовка, и реакция на действия юзера первое можно было убрать в отдельный класс, предварительно подумав над архитектурой(прочитай любую книгу о хорошем коде,о действительно хорошем , а не ужасе под названием киррилица) второе можно вынести в отдельный класс, куда передавать аргументы клика пользователя.
тогда читаем книги , причем много .авторов подсказать ?
ну создание goto уже стало началом конца... это тоже посоветовал автор учебника ??? это я отвлекся я уже говорил что можно было сделать игру по какому - то алгоритму ? хотя конечно смотреть на ряды goto почти в каждой 10 строке вселяет оптимизм смотрящему))
да,на мой взгляд сама идея сделать отдельную клетку было правильно, хотя конечно реализацию стоит пересмотреть. само собой все мои слова относятся к тому если будешь переделывать проект серьезно, а не какие то косметические улучшения. так как то что сейчас представляет сорцы даже не знаешь куда посылать код то ли на баш, то ли на gavnokod.ru то ли авторам книги "совершенный код" для того что бы они улыбнулись никаких обид, просто стоит писать сразу хорошо, даже если не хочется, это войдет в привычку , и дальше будет только легче |
||||||||||||
|
|||||||||||||
platon2009 |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.3.2010 Репутация: нет Всего: 1 |
Зачем????
??? Что такое по твоему класс?
По моему над нами и так уже все улыбаются, причем над обоими. Все равно, спасибо. Ты единственный, кто уделил мне минутку. Ты хороший программист, просто мне показалось по твоим замечаниям, что ты чего-то недосмотрел. Сложно вникать в чужую абракадабру, тем более с кириллицей, тем более бесплатно, т.е по доброте душевной. Еще раз спасибо за советы. Прощаюсь!!!! |
||||||||||
|
|||||||||||
wester |
|
|||
Опытный Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: 1 Всего: 13 |
=)
я все еще на сленге с# разговариваю, сlass - это просто определение своего типа данных http://msdn.microsoft.com/ru-ru/library/x9afc042.aspx
(: было приятно поговорить, пиши еще программы, обсудим. |
|||
|
||||
qwert8734 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.3.2010 Репутация: нет Всего: нет |
Делайте сетевую версию, сам когда-то писал нечто подобное, со связью по компортам для зачета по программированию. Нет ничего лучше, чем играть с другим человеком вместо компа, да и самокопание в сетевом коде значительно повысит ваш класс, как разработчика.
А так- бесят MessageBoxы в большом количестве, не везде сообщения понятны с первого раза, в результате логика игры сразу не совсем понятна. Очень много copy-paste. Надо бы вычистить это дело в процедуры с параметрами (палубность корабля, начальные координаты и т.д.). Опять же GUI- программа расчитана только на одно разрешение, в результате кнопка размера окна в заголовке и таскание бордера дают неприглядный результат. По идее надо или подстраиваться под любое разрешение, масштабируя картинку, или сделать игру размерами с калькулятор - это же маленькая развлекалка, она и должна иметь соответствующее оформление и габариты. |
|||
|
||||
platon2009 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.3.2010 Репутация: нет Всего: 1 |
qwert8734, спасибо за внимание и критику.
Честно говоря, не было цели уделять внимание "дружественному интерфейсу". Программу писала для самореализации, хотела суметь заставить компьютер грамотно "играть", т. е. стрелять в нужное место. На это затрачены все силы слабого интеллекта. Исправить несложно, нужно уделить время. copy-paste - да, это неправильно, любая копия - это отдельная процедура. В процессе об этом думала, а мозг был на грани взрыва, в некоторых моментах не смогла себя заставить думать еще и над параметрами.
Дело в том, что я - самоучка. Для сетевых версий нужны дополнительные знания, у меня их пока нет. Подскажите направление, литературу. Буду признательна. |
|||
|
||||
qwert8734 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.3.2010 Репутация: нет Всего: нет |
Логику игры со временем добить все равно можно, если ставить такую цель и активно долбить в этом направлении. Вопрос- нужно ли? Есть более интересные задачи.
Писать красиво и очень структурно на Васике тоже конечно можно, но лучше тогда перейти на Паскаль и со временем научиться писать GUI на Delphi. Или уйти на C/C++ с возможным переходом потом на c#, кому уж что нравится. По крайней мере любой из них приучает к дисциплине, если руки конечно откуда надо растут. С сокетами и VB можно кое-что накопать, набрав эти слова в гугле, там много чего интересного выходит. Может кто посоветеует из фанатов VB толковые книжки, через меня все проходило только ориентированным на Си. Апишные вызова можно перетащиь на VB, но это как раз вопрос к гуглу PS чёй-то я не помню, чтобы нас в институте учили программировать под сокеты или писать драйвера, так что все из нас самоучки в какой-то области Это сообщение отредактировал(а) qwert8734 - 3.4.2010, 11:50 |
|||
|
||||
platon2009 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.3.2010 Репутация: нет Всего: 1 |
Спасибо, qwert8734.
|
|||
|
||||
Pilger |
|
|||
Опытный Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Это не VB, а VB.NET (разница гигантская) и тут принцип точно такой же, как и в C#. Это такой же объектно ориентированный язык с теми же библиотеками. platon2009, игра функционирует нормально (удобство другой разговор) и компьютер действует продуманно. Что касается структуры, то тут, конечно, есть над чем поработать (в сл. проектах). Вам придется в любом случае еще подучить некоторые вещи, а пока код очень неудобен и непонятен (чем больше код похож на кашу, тем труднее понять. Никаких GoTo определенно быть не должно). Вам необходимо знать, какие доступны возможности, понять весь принцип. По коду видно, что Вы многие возможности классов и объектов, которые предоставляет VB.NET просто не знаете(а может пользоваться не привыкли) и соответственно не используете и из за этого усложняете себе весь процесс, как и код. Но так начинают все. Важно сперва понять доступные инструменты и тогда вы сможете более грамотно писать код. Пока можно сказать, что всё успешно реализовано и все работает, но есть куда стремиться . -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
platon2009 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.3.2010 Репутация: нет Всего: 1 |
Pilger, огромное спасибо за участие.
Возможно это связано с кириллицей и длинными названиями?. GoTo - это ужасно, согласна. Использовала для разнообразия, тем более - это самое незначительное место программы, на процесс никак не влияет, только проверяет - честно ли ответил игрок.
Возможно я неправильно поступила, создав класс-поле, а не класс-корабль? Может стоило реализовать оба класса? Что конкретно я не использую? Учебник я прочитала от корки до корки, все помню и все понимаю. Помогите несколькими фразами, если это возможно. После вашего сообщения повисла в пространстве - куда идти? |
||||
|
|||||
Pilger |
|
|||
Опытный Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Это связано и не только с кириллицей. Не давайте кнопкам и прочим контролам на форме такие имена, как "НоваяИгра", "УдалениеКораблей", "горизонтальный" и прочее. Впереди контрола должно присутствовать обозначение. Например если это кнопка, то btn, если label, то lbl. Например btnNewGame. Должно быть больше классов, которые взаимодействуют друг с другом. Это могут быть как поле, так и корабль и часть корабля и даже игроки или информация по игре т.д., которые содержат друг друга. Не кидайте всё в одну большую кучу. Взаимодействие классов должно выглядеть понятно (сверху вниз). Даже отдельные участки кода стоит писать понятнее. Модули лучше убрать. Перед тем, как кодить, не стоит сразу садиться и начинать. Сперва продумайте структуру. Не пытайтесь что то тут изменить, но MessageBox'ы все таки уберите . Попробуйте теперь что нибудь новое с чистого листа. Это сообщение отредактировал(а) Pilger - 4.4.2010, 22:41 -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
platon2009 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.3.2010 Репутация: нет Всего: 1 |
Спасибо, Pilger. Ваше сообщение одно из самых полезных для меня. Теоретически это все верно.
Знаю, что больше времени нужно составлять план на бумаге, потом садиться за компьютер. Пыталась, но не получается пока. Более простые задания так и выполняла. Здесь же - сначала села и проверила одну мысль, за нее зацепилась другая, потом не смогла остановиться - так и пошло. Все думала - вернусь и все переделаю. Но когда игра заработала как надо - оставила все как есть. Нужен огромный опыт, чтобы составлять полноценный план для таких программ. Нужно работать, работать и работать и побольше примеров. Беда в том, что нет наставника. С названиями - да - полная беда. Я потом это поняла, но было поздно. Еще раз спасибо Вам за участие. Это сообщение отредактировал(а) platon2009 - 8.4.2010, 07:55 |
|||
|
||||
Partizan |
|
|||
Let's do some .NET Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
гг ))) Встречал немало проектов, которые разрабатывались "профессионалами" по такому же принципу -------------------- СУВ, Partizan. |
|||
|
||||
platon2009 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.3.2010 Репутация: нет Всего: 1 |
Стоит возгордиться или нет? Почему-то это приятно, не смотря на слово в кавычках.
|
|||
|
||||
Partizan |
|
|||
Let's do some .NET Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
platon2009, это неправильный подход к разработке...тем не менее он встречается довольно часто...ибо программисты - народ ленивый...
-------------------- СУВ, Partizan. |
|||
|
||||
azesmcar |
|
|||
uploading... Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: нет Всего: 211 |
Сын спрашивает отца-программиста:
- Папа, а почему солнце встает на востоке? - Ты это проверял? - Да - Работает? - Да - Каждый день работает? - Да - Тогда сынок, ради бога, ничего не трогай, ничего не меняй! народная программистская мудрость platon2009 у меня что-то не так..во всяком случае мне так кажется |
|||
|
||||
Правила форума "Тестирование программ" | |
|
Правила должны соблюдаться всеми без исключения.
Для тех, кто создаёт темы: В данном разделе запрещается размещать программы, которые в той или иной степени могут принести вред потенциальному тестеру программы (например, трояны, вирусы и т.д.)
Для тех, кто тестирует: Описывая результаты тестирования программы, указывайте тип и версию ОС, а также характеристики компьютера и прочую информацию, которая может повлиять на работоспособность. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.Anderson. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разное тестирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |