Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Морской бой с компьютером. Оцените работу новичка 
V
    Опции темы
wester
Дата 18.3.2010, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 1
Всего: 13



Цитата

Если тебе не хватает встроенных типов, ты создаешь свой собственный и с успехом им пользуешся.

да-да,я помню)

а не проще ли создать отдельный класс для сохранения статуса кораблей?
Цитата

Я говорю про оформление формы,

во внешний файл можно сохранить что угодно, даже состояние\оформление формы
Цитата

Где ты собираешься "хранить логику", если в модуле формы "хранить" нельзя, а что такое стандартный модуль - ты не знаешь?

1. в модуле формы позволяется ( ну по крайней мере считается хорошим тоном и большим удобством в дальнейшем) только вызывать методы из других классов, а не производить какие-то вычисления
2. а что такое стандартный модуль ? я пока вижу что в файле формы ~200 строк,строк которые вообще нужны только один раз , и подавляющие большинство из них это создание контролов-отрисовка, и реакция на действия юзера
первое можно было убрать в отдельный класс, предварительно подумав над архитектурой(прочитай любую книгу о хорошем коде,о действительно хорошем , а не ужасе под названием киррилица)
второе можно вынести в отдельный класс, куда передавать аргументы клика пользователя.

Цитата

Все это не то, и не стоит таких долгих обсуждений. 

тогда читаем книги , причем много .авторов подсказать ?
Цитата


Меня волнует сама игра. Все ли учтено для непредсказуемости игры компьютера?

ну создание goto уже стало началом конца... 
это тоже посоветовал автор учебника ??? это я отвлекся
я уже говорил что можно было сделать игру по какому - то алгоритму ?
хотя конечно смотреть на ряды goto почти в каждой 10 строке вселяет оптимизм смотрящему))

Цитата

Правильно ли я поступила, сделав классом отдельную клетку игрового поля, а не корабль?

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

само собой все мои слова относятся к тому если будешь переделывать проект серьезно, а не какие то косметические улучшения.
так как то что сейчас представляет сорцы даже не знаешь куда посылать код
то ли на баш, то ли на gavnokod.ru то ли авторам книги "совершенный код" для того что бы они улыбнулись
никаких обид, просто стоит писать сразу хорошо, даже если не хочется, это войдет в привычку , и дальше будет только легче


PM MAIL   Вверх
platon2009
Дата 19.3.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.3.2010

Репутация: нет
Всего: 1



Цитата

во внешний файл можно сохранить что угодно, даже состояние\оформление формы

 Зачем????

Цитата

а не проще ли создать отдельный класс для сохранения статуса кораблей?


Цитата

и реакция на действия юзера
первое можно было убрать в отдельный класс


Цитата

второе можно вынести в отдельный класс, куда передавать аргументы клика пользователя.


??? Что такое по твоему класс?


Цитата

авторам книги "совершенный код" для того что бы они улыбнулись


По моему над нами и так уже все улыбаются, причем над обоими.
Все равно, спасибо. Ты единственный, кто уделил мне минутку. Ты хороший программист, просто мне показалось по твоим замечаниям, что ты чего-то недосмотрел. Сложно вникать в чужую абракадабру,  тем более с кириллицей, тем более бесплатно, т.е по доброте душевной.  Еще раз спасибо за советы. Прощаюсь!!!!







PM MAIL   Вверх
wester
Дата 19.3.2010, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 1
Всего: 13



=)
я все еще на сленге с# разговариваю,
сlass - это просто определение своего типа данных http://msdn.microsoft.com/ru-ru/library/x9afc042.aspx
Цитата

Еще раз спасибо за советы. Прощаюсь!!!!

(: было приятно поговорить, пиши еще программы, обсудим.
PM MAIL   Вверх
qwert8734
Дата 29.3.2010, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2010

Репутация: нет
Всего: нет



Делайте сетевую версию, сам когда-то писал нечто подобное, со связью по компортам для зачета по программированию. Нет ничего лучше, чем играть с другим человеком вместо компа, да и самокопание в сетевом коде значительно повысит ваш класс, как разработчика.
А так- бесят MessageBoxы в большом количестве, не везде сообщения понятны с первого раза, в результате логика игры сразу не совсем понятна.
Очень много copy-paste. Надо бы вычистить это дело в процедуры с параметрами (палубность корабля, начальные координаты и т.д.).
Опять же GUI- программа расчитана только на одно разрешение, в результате кнопка размера окна в заголовке и таскание бордера дают неприглядный результат. По идее надо или подстраиваться под любое разрешение, масштабируя картинку, или сделать игру размерами с калькулятор - это же маленькая развлекалка, она и должна иметь соответствующее оформление и габариты.
PM MAIL WWW   Вверх
platon2009
Дата 2.4.2010, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.3.2010

Репутация: нет
Всего: 1



qwert8734, спасибо за внимание и критику. 

Честно говоря, не было цели уделять внимание "дружественному интерфейсу". Программу писала для самореализации, хотела суметь заставить компьютер грамотно "играть", т. е. стрелять в нужное место. На это затрачены все силы слабого интеллекта. Исправить несложно, нужно уделить время.

copy-paste - да, это неправильно, любая копия - это отдельная процедура. В процессе об этом думала, а мозг был на грани взрыва, в некоторых моментах не смогла себя заставить думать еще и над параметрами. 

Цитата

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


Дело в том, что я  - самоучка. Для сетевых версий нужны дополнительные знания, у меня их пока нет. Подскажите направление, литературу. Буду признательна.
PM MAIL   Вверх
qwert8734
Дата 3.4.2010, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2010

Репутация: нет
Всего: нет



Логику игры со временем добить все равно можно, если ставить такую цель и активно долбить в этом направлении. Вопрос- нужно ли? Есть более интересные задачи.
Писать красиво и очень структурно на Васике тоже конечно можно, но лучше тогда перейти на Паскаль и со временем научиться писать GUI на Delphi. Или уйти на C/C++ с возможным переходом потом на c#, кому уж что нравится. По крайней мере любой из них приучает к дисциплине, если руки конечно откуда надо растут.

С сокетами и VB можно кое-что накопать, набрав эти слова в гугле, там много чего интересного выходит. Может кто посоветеует из фанатов VB толковые книжки, через меня все проходило только ориентированным на Си. Апишные вызова можно перетащиь на VB, но это как раз вопрос к гуглу


PS чёй-то я не помню, чтобы нас в институте учили программировать под сокеты или писать драйвера, так что все из нас самоучки в какой-то области

Это сообщение отредактировал(а) qwert8734 - 3.4.2010, 11:50
PM MAIL WWW   Вверх
platon2009
Дата 3.4.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.3.2010

Репутация: нет
Всего: 1



 Спасибо, qwert8734.
PM MAIL   Вверх
Pilger
Дата 3.4.2010, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Цитата

С сокетами и VB можно кое-что накопать, набрав эти слова в гугле, там много чего интересного выходит. Может кто посоветеует из фанатов VB толковые книжки, через меня все проходило только ориентированным на Си.


Это не VB, а VB.NET (разница гигантская) и тут принцип точно такой же, как и в C#. Это такой же объектно ориентированный язык с теми же библиотеками.

platon2009, игра функционирует нормально (удобство другой разговор) и компьютер действует продуманно. Что касается структуры, то тут, конечно, есть над чем поработать (в сл. проектах). 
Вам придется в любом случае еще подучить некоторые вещи, а пока код очень неудобен и непонятен (чем больше код похож на кашу, тем труднее понять. Никаких GoTo определенно быть не должно). Вам необходимо знать, какие доступны возможности, понять весь принцип. По коду видно, что Вы многие возможности классов и объектов, которые предоставляет VB.NET просто не знаете(а может пользоваться не привыкли) и соответственно не используете и из за этого усложняете себе весь процесс, как и код. Но так начинают все. Важно сперва понять доступные инструменты и тогда вы сможете более грамотно писать код.
Пока можно сказать, что всё успешно реализовано и все работает, но есть куда стремиться  smile.


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
platon2009
Дата 4.4.2010, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.3.2010

Репутация: нет
Всего: 1



Pilger, огромное спасибо за участие.

Цитата

код очень неудобен и непонятен (чем больше код похож на кашу, тем труднее понять. Никаких GoTo определенно быть не должно). 


Возможно это связано с кириллицей и длинными названиями?. 
GoTo  - это ужасно, согласна. Использовала для разнообразия, тем более - это самое незначительное место программы, на процесс никак не влияет, только проверяет - честно ли ответил игрок.

Цитата

По коду видно, что Вы многие возможности классов и объектов, которые предоставляет VB.NET просто не знаете(а может пользоваться не привыкли) и соответственно не используете и из за этого усложняете себе весь процесс, как и код


Возможно я неправильно поступила, создав класс-поле, а не класс-корабль? Может стоило реализовать оба класса? Что конкретно я не использую? Учебник я прочитала от корки до корки, все помню и все понимаю. Помогите несколькими фразами, если это возможно. После вашего сообщения повисла в пространстве - куда идти? 
PM MAIL   Вверх
Pilger
Дата 4.4.2010, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Цитата

Возможно это связано с кириллицей и длинными названиями?. 


Это связано и не только с кириллицей.
Не давайте кнопкам и прочим контролам на форме такие имена, как "НоваяИгра", "УдалениеКораблей", "горизонтальный" и прочее. Впереди контрола должно присутствовать обозначение. Например если это кнопка, то btn, если label, то lbl. Например btnNewGame.
Должно быть больше классов, которые взаимодействуют друг с другом. Это могут быть как поле, так и корабль и часть корабля и даже игроки или информация по игре т.д., которые содержат друг друга. Не кидайте всё в одну большую кучу. Взаимодействие классов должно выглядеть понятно (сверху вниз). Даже отдельные участки кода стоит писать понятнее. Модули лучше убрать.

Перед тем, как кодить, не стоит сразу садиться и начинать. Сперва продумайте структуру. Не пытайтесь что то тут изменить, но MessageBox'ы все таки уберите  smile . Попробуйте теперь что нибудь новое с чистого листа.

Это сообщение отредактировал(а) Pilger - 4.4.2010, 22:41


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
platon2009
Дата 8.4.2010, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.3.2010

Репутация: нет
Всего: 1



Спасибо, Pilger. Ваше сообщение одно из самых полезных для меня. Теоретически это все верно. 
Знаю, что больше времени нужно составлять план на бумаге, потом садиться за компьютер. Пыталась, но не получается пока. Более простые задания так и выполняла. Здесь же - сначала села и проверила одну мысль, за нее зацепилась другая, потом не смогла остановиться - так и пошло. Все думала - вернусь и все переделаю. Но когда игра заработала как надо - оставила все как есть. Нужен огромный опыт, чтобы составлять полноценный план для таких программ. Нужно работать, работать и работать и побольше примеров. Беда в том, что нет наставника. С названиями - да - полная беда. Я потом это поняла, но было поздно. Еще раз спасибо Вам за участие.

Это сообщение отредактировал(а) platon2009 - 8.4.2010, 07:55
PM MAIL   Вверх
Partizan
Дата 8.4.2010, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67



Цитата

Все думала - вернусь и все переделаю. Но когда игра заработала как надо - оставила все как есть


гг ))) Встречал немало проектов, которые разрабатывались "профессионалами" по такому же принципу smile


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
platon2009
Дата 12.4.2010, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.3.2010

Репутация: нет
Всего: 1



Стоит возгордиться или нет? Почему-то это приятно, не смотря на слово в кавычках.
PM MAIL   Вверх
Partizan
Дата 13.4.2010, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67



platon2009, это неправильный подход к разработке...тем не менее он встречается довольно часто...ибо программисты - народ ленивый...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
azesmcar
Дата 13.4.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: нет
Всего: 211



Сын спрашивает отца-программиста: 
- Папа, а почему солнце встает на востоке?
- Ты это проверял?
- Да
- Работает?
- Да
- Каждый день работает?
- Да
- Тогда сынок, ради бога, ничего не трогай, ничего не меняй!

народная программистская мудрость smile 

platon2009
у меня что-то не так..во всяком случае мне так кажется
user posted image
PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Тестирование программ"
mr.Anderson

Правила должны соблюдаться всеми без исключения.

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

Для тех, кто создаёт темы:

В данном разделе запрещается размещать программы, которые в той или иной степени могут принести вред потенциальному тестеру программы (например, трояны, вирусы и т.д.)

  • Публикуя ссылку на программу, обязательно проверьте её работоспособность.
  • ОБЯЗАТЕЛЬНО: напишите название программы, а главное - её описание и приведите хотя бы один скриншот. Скриншот по размерам не более 500х500 пикселов, для скриншотов большего размера приводите ссылки на них.
  • Программа, которую Вы даёте на тестирование, должна быть откомпилирована, так как не каждый является программистом, да и мало кто будет ради тестирования устанавливать соответствующий софт.

Для тех, кто тестирует:

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.Anderson.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разное тестирование | Следующая тема »


 




[ Время генерации скрипта: 0.1495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.