![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Карточная игра "дурак'' [Delphi, Windows]
Андрей235 © (2005-08-05 18:42:00)Я начинающий программист подскажите как сделать что-бы раздаваемые карты не совпадали с уже розданными и как лучше сделать он-лайн игру лучше пишите сразу на мыло ответившим "по теме" игра будет отсылатся
"вне очереди"
SergProger (2005-08-07 22:02:00) [1]Когда-то тоже думал над этим вопросом и выдумал вот что: создаёшь массив карт "Cards: array [1..52] of Byte", сортируешь алгоритмом
For i:=1 to 52 do begin
j:=Random(51)+1;
buf:=Cards[j];
Cards[j]:=Cards[i];
Cards[i]:=Buf;
end;
а затем либо с начала, либо с конца массива вынимаешь по одной. А если один из игроков набрал много карт, просто добавь возможность прокручивать карты, т.е. сначала показывай карты игрока с 1 по 6, при нажатии кнопки прокрутки вправо показывай со 2 по 7 и так далее. Удачи!
MeF Dei Corvi (2005-08-07 18:08:00) [2]
> Нихр*на непонял я разобрался как тусовать вообщем ни че
> у меня не получится...
Долго пытался понять смысл фразы, так и не понял :(
grouzd[E]v (2005-08-07 14:57:00) [3][8] Андрей235 (07.08.05 12:19)
Поконкретней? Что именно не получается?
Андрей235 (2005-08-07 12:19:00) [4]Нихр*на непонял я разобрался как тусовать вообщем ни че у меня не получится...
XProger (2005-08-06 23:11:00) [5]Накладывай карты друг на дружку...
ProGamer (2005-08-06 22:09:00) [6]собственно а если писать дурака через компоненты,то есть возможность,что 1 игрок может набрать карт очень много...
вобщем вопрос:как это все на форме уместить?(:
XProger (2005-08-06 17:57:00) [7]Андрей235, а с чего ты сетевой код собираешься "начинать" писать?
Андрей235 (2005-08-06 10:05:00) [8]
> тасуешь (всмысле рэндомишь) список, и раздаешь, пока карты
> в списке ещё есть...
А вот это идея!!!
XProger , ты так замудренно написал что я завис над твоим предложением...
повторяю я НАЧИНАЮЩИЙпрограмист
XProger (2005-08-05 22:25:00) [9]По поводу онлайн игры:
1) Пишешь чат UDP
2) Учишь пхп
3) Пишешь чат TCP с выделенным сервером-порталом на PHP
4) Пишешь игру
5) Пишешь сетевой код на базе своего TCP чата
6) Организуешь на каком-либо хостинге сервер-портал с постоянным IP адресом
7) Тестируешь игру.
По вопросам сетевого кода: http://www.gamedev.ru/articles/?sect=8
Убогая но ясно описывающаяя организацию портала на PHP статья: http://xproger.mirg.ru/?id=1&doc=arena
MeF Dei Corvi (2005-08-05 21:53:00) [10]Тык делаешь список(можно просто массив) карт, тасуешь (всмысле рэндомишь) список, и раздаешь, пока карты в списке ещё есть... В чём проблема не пойму?
grouzd[E]v (2005-08-05 18:51:00) [11]Ну например
type
TCard = record
...
in_game : boolean;
end;
и при раздаче проверять у каждой карты эту переменную