HashTable的使用,扑克牌发牌游戏
来源:互联网 发布:日本三菱材料数据造假 编辑:程序博客网 时间:2024/05/16 06:03
l 场景
主要实现以下功能:
1. 首先给扑克牌中每张牌设定一个编号,下面算法实现的编号规则如下:
红桃按照从小到大依次为:1-13
方块按照从小到大依次为:14-26
黑桃按照从小到大依次为:27-39
梅花按照从小到大依次为:40-52
小王为53,大王为54
2. 按照以上编号规则,每次随机从该数组中抽取一个数字,为玩家分配13张牌。
l 实验方法
1. 在控制台应用程序程序中编写代码,项目名为HashTable。
l 实验预估时间
50分钟
实验结果
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace HashTable{ class Program { static void Main(string[] args) { Hashtable hb = new Hashtable(); for (int i = 0; i < 54; i++) { int num = i / 13; int key = i + 1; if (num == 0) //红桃 { if (i < 10) hb.Add(key, "红桃" + key); else if (i == 10) hb.Add(key, "红桃J"); else if (i == 11) hb.Add(key, "红桃Q"); else if (i == 12) hb.Add(key, "红桃K"); } else if (num ==1) //方块 { int keyNum = key - num * 13; if (i < 23) hb.Add(key, "方块" + keyNum); else if (i == 23) hb.Add(key, "方块J"); else if (i == 24) hb.Add(key, "方块Q"); else if (i == 25) hb.Add(key, "方块K"); } else if (num == 2) //黑桃 { int keyNum = key - num * 13; if (i < 36) hb.Add(key, "黑桃" + keyNum); else if (i == 36) hb.Add(key, "黑桃J"); else if (i == 37) hb.Add(key, "黑桃Q"); else if (i == 38) hb.Add(key, "黑桃K"); } else if (num == 3) //梅花 { int keyNum = key - num * 13; if (i < 49) hb.Add(key, "梅花" + keyNum); else if (i == 49) hb.Add(key, "梅花J"); else if (i == 50) hb.Add(key, "梅花Q"); else if (i == 51) hb.Add(key, "梅花K"); } else //num=4 { if (i == 52) hb.Add(key,"小王"); else hb.Add(key,"大王"); } } //Console.WriteLine(hb[40]); //测试用 //Console.Read(); Random rd = new Random(); Console.WriteLine("玩家的牌已发,如下:"); for (int j = 0; j < 13; j++) { int numCard = rd.Next(1, 55); string result = null; //避免重复发牌 try { result = hb[numCard].ToString(); //如果取到已经取过的牌,产生异常,此次循环作废,j值不变。 } catch { j--; continue; } Console.Write(result); hb.Remove(numCard); //每次发完牌将这个牌删除 Console.Write("\t"); } Console.Read(); } }}
0 0
- HashTable的使用,扑克牌发牌游戏
- 扑克牌的随机发牌程序
- 一个扑克牌发牌的实例
- 模拟扑克牌的洗牌发牌
- 一副扑克牌的随机发牌
- 扑克牌发牌
- 扑克牌的发牌功能,存储,以及显示,斗地主发牌
- 扑克牌的发牌和洗牌程序
- 解析扑克牌游戏发牌算法——java实现
- 扑克牌发牌器
- Java 扑克牌发牌
- 神奇的扑克牌游戏
- 扑克牌的发牌程序(用伪随机数实现)
- C 扑克牌随机发牌的算法实现与研究
- 发牌游戏
- 24点游戏7节课--第4节-引入扑克牌发牌出数
- 为完成的-发牌游戏
- Random:随机值的处理:发牌游戏
- 装饰者模式
- test2
- SSL 弱 密码套件 注册表 配置
- 使用webview时代码不执行的问题
- git安装配置
- HashTable的使用,扑克牌发牌游戏
- ArrayList源码分析——如何实现Serializable
- sqlite大量数据插入优化总结
- MySQL备份恢复之XtraBackup
- DLL的概念、dll导出类(转贴)
- POJ 3074 Sudoku 解题报告(Dancing Link)
- 自定义spring容器
- 移植libgsm_1.0.13
- 强大的ruby,居然给我报死锁