易语言斗地主源码(斗地主小游戏源码)
本篇文章给大家谈谈易语言斗地主源码,以及斗地主小游戏源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、易语言怎样做斗地主游戏?
- 2、易语言局域网斗地主源码怎么用!
- 3、用易语言如何制作一个欢乐斗地主抢位置的小程序?
- 4、vb编写斗地主
- 5、如何用易语言做记牌器..(QQ欢乐斗地主)
- 6、简易c++斗地主源码,简单的斗地主不需要ui,只要能发牌,随机决定地主,把牌按大小顺序排列
易语言怎样做斗地主游戏?
似乎如果真的做出来 别的棋牌网站可以不用活了
反正做一个棋牌游戏需要巨大的数据 如果是你一个人做脑袋可能承受不了
易语言局域网斗地主源码怎么用!
用易语言的 客户和 服务器 发送文本信息 比如说发送“红桃2:方片3” 然后接收端检测发过来的一段文本 然后用分割文本 按照":"这个符号分割然后判断 很麻烦的。。
用易语言如何制作一个欢乐斗地主抢位置的小程序?
欢乐斗地主是用C++写的游戏.一般座位基值是顺时针数,最上一个是0,右边是1,左边是2,再用ve和ce搜索出该基值就ok了.
vb编写斗地主
我试着做过类似的程序,判断出牌是否符合规则的部分我已经做出来了。方法如下,仅供你参考。
一、自已做一个“牌”控件,它有一个属性 “值”。例如:牌A的值为1,J为11,Q为12,K为13,小王14,大王15 ……
二、做多个字符型数组。数组的每个元素均为合法的出牌可能,即,不在数组中的出牌是不合法的。如单牌数组,它有15个元素,分别是每个单牌的值。
三、在玩家选牌(即单击某张牌)的事件里,扫描一下所有被选中的牌,得到选中牌的值的顺序。
四、将得到的值顺序的这个字符串与二步中所创建数组的所有元素比较,若有相同则说明所选的牌符合规则。
例子:
For i = 1 To 13
DuiZi(i) = Trim(Hex(i)) Trim(Hex(i)) '对子牌的所有可能,两个王属于炸弹牌,不属于对子。
Next i
至于这里为什么要把数字转化成十六进制,那是因为当我选择了比如Q这张牌时,它的值为12,和选择了A、2这两张牌时产生的选牌字符串是一样的,会产生混淆,转化成十六进制后,Q的值是十六进制数“C”,而A、2这两张牌的值的字符形式还是“12”。
判断函数:
Public Function IsRight(ByVal SelectedCard As String) As Boolean
IsRight = False
For i = 1 To 13
If SelectedCard =DuiZi(i) Then
IsRight = True
Card_Style = CS_DUIZI
Exit Function
End If
Next i
End Function
当然,这只是判断函数的一部分,你可以把所有判断都写到一个函数里,这样,当你的函数返回真的时候,你不但知道你所选的牌是符合要求的,还可以知道它是什么类型的牌。
如何用易语言做记牌器..(QQ欢乐斗地主)
你如果是高手,自己一定会做,如果是菜鸟去网上下载一个吧,如果你想学习以语言,下载易语言零起点,自己学习,自己探究,自己做一个!(本人推荐你学 C/C++ ,易语言功能差)
简易c++斗地主源码,简单的斗地主不需要ui,只要能发牌,随机决定地主,把牌按大小顺序排列
#include time.h
#include iostream
#include string
#include vector
enum em_CardClass_t
{
_CC_hearts = 0, // 红桃
_CC_Spade, // 黑桃
_CC_Clubs, // 梅花
_CC_Diamonds, // 方块
_CC_King // 大小王
};
struct st_Card_t
{
em_CardClass_t _emCardClass;
UINT _uCardIndex; // _emCardClass为_CC_King时,有效取值[1,2]
// _emCardClass非_CC_King时,有效取值[1,13]
};
using namespace std;
void InitCard(vectorst_Card_t vtCard)
{
st_Card_t card;
for( UINT i=0; i_CC_King; i++ )
{
card._emCardClass = (em_CardClass_t)i;
for( UINT j=1; j14; j++ )
{
card._uCardIndex = j;
vtCard.push_back(card);
}
}
card._emCardClass = _CC_King;
card._uCardIndex = 1;
vtCard.push_back(card);
card._uCardIndex = 2;
vtCard.push_back(card);
}
// 分牌
void DealCard(vectorst_Card_t vtCard, vectorst_Card_t vtPlayer1,
vectorst_Card_t vtPlayer2, vectorst_Card_t vtPlayer3)
{
srand( (unsigned)time( NULL ) );
for( int i = 0; i 51; i++ )
{
int iCard = rand() % vtCard.size();
switch( i % 3 )
{
case 0:
vtPlayer1.push_back(vtCard[iCard]);
break;
case 1:
vtPlayer2.push_back(vtCard[iCard]);
break;
default:
vtPlayer3.push_back(vtCard[iCard]);
break;
}
if( iCard != vtCard.size()-1 )
{
vtCard[iCard] = vtCard[vtCard.size()-1];
}
vtCard.pop_back();
}
}
// 叫牌
int Bid(vectorst_Card_t vtCard, vectorst_Card_t vtPlayer1,
vectorst_Card_t vtPlayer2, vectorst_Card_t vtPlayer3)
{
srand( (unsigned)time( NULL ) );
int iBider = rand() % 3; // 叫牌者,也就是地主
vectorst_Card_t* pPlayer = NULL;
switch( iBider )
{
case 0:
pPlayer = vtPlayer1;
break;
case 1:
pPlayer = vtPlayer2;
break;
default:
pPlayer = vtPlayer3;
break;
}
for( UINT i = 0; i vtCard.size(); i++ )
{
pPlayer-push_back(vtCard[i]);
}
return iBider;
}
// 整牌(按红桃、黑桃、梅花、方块、小大王的花色顺序整理,同一花色再按从小到大的顺序整理)
void SortCard(vectorst_Card_t vtPlayer)
{
st_Card_t tmp;
for( UINT i=0; ivtPlayer.size()-1; i++ )
{
for( UINT j=i+1; jvtPlayer.size(); j++ )
{
if( vtPlayer[i]._emCardClass vtPlayer[j]._emCardClass )
{
continue;
}
if( vtPlayer[i]._emCardClass == vtPlayer[j]._emCardClass
vtPlayer[i]._uCardIndex vtPlayer[j]._uCardIndex )
{
continue;
}
tmp = vtPlayer[i];
vtPlayer[i] = vtPlayer[j];
vtPlayer[j] = tmp;
}
}
}
void PrintPlayerCard(const string sPlayerName,
const vectorst_Card_t vtPlayer)
{
cout sPlayerName " cards:" endl;
for( UINT i=0; i vtPlayer.size(); i++ )
{
switch( vtPlayer[i]._emCardClass )
{
case _CC_hearts:
cout "红桃";
break;
case _CC_Spade:
cout "黑桃";
break;
case _CC_Clubs:
cout "梅花";
break;
case _CC_Diamonds:
cout "方块";
break;
default:
cout "King";
break;
}
cout vtPlayer[i]._uCardIndex " ";
}
cout endl endl;
}
void main()
{
vectorst_Card_t vtCard;
vectorst_Card_t vtPlayer1;
vectorst_Card_t vtPlayer2;
vectorst_Card_t vtPlayer3;
InitCard(vtCard);
DealCard(vtCard, vtPlayer1, vtPlayer2, vtPlayer3);
int iBider = Bid(vtCard, vtPlayer1, vtPlayer2, vtPlayer3);
SortCard(vtPlayer1);
SortCard(vtPlayer2);
SortCard(vtPlayer3);
PrintPlayerCard("Player1", vtPlayer1);
PrintPlayerCard("Player2", vtPlayer2);
PrintPlayerCard("Player3", vtPlayer3);
cout "地主是Player" iBider+1 endl endl;
}
易语言斗地主源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于斗地主小游戏源码、易语言斗地主源码的信息别忘了在本站进行查找喔。