Большой Воронежский Форум
Страница 5 из 13
< 12345 67891011 > Последняя »
» Программирование>Создание игры!!!(кто хочет помочь все сюда!!!)
Gillbert 22:05 05.02.2008

Сообщение от DeniSS1:
Послезавтра ждите альфа-версию без ИИ

Щас послезавтра уже кончается... [Ответ]
Gillbert 01:54 10.02.2008

Сообщение от DeniSS1:
Послезавтра ждите альфа-версию без ИИ.

Дык чо, всё? Всё опять как обычно, потухло?.. Не хочется верить в то, что как всегда всё умерло, вроде уже решили что и как делать, и задача казалась, вроде бы, разрешимой.. Ну почему всегда вот так получается [Ответ]
The_God 14:37 10.02.2008
потомучто игры делать это не леденцы сосать
[Ответ]
Gillbert 14:49 10.02.2008
Ну, когда речь идёт о каких-нить РПГ или типа того (когда человек, судя по всему, вообще не осознаёт ЧТО для этого нужно и как пишуца такие проги) - это одно, посмеялись и успокоились. А когда задача приняла вполне конкретный и разрешимый характер - тут уже есть над чем подумать... [Ответ]
DeniSS1 20:22 12.02.2008
Долго искал, куда сохранил. Нашёл через поиск, когда написал вместо "шашки" "ifirb". :-) Вопрос: как всё-таки сменить фоновый цвет, или, что ещё лучше наложить фоновую (на весь размер окна) текстуру? [Ответ]
Santeros 21:00 12.02.2008
Когда появится в магазинах? [Ответ]
DeniSS1 16:08 13.02.2008
Santeros, уже появилось, беги искать, а то опаздаешь! [Ответ]
DeniSS1 17:13 13.02.2008
А вот и альфа-версия!
Очень альфа...
Изображения
[Ответ]
DeniSS1 19:34 13.02.2008
kolega, ща всё будет! Будет даже возможность выбора поверхности стола!
Небольшой вопрос: как нарисовать обычный плоский круг?
[Ответ]
DeniSS1 18:10 14.02.2008
Всё, разобрался. Вот вам с задрипанными шашечками.
Кстати, координаты шашек задаются не константами, а переменными в двух массивах (Х и Y), которые могут изменяться по ходу игры.
P.S. Имеется недокументированная возможность - программа реагирует на нажатие клавишы "Q" при английской раскладке.
Изображения
[Ответ]
Kerish 21:04 14.02.2008
А сдвигание стола в нижний-левый угол при изменении размера окна - это баг или фишка такая? [Ответ]
Gillbert 21:51 14.02.2008
Это фишка - при "отодвигании" доски взору предстаёт настоящая шахматная доска А это как бы крышка всего лишь... [Ответ]
DeniSS1 17:42 15.02.2008
Кто знает, как запретить возможность изменения размера окна? [Ответ]
DeniSS1 15:43 16.02.2008
А вот и бета! Присутствуют элементы интерактивности.
Назревает вопрос с искусственным интелектом. Люди, попробуйте написать функцию, принимающую два массива - х и у - с координатами шашек и возвращающую координаты шашки, которую нужно передвинуть и координаты клетки, на которую передвинуть.
Изображения
[Ответ]
The_God 17:45 16.02.2008
вот как раз в этой функции и заключается игра в шашки, а всё кроме этой функции это GUI игры

надо начинать не с самого просто - гуя, а с самого ключевого, в чем игра и будет заключаться, в данном случае как раз с этой функции, а потестить её работу можно и на текстовом консольном вводе-выводе
[Ответ]
Gillbert 19:07 16.02.2008
Всё-таки чуточку не согласен... Гуй (в подобных играх) бывает не всегда простой (не в данном случае, пока что), и тестить все фишки гуя (анимация, и т.д.) бывает иногда сложно по ходу игры... А тестить "ключевые", так сказать, алгоритмы на гуе всё же удобнее
Но, перед написанием игры, конечно, нужно хотя бы примерно продумать все моменты, которые будут встречаться.

З.Ы. как вариант, сделай сетевую игру (как я уже выше предлагал). И думать над AI не надо (если только готовый исходник не найти), и для многих будет интересно, с компом рубица щас как-то уже не прикольно... А в сетевую я б с дружбанами порубился
[Ответ]
xxx-men 19:23 16.02.2008

Сообщение от DeniSS1:
Люди, попробуйте написать функцию, принимающую два массива - х и у - с координатами шашек и возвращающую координаты шашки, которую нужно передвинуть и координаты клетки, на которую передвинуть.

эту функцию напиши сам, выбор хода = рандом из возможных ходов и все, пока больше чем достаточно..

теперь дальше
хачу сделать аи,(ну загорелось мне непобедимые шашки накатать)

давай договоримся так:
1) int move[4] - означает шахматный\шашечный ход например (0,3,1,4), вполне понятно откуда и куда ходить
2) мне не нравица твой подход с массивами, с ним сложнее работать
положение фигур на доске(партию) можно хранить списком ходов
struct moves{int move[4]; moves* nextm;};
кто то сделал ход ,+1 элемент...
зная первый элемент списка можно заполнить твой массив необходимый(?) для рисования шахматного поля


зы: критический баг бета версии , у игрока в начале партии 12 шашек, а у тебя пачимута 8 [Ответ]
xxx-men 19:27 16.02.2008

Сообщение от Gillbert:
А тестить "ключевые", так сказать, алгоритмы на гуе всё же удобнее

хех, учу.....
появляеца консоль и просит от тебя ход, ты пишеш: е2 х е4
она тебе выдает свой ход a7 x a8 и спрашивает ход от тебя
и т.д...
при этом у тебя на столе лежит доска с шахматами и ты их двигаеш как пишет консоль....вот и весь гуй [Ответ]
Gillbert 19:39 16.02.2008
Ды оно понятно, что на консоли тестить МОЖНО, я ж не спорю по этому поводу, просто почему бы не сделать сначала гуй и тестить уже всё-таки в более удобном варианте [Ответ]
DeniSS1 20:42 16.02.2008
xxx-men, Gillbert, The_God, спасибо всем! Начинаю написание консольной версии ИИ, также ищу литературу для передачи данных по сети (просьба указать, если кто знает) и попробую переработать прорисовку шашек с помощью списка. Чес-говоря, со списками у меня всё как-то не оттуда и не туда получалось, но пора повышать квалификацию!
Появился небольшой вопрос - что такое ->?
Не перестаю удивляться богатству синтаксиса С++...
[Ответ]
xxx-men 00:30 17.02.2008

Сообщение от DeniSS1:
Чес-говоря, со списками у меня всё как-то не оттуда и не туда получалось

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

теперь в реализации:
описали структуру(что такое структура см выше), в которой одна из переменных указатель(что такое указатель см выше) на следующую, точно такую же, структуру.

Сообщение от DeniSS1:
также ищу литературу для передачи данных по сети

нахрен ненада

Сообщение от DeniSS1:
Начинаю написание консольной версии ИИ

выбор хода ботом через рандом, пока вполне достаточно

Сообщение от DeniSS1:
переработать прорисовку шашек с помощью списка

маленкая поправка:
прорисовка шашек через массив(все как ты и делал раньше), а заполнение этого массива уже с помощью списка ходов [Ответ]
xxx-men 00:33 17.02.2008

Сообщение от DeniSS1:
что такое ->

очень удобная штука......... [Ответ]
Gillbert 00:44 17.02.2008
У всех разное мнение Кому нужна только сетевая игра (мне лично с компом рубица кажеца тупо), а кто-то наоборот против... Не мне, конечно, решать, тем более я помочь ничем особо не могу (С++ херово знаю, убиваюсь по дельфи), но конкретно мне б игра реально пригодилась, будь там сеть... [Ответ]
Pengvin 08:09 17.02.2008

Сообщение от DeniSS1:
ищу литературу для передачи данных по сети

я думаю и пары статеек с примерами хватит. ищи примеры использования WinSockAPI. мсдн если есть почитай по этой теме.

Сообщение от DeniSS1:
Появился небольшой вопрос - что такое ->?

то же самое, что и ".", но для указателей.

глянул мсдн, там порядочно все описано, для твоих целей я думаю хватит. приложил два примера оттуда, впринципе их если разобрать, хватит для написания своего кода, но все же лучше еще мсдн глянуть.
Изображения
[Ответ]
xxx-men 10:16 17.02.2008
вопросег по шашкам:
1) есть какая либо комбинация фигур Х.
мы к ней приходим допустим на 14м ходу.
возможно ли притти к этой комбинации допустим на 17м ходу?

2) если играют в шашки 2 идеальных мозга, у них обязательно будет ничья? [Ответ]
DeniSS1 10:27 17.02.2008
xxx-men, 1) не знаю, но вряд ли, т.к. ходить назад нельзя 2) да. [Ответ]
DeniSS1 11:49 17.02.2008
Pengvin, какую библиотеку нужно подключить, что бы это заработало? [Ответ]
xxx-men 12:00 17.02.2008

Сообщение от DeniSS1:
1) не знаю, но вряд ли, т.к. ходить назад нельзя

это хорошо

Сообщение от DeniSS1:
2) да.

а это плохо

прономеруй клетки на шахматной доске
Х это как я понимаю с лева на право
У это с низу в верх
так? [Ответ]
DeniSS1 12:11 17.02.2008
xxx-men, да.
Вот, разобрался со списком:
class CheeseList
{
public:
int move[4];
CheeseList* pNext;
}; [Ответ]
xxx-men 13:32 17.02.2008
мне так больше нравица...
struct CheeseList{
int move[4];
CheeseList* pNext;
};


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

пиши у себя

Сообщение от :
class ai1{
/*
здесь будет код...
*/
public:
int getmove(CheeseList* pCheeseList){
/*
здесь тоже будет код....
как описать функцию, чтобы она возвращала массив?????
и еще, есть желание сократить запись хода с int[4] до int, будет существенная экономия оперативки
сюда можеш для начала вписать генератор рандомного хода
*/
};
};

[Ответ]
Страница 5 из 13
< 12345 67891011 > Последняя »
Вверх