| 
			| 
					
						| гайка 
								Гость
 | 
								|  | «  : 07-06-2012 13:02 »  |  | 
 
 таки курсач по ООП    кто найдет багу, тот молодец! P.S.: Инсталятор, уж простите, убогонький. P.P.S.: Приложение под винду. |  
						| 
								| 
 |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #1 : 07-06-2012 13:31 »  |  | 
 
 Эм... А не боишься, что студенты скоммуниздят? Надеюсь, там в About прописаны твои ФИО и прочая идентификация. |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #2 : 07-06-2012 13:33 »  |  | 
 
 Боюсь. поэтому исходного кода там нету   если вдруг кому нужен код - я в личку могу его кинуть |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #3 : 07-06-2012 13:47 »  |  | 
 
 Долго искал хоть что-нибудь после инсталляции. В главном меню не нашел, в Program Files\... не нашел. Потом оказалось, что инсталлятор любезно присобачил мне файлы в корень диска E:. OS Windows 7 Pro 32 SP 1.Добавлено через 2 минуты и 43 секунды: таки курсач по ООП    кто найдет багу, тот молодец!Я уже молодец: Подробная информация об использовании оперативной (JIT) отладки вместо данного диалогового
 окна содержится в конце этого сообщения.
 
 ************** Текст исключения **************
 System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
 в Tetris.Painter.DrawFigure(Graphics g, Figure figure, Size cellSize)
 в Tetris.Form1.panel2_Paint(Object sender, PaintEventArgs e)
 в System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
 в System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
 в System.Windows.Forms.Control.WmPaint(Message& m)
 в System.Windows.Forms.Control.WndProc(Message& m)
 в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
 в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
 в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
 в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
 
 ************** Загруженные сборки **************
 mscorlib
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
 CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
 ----------------------------------------
 Tetris
 Версия сборки: 1.0.0.0
 Версия Win32: 1.0.0.0
 CodeBase: file:///E:/Tetris.exe
 ----------------------------------------
 System.Windows.Forms
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 built by: RTMRel
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
 ----------------------------------------
 System.Drawing
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 built by: RTMRel
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
 ----------------------------------------
 System
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 built by: RTMRel
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
 ----------------------------------------
 System.Configuration
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
 ----------------------------------------
 System.Xml
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 built by: RTMRel
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
 ----------------------------------------
 mscorlib.resources
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 (RTMRel.030319-0100)
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
 ----------------------------------------
 System.Windows.Forms.resources
 Версия сборки: 4.0.0.0
 Версия Win32: 4.0.30319.1 built by: RTMRel
 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
 ----------------------------------------
 
 ************** Оперативная отладка (JIT) **************
 Для подключения оперативной (JIT) отладки файл .config данного
 приложения или компьютера (machine.config) должен иметь
 значение jitDebugging, установленное в секции system.windows.forms.
 Приложение также должно быть скомпилировано с включенной
 отладкой.
 
 Например:
 
 <configuration>
 <system.windows.forms jitDebugging="true" />
 </configuration>
 
 При включенной отладке JIT любое необрабатываемое исключение
 пересылается отладчику JIT, зарегистрированному на данном компьютере,
 вместо того чтобы обрабатываться данным диалоговым окном.
 |  
						| 
								|  |  
								| « Последнее редактирование: 07-06-2012 13:50 от Dale » |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #4 : 07-06-2012 13:52 »  |  | 
 
 там вообще-то на рабочем столе ярлык появляется после установки, да и в самом начале вроде бы спрашивается желаемый путь установки, разве нет?я извиняюсь, не умею я инсталяторы делать...
 
 Добавлено через 3 минуты и 39 секунд:
 расскажи, что это за отладчик такой?
 |  
						| 
								|  |  
								| « Последнее редактирование: 07-06-2012 13:56 от гайка » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #5 : 07-06-2012 14:50 »  |  | 
 
 Внешне выглядит достойно. Внутрь, наверно, лучше не смотреть   |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| v2 
								Помогающий    Offline | 
								|  | « Ответ #6 : 07-06-2012 14:55 »  |  | 
 
 Вариант инсталлятора "только для меня" требует админ прав, что не хорошо. > там вообще-то на рабочем столе ярлык появляется после установки не знаю, кто в ЬЫ придумал такие ярлыки, но я их очень не уважаю. (возможно для создания этого ярлычка админа и попросило?, так как путь установки был доступен юзверю) “Бизнес логика” – логична и симпатична   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #7 : 07-06-2012 15:02 »  |  | 
 
 Dimka,  ну вот неужели ты обо мне такого нехорошего мнения?   Да я на этот проект потратила лучшие 4 дня своей жизни!    |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #8 : 07-06-2012 16:01 »  |  | 
 
 Гайка, у меня предвзятое мнение о способностях студентов осваивать ООП    Лишь 1 из 100 студентов меня приятно удивляет. Причём достойный внешний вид программы слабо коррелирует с достойным design решения внутри программы. И всё потому, что тетрис прекрасно пишется и без ООП, следовательно, факт работы программы не свидетельствует о знании предмета. |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #9 : 08-06-2012 05:16 »  |  | 
 
 там вообще-то на рабочем столе ярлык появляется после установки Да, я его нашел в итоге. Но вообще ярлыки - не комильфо, их можно использовать в качестве вспомогательного средства запуска программ, но не основного (и уж тем более не единственно возможного). Очистил рабочий стол - и никаких следов приложения не осталось. да и в самом начале вроде бы спрашивается желаемый путь установки, разве нет? Верно, спрашивается, но чисто риторически, скорее из вежливости, чем для дела. Вроде вопроса-приветствия "как дела?", на который не ожидается содержательного ответа. Путь установки предложили совершенно приемлемый, в папке Program Files; только вот после инсталляции ничего там не оказалось. В результате пришлось запустить поиск tetris.exe, каковой был найден в корне диска E: я извиняюсь, не умею я инсталяторы делать... Это не бином Ньютона, дело наживное. В MSDN полно информации на эту тему. расскажи, что это за отладчик такой? Штатный системный отладчик, который можно подключить практически к любому процессу. Вот только реальная польза от него лишь в случае, если приложение скомпоновано с отладочной информации. Впрочем, в сообщении об этом явно сказано: ************** Оперативная отладка (JIT) **************Для подключения оперативной (JIT) отладки файл .config данного приложения или компьютера (machine.config) должен иметь значение jitDebugging, установленное в секции system.windows.forms. Приложение также должно быть скомпилировано с включенной отладкой.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| resource 
								Молодой специалист    Offline 
								Пол:    | 
								|  | « Ответ #10 : 08-06-2012 08:04 »  |  | 
 
 Боюсь. поэтому исходного кода там нету  Это ты зря так думаешь. IL-код нормально декомпилится. Сорец получается один к одному    |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #11 :  08-06-2012 08:29 »   |  | 
 
 Это ты зря так думаешь. IL-код нормально декомпилится. Сорец получается один к одному   тот, кто сможет с этим справиться, вероятно сможет и самостоятельно написать программу. Я просто не хочу, чтоб моей работой пользовались халявщики, которые просто берут код, печатают и сдают преподавателю.Добавлено через 4 минуты и 10 секунд: Это не бином Ньютона, дело наживное. В MSDN полно информации на эту тему.
 да, согласна. я почитала там кое-что, но объем информации довольно большой, а мне нужно было быстренько сделать так, чтобы экзешник мог запускаться без проекта vs, вот я и сделала некий набросок инсталятора, который если надо устанавливает нет фреймворк 4 и... да и всё, в общем-то |  
						| 
								|  |  
								| « Последнее редактирование: 08-06-2012 08:33 от гайка » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #12 : 08-06-2012 10:30 »  |  | 
 
 В таком случае лично я бы предпочел обойтись вовсе без инсталлятора, просто скопировал бы файлы вручную. По крайней мере, точно знал бы, где они находятся. Тем более что в реестр вроде как изменения все равно не вносились (по крайней мере, я на это очень надеюсь; хотя после сюрприза с E: я уже не столь уверен). |  
						| 
								|  |  
								|  |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #13 : 08-06-2012 10:40 »  |  | 
 
 я тоже надеюсь    ладно, есть желающие поругать меня и покритиковать мою безалаберность в написании кода? конечно, переделывать то, что работает, я уже вряд ли буду, но вот услышать конструктивную критику хотелось бы. перефразируя знаменитую фразу, "нам критика строить и жить помогает"   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #14 : 08-06-2012 11:07 »  |  | 
 
 Гайка, есть простой, удобный , функциональный инсталлятор InnoSetup. Раньше он был freeware, не знаю как сейчас. На его освоение достаточно максимум час времени. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #15 : 08-06-2012 11:17 »  |  | 
 
 zubr,  спасибо, это то что надо   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Dale | 
								|  | « Ответ #16 : 08-06-2012 21:57 »  |  | 
 
 есть желающие поругать меня и покритиковать мою безалаберность в написании кода? С какой целью? Чему-то научиться? В таком случае осмелюсь предложить совет человека, который в свою бытность студентом открыл его для себя эмпирически, а затем неоднократно убеждался в его действенности на практике. Не следует выставлять код на всеобщее обсуждение - получите в ответ столько взаимоисключающих мнений, что усомнитесь даже в том, что доселе казалось незыблемым. Как известно, в поле каждый суслик - агроном. Аналогично каждый эникейщик мнит себя как минимум Дейкстрой в сочетании с Песталоцци в одном лице. Куда конструктивнее выбрать себе авторитет и следовать его советам. Если жизнь покажет, что авторитет оказался дутым, - что ж, и так бывает; тогда его следует заменить более подходящим. Но на референдумах подобные вопросы не решаются в любом случае. Разумеется, это всего лишь мое IMHO, хоть и неоднократно проверенное на практике. Решать все равно вам. |  
						| 
								|  |  
								|  |  Записан | 
 
 Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
 Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
 
 Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #17 : 09-06-2012 03:56 »  |  | 
 
 Поддерживаю. Критиковать код должен только руководитель: на обучении, на производстве или в голове. Но с нами можно обсуждать алгоритмы и решения.   |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| гайка 
								Гость
 | 
								|  | « Ответ #18 : 09-06-2012 09:42 »  |  | 
 
 Да как скажете    я и так убедилась в том, что код не так уж страшен, т.к. за пол часа смогла расширить свой тетрис до пентатриса (все фигурки по 5 клеточек), с соответствующим увеличением поля => проект достаточно гибкий, а это для меня один из самых важных параметров. И да, после этого я себя почувствовала Наполеоном Бонапартом    |  
						| 
								|  |  
								| « Последнее редактирование: 09-06-2012 10:22 от Гайка » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Finch 
								СпокойныйАдминистратор    Offline 
								Пол:    
								Пролетал мимо
								
								
								
								
								
							 | 
								|  | « Ответ #19 : 09-06-2012 10:02 »  |  | 
 
 Таксс , пожайлуста не устраивай блицкрик на Россию. Одного Ватерлоо достаточно. |  
						| 
								|  |  
								| « Последнее редактирование: 09-06-2012 10:07 от Finch » |  Записан | 
 
 Не будите спашяго дракона.              Джаффар (Коша) |  |  | 
	|  |