扑克牌

qq_37006420 2016-12-11 10:24:01
怎样用C语言实现扑克牌恢复出厂状态
...全文
195 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yes-hyh 2016-12-16
  • 打赏
  • 举报
回复


struct PokerCard
{
	uint8_t color;  // 1黑桃 2红桃 3梅花 4方块  大小王0
	uint8_t num;    // 1-13 为 A,2,3,4,5,6,7,8,9,10,J,Q,K;小王53 大王54
};

void Reset(PokerCard in[], PokerCard out[])
{
	for (int i = 0 ; i < 54; i++)
	{
		if (in[i].color == 0)
		{
			assert(in[i].num == 53 || in[i].num == 54);
			out[in[i].num - 1] = in[i];
		}
		else
		{
			assert(in[i].color >= 1 && in[i].color <= 4 && in[i].num >= 1 && in[i].num <= 13);
			int index = ((in[i].color - 1) * 13 + in[i].num) - 1;
			out[index] = in[i];
		}
	}
}
大致思路便是这样
ooolinux 2016-12-11
  • 打赏
  • 举报
回复
用一个数组cards[54],按顺序存储1~54张牌,另一个数组shuffle[54],存储每次洗牌以后随机顺序的一副牌。 要恢复出厂,输出cards[54]。 仅供参考: C++ Builder写的《ZEC 纸牌游戏21点》 http://blog.163.com/tab_98/blog/static/119240972016115113039304/ 图形用户界面可以学习C++ Builder,架构先进,入门比较容易。 仅供参考: 初学者学习C++ Builder第一个程序(模拟聊天室),经典! http://blog.163.com/tab_98/blog/static/11924097201693033057497/ C++ Builder绘图示例(模拟时钟) http://blog.163.com/tab_98/blog/static/11924097201611324819376/ 从C语言的菜单界面管理系统到C++ Builder的图形用户界面,一个简单的电话簿Demo例子 http://blog.163.com/tab_98/blog/static/1192409720158673337998/ C++ Builder写的《ZEC 僵尸版打地鼠》 http://blog.163.com/tab_98/blog/static/11924097201601084117748/ 书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社) 《C++Builder6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧