DeniSS1, WS2_32.lib. Забыл написать. Вот за что не люблю мелкософт, так это за их политику наименования, трудно им видимо было интуитивно понятно назвать либу, как заголовочный файл.
[Ответ]
DeniSS1 21:19 17.02.2008
xxx-men, подожди. У меня появилась другая идея. Смотри.
struct Cheese // класс для всех фигур
{ Cheese()
{ // в этом конструкторе задаём начальные координаты всех шашек (для каждой разные, разумеется)};
bool color; // цвет шашки
int coordx; // её x-координата
int coordy; // аналогично
bool kill; // показывает, "съедена" ли шашка
};
В main() вставляем Cheese[24];
В display() вставляем такой кусок:
for(i=0;i<24;i++) // в этом цикле будет идти прорисовка всех 24 шашек
{ if(Cheese[i].kill == false) // рисуем, только если фигура не съедена
{ if{Cheese[i].color==true)
{ // рисуем белую шашку с координатами Cheese[i].coordx, Cheese[i].coordy }
else { //рисуем чёрную шашку точно так же }
}
}
Чуть позже напишу, как реализовывать с помощью этого класса перемещение шашек и ИИ. ИИ, наверное, будет функцией, использующей данные класса Cheese. Возможно, в нём и будет определена.
Насчёт возвращенимя функцией массива - вызываешь её в цикле и записываешь результат каждый раз в следущую ячейку массива.
[Ответ]
Snk 13:48 18.02.2008
Привед всем начинающим! Я, как и вы, увлекаюсь 3Д графикой самостоятельно с 3-его курса по сей день.
Освоил OpenGL(классический) правда только под Delphi 7. Сам делал примитивные 3Д приложения(и даже диплом забомбил в 3Д), но очень сильно хочу стать настоящим профессионалом. Самостоятельно пытаюсь перейти на Visual Studio, тк ясно понимаю что без него мне нечего делать в это сфере. По сравнению с делфёй здесь - тёмный лес.
Как же сложно всё делать самостоятельно! Я даже не могу представить на сколько бы выросла моя обучаемость, если бы были хоть какие-нибудь курсы. Это невозможно переоценить если предмет ведёт настоящий проф в 3D.
Почему в Воронеже нет таких курсов? Нас ведь не так уж и мало. DeniSS1, давай чел! В 14 лет я о таком и мечтать не мог.
[Ответ]
xxx-men 16:38 18.02.2008
Сообщение от DeniSS1:
У меня появилась другая идея
ну и? 24 обьекта типа "шашка"....
а какой смысл хранить их так?
а тогда не проще\удобнее\нагляднее хранить тупо в массиве 8х8?
а с массива не удобнее прорисовывать?
ну сам подумай......
вот сматри, как я раньше и писал:
положение фигур это последовательность ходов....
зная эту последовотельность тебе сложно будет заполнить твой массив(ну или 24 обьекта)?
[Ответ]
Gillbert 18:18 18.02.2008
Сорри, что вмешиваюсь, но что-то про "дамки" у вас ничего не упоминается... В случае struct Cheese тогда уж еще один bool по идее нужен (имхо bool color вообще не нужен, лучше сделать каждому цвету свой список, нафига их вперемешку держать? Хотя я могу ошибаться)... А если будет struct CheeseList - удобно ли каждый раз будет вычислять (как для AI, так и для вывода) - дамка это или нет? И как задавать начальные координаты шашки? Ходом 0,0-x,y?
P.S. Шашка по англ. draught, а cheese - это сыр... Значения это, конечно, не имеет, не примите как оскорбление...
[Ответ]
DeniSS1 18:35 18.02.2008
Gillbert, подправим. xxx-men, не вижу смысла в списке. Просто изменяя Cheese... сорри, спутал с шахматами да ещё и непрвильно написал, - Draught[i].coordx (или y) можно изменять ТЕКУЩЕЕ положение фигур. И хранить все промежуточные на нафиг не нужно! По-моему, гораздо легче, но, может, я пока немного не допёр до всей глубины твоей мысли?...
В общем, пока попробую так, по ходу дела увидим, кто был прав.
P.S. Хотя решений всегда много.
[Ответ]
Gillbert 18:38 18.02.2008
Ну я думаю, AI просто могут понадобиться предыдущие ходы и положение шашек. Если нет, то списком конечно смысла нет.
[Ответ]
DeniSS1 18:51 18.02.2008
Gillbert, вряд ли.
Сообщение от xxx-men:
есть какая либо комбинация фигур Х.
мы к ней приходим допустим на 14м ходу.
возможно ли притти к этой комбинации допустим на 17м ходу?
Сообщение от DeniSS1:
не знаю, но вряд ли, т.к. ходить назад нельзя
В крайнем случае можно будет потом переделать.
[Ответ]
xxx-men 19:07 18.02.2008
Сообщение от Gillbert:
Ну я думаю, AI просто могут понадобиться предыдущие ходы и положение шашек
правельно ты думаеш, все ходы храняца деревом(в оптимизации - графом), для навигации по дереву необходим список ходов
понятие дамки, белый\черный в случае с деревом вводить ваще ненадо.....
Сообщение от Gillbert:
Если нет, то списком конечно смысла нет.
а если нет, то как у тебя будет думать АИ? чисто перебором на N ходов вперед? DeniSS1, неужели сложно преобразовать список ходов в то что тебе надо?
Сообщение от Gillbert:
Значения это, конечно, не имеет, не примите как
оскорбление...
вот сук, абасрал
Сообщение от DeniSS1:
можно изменять ТЕКУЩЕЕ положение фигур
ды ёмаё, текущее положение фигур можно изменять в массиве:
int pole[8][8]
допустим
0= черная клетка
1= белая клетка
2= белая шашка
3= белая дамка
4= черная шашка
5= черная дамка
и потом двигай их куда хочеш...
[Ответ]
Сообщение от DeniSS1:
Вопрос с запрещением изменения размеров окна всё ещё актуален.
WNDCLASSEX oKHoHaX;//это есть класс окна
oKHoHaX.style=....... //курить мсдн в этом месте, у меня мсдн нету[Ответ]
Gillbert 15:26 21.02.2008
С гуями, как видно, пока проблемно - нету норм рисунка стола и спрайтов.
Поэтому дружбан вот нарисовал стол и шашки (спрайты). Там по 8 шашек каждого цвета, в зависимости от их положения (левее-правее) на доске, тень от них падает по-разному. А я накатал мааленькую прогу, просто тест, как это будет смотреться в самой игре. Шашки можно брать (щелкнуть мышкой) и ходить на любую пустую клетку. Больше ничего нельзя, ет просто тест Ну не обязательно конечно точно такой интерфейс делать, это прост для примера, мне кажеца красиво.
Прикрепил 2 архива - в одном спрайты, в другом - тест, как примерно это должно выглядеть.
P.S. Написано на дельфи, так что если что - вопросы не ко мне.. Я без понятия как писать на C++
Изображения
Вроде всё как надо, размер изменить нельзя, кнопка "развернуть" неактивна.
[Ответ]
DeniSS1 20:10 21.02.2008
Gillbert, спасибо.
Да, с гуями у меня проблемы... поэтому твою доску я в свои шашки вставлю, если ты не против.
[Ответ]
Gillbert 20:16 21.02.2008
Так я как раз для этого и скинул спрайты (их друг делал), и пример для этого сделал Шашки по-моему тоже ничего, почему бы не вставить? Если не нравяца, можно сделать по-другому... Просто пытаемся помочь чем можем, С++ всё равно не знам...
Дамки тож сделать можем... И анимацию "съедания" шашки, типа взрывчик мона сделать или типа того[Ответ]
Ужас какой. Попробуй покурить hge все таки. И проблем с GUI не будет и нормальные сырцы посмотришь (лучше все таки посмотреть как люди делают).
[Ответ]
Gillbert 23:55 25.02.2008
Как там дела-то у вас с шашками? Что-то никаких новостей не слышно...
Вот друг доделал спрайты, выкладываю все сразу (те что были + дамки и.. взрыв шашек).
Правда, со взрывом немного жесть вышла, почему-то так захотелось Сами увидите. Для полной наглядности (как это всё происходит в действии) выкладываю новую версию теста (там еще и звуков немножко из КС). В принципе, шашки в тесте ходят по правилам (в т.ч. дамки), только нет очередности и нет необходимости бить шашки... Ну, опять же, делать точно так же не обязательно, ет прост пример, я хз как оно там на С++ выглядеть будет. Удивлён такому "странному" ограничению в 500 кбайт... Переименовал в MP3, после скачивания mp3 переименуйте в zip !!! Изображения
Gillbert, спасибо, послезавтра выложу то, что есть из Гуя с применением этих спрайтов и консольный ИИ.
[Ответ]
Gillbert 21:37 26.02.2008
Кул, только нафига ИИ консольный если гуи уже есть (хоть какой-то)? Не проще ли сразу совмещать ИИ с гуями? Ну я, конечно, не знаю, может и нет, но как-то нагляднее все было бы...
[Ответ]
xxx-men 09:47 27.02.2008
Сообщение от Gillbert:
Не проще ли сразу совмещать ИИ с гуями?
не проще , и наверно потому что это пока совершенно разные программы
Gillbert, не, ждите до воскресенья. У меня пока времени нет, так что либо в воскресенье, либо (может быть) завтра.
[Ответ]
Nec 18:32 29.02.2008
Ну где же шашки , так хочется поиграть в шашки)))
[Ответ]
xxx-men 21:26 29.02.2008
народ, такая трабла, сидел типо писал код, типо ИИ, понаписал ппц целое сочинение, потом не подходил неделю,
щас читаю , там стока что сам не пойму что к чему чО делать?
по новой накатать проще ?
[Ответ]
The_God 21:38 29.02.2008
забить на программирование, не твоё это
писать надо понятно, не бывает такого кода который пишится один раз и больше в него никто никогда не заглядывает
[Ответ]
Yandex 21:38 29.02.2008
xxx-men, вот так опыту и набираешься. В следующий раз будешь думать как написать попроще и попонятнее [Ответ]