Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 06.12.2008, 01:04   #1
Selebro
Пользователь
 
Аватар для Selebro
 
Регистрация: 18.10.2008
Сообщений: 31
Вопрос Игра Точки

Народ помогите пожалуйста разобраться чАвО от меня хочет препод (ответы типа:"изнасиловать" и прочее не принимаются! =) я и так знаю!)?
нам на ККР задали сделать игры мне досталось следующее:

Цитата:
Создать игру Точки. В начале игры перед игроками поле с 81
точками (9х9). Игроки соединяют по очереди по 2 точки палочками по
горизонтали или вертикали. Если получается замкнутый блок из точек, то
последнему игроку (замкнувшему блок) начисляется количество баллов,
равное количеству клеток, замкнутых в этом блоке. Далее этот же игрок
может сделать еще один ход. Цель игры: когда все поле будет заполнено
выигрывает тот, кто набрал большее количество баллов.

если кому не трудно,в painte для поля размером 5*5 нарисуйте че это из себя должно представлять,ну или на словах... а то тут как то двусмысленно все определено. например:
Цитата:
Игроки соединяют по очереди по 2 точки палочками по
горизонтали или вертикали.
это значит 1 игрок соединяет например 3 и 4 точку в верхнем ряду а 2ой типо должен 4 и еще какуюнть в радиусе 1 точки или на рандом?

дальше:если блок замкнулся,то можно ли внутри него начать еще или нет?

Цитата:
Далее этот же игрок
может сделать еще один ход.
опять же с какой позиции дожно начинаться соединение? с той на которой закончил или random?

и последнее:как лучше реализовать в 2х аспектах:
1)интерфейс (если не трудно набросок в пейнте)
2)алгоритм: через связанные списки или массив?


Отзовитесь пожалуйста!
Selebro вне форума
Старый 06.12.2008, 01:09   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Эх ленивые товарищи пошли нынче... Вот вам точки.
MaTBeu вне форума
Старый 06.12.2008, 01:18   #3
Selebro
Пользователь
 
Аватар для Selebro
 
Регистрация: 18.10.2008
Сообщений: 31
По умолчанию

=) а ларчик просто открывался! исчерпывающий ответ по заданию! спасибо!

но всеж таки интересно:
алгоритм: через связанные списки или массив?
или есть более эффективный метод?
Selebro вне форума
Старый 06.12.2008, 13:15   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Я бы сделал игровое поле, как массив. И каждый раз пробегал бы по всему массиву, в поисках точки. Если точку нашел, проверяешь все поля вокруг нее. Если там есть точки врага, значит точка окружена, и не может быть использована.
MaTBeu вне форума
Старый 07.12.2008, 16:45   #5
Selebro
Пользователь
 
Аватар для Selebro
 
Регистрация: 18.10.2008
Сообщений: 31
По умолчанию

спасибо, я в общем то так и хотел,значит если этот алгоритм и вы поддерживаете,то буду реализовывать. я думал как вариант через списки сделать: точка - как элемент списка, если список замыкается по адресам, значит получился контур,а дальше тупо интеграл. но кажись так тяжелее реализовать.
Selebro вне форума
Старый 07.12.2008, 18:04   #6
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Со списком тяжелее сделать потому, что чтобы замкнуть контур, нужно поставить точку еще и на то место, где она уже стоит (ну типа в конец). Поэтому прийдется делать на один ход больше для того, чтобы замкнуть контур.
MaTBeu вне форума
Старый 07.12.2008, 18:25   #7
Selebro
Пользователь
 
Аватар для Selebro
 
Регистрация: 18.10.2008
Сообщений: 31
По умолчанию

да,не поспоришь-факт
Selebro вне форума
Старый 08.12.2008, 03:03   #8
Selebro
Пользователь
 
Аватар для Selebro
 
Регистрация: 18.10.2008
Сообщений: 31
По умолчанию

Подскажите как на форме обработать курсор в visual studio(работаю с CLR(windows forms application) а не с MFC)

мне идея сама нужна: ведь игрок может не в любую координату на форме точки поставить, а только на пересечии линий! в общем нарыл игру,надо на подобии как там курсор сделать?!!! помогите срочняк,горит и пылает синем пламенем!




........


Знаю идея дикая но реализовал так =))) : panel на форме, в нем рисунок поля, в ручную 81 мини panel на каждом пересечении(путем группового копирования и вставки - это быстро), выделив все мини панельки(они как трафарет для точек будут менять цвет на красное или синее) сделал событие mouseclick на удивление создалось не 81 событие, а 1 =) на все панельки действует, тока теперь вот вопрос: как поймать конкретную панельку при этом? через указатель e ?

или лучше вот так клик обработать на форме:

Код:
private: System::Void panel2_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) 
		 {
		 }
(при этом я задал каждой панельки св-во что если курсор на ней,то он меняет значок со стрелочки на руку)теперь я хочу в обработке клика прописать,что : если св-во мыши ,значок,поменялся на руку, то запомнить в переменную System::Windows::Forms::Panel ^tempPanel; панельку на которой она находится! помогите составить такое условие!
Код:
private: System::Void panel2_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) 
		 {
                       if(){}
		 }
Вложения
Тип файла: rar Point.rar (301.4 Кб, 77 просмотров)

Последний раз редактировалось Selebro; 08.12.2008 в 04:22.
Selebro вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Принадлежность точки Forro Помощь студентам 4 26.05.2008 14:33
Отбражение чисел - точки, это точки, а не запятые, обозначающие дробную часть Дикий Помощь студентам 7 12.05.2008 17:57
Принадлежность точки UnFaithful Паскаль, Turbo Pascal, PascalABC.NET 1 08.01.2008 06:16
Точки в Chart yulia Компоненты Delphi 3 26.09.2007 22:22
Блокировка точки !! ***СкаЙ*** Помощь студентам 1 13.06.2007 14:14