模拟斗地主

一、模拟斗地主

1.准备一副牌(54张)
List< String> pokers = new ArrayList<>();
//花色、牌点
String [] colors = new String[]{"黑桃", "红桃", "方块", "梅花"};
String [] numbers = new String[]{"A", "02", "03", "04", "05", "06", "07", "08", "09", "10", "J", "Q", "K"};
for(String color:colors){
    for(String number: numbers){
        String poker = number + color;
        pokers.add(poker);
    }
}
pokers.add("大王");
pokers.add("小王");
2.洗牌(打乱顺序)
Collections.shuffle(pokers);
3.留三张底牌(地主牌)
List <String> dipai = new ArrayList<>();
Random random = new Random();
for(int i = 0; i < 3; i++){
    int index = random.nextInt(pokers.size()-1);         //0——53的随机数
    String pai = pokers.remove(index);
    dipai.add(pai);
}
System.out.println(dipai);
4.发牌(三人)
List <String> wanjia1 = new ArrayList<>();
List <String> wanjia2 = new ArrayList<>();
List <String> wanjia3 = new ArrayList<>();
for(int i = 0; i < pokers.size(); i++){
    String pai = pokers.get(i);
    int mod = i % 3;
    if(mod == 0){
        wanjia1.add(pai);
    }else if(mod == 1){
        wanjia2.add(pai);
    }else{
        wanjia3.add(pai);
    }
}
5.随机地主
int dizhu = random.nextInt(3);
if(dizhu == 0){
    wanjia1.addAll(dipai);
    System.out.println("地主是:玩家1");
}else if(dizhu == 1){
    wanjia2.addAll(dipai);
    System.out.println("地主是:玩家2");
}else {
    wanjia3.addAll(dipai);
    System.out.println("地主是:玩家3");
}
6.手牌排序
Collections.sort(dipai);
Collections.sort(wanjia1);
Collections.sort(wanjia2);
Collections.sort(wanjia3);
7.显示手牌
System.out.println("玩家1:" + wanjia1);
System.out.println("玩家2:" + wanjia2);
System.out.println("玩家3:" + wanjia3);

二、数据库

1.增加:
情况一:总体增加

insert into 表名 value('数据1', '数据2', '数据3')

情况二:个体增加

insert into 表名 ('字段名1','字段名2') values ('数据1','数据2')

2.删除
情况一:全部删除

delete from?表名 where 字段名 = '需要删除的数据'

情况二:批量删除

delete from 表名 where 字段名 in ('该字段里面的数据1', '该字段里面的数据2', ……)

3.修改

update 表名 set 字段 = '修改后的数据' where 字段 = '修改前数据'

4.查询
情况一:全体查询

select * from 表名

情况二:但条件查询

select * from 表名 where 字段 = '需要查询的数据'

三、JDBC的使用

//1.加载驱动

Class.forName("com.mysql.jdbc.Driver");

//2.创建连接

Connection connection = DriverManager.getConnection("");
System.out.println("创建连接");

//3.写SQL语句

//4.得到Statement对象

PreparedStatement preparedStatement = connection.prepareStatement(sql);

//5.执行SQL得到结果集

ResultSet resultSet = preparedStatement.executeQuery();

//6.处理结果集

while (resultSet.next()){
    System.out.println(resultSet.getInt(1));
    System.out.println(resultSet.getString(2));
    System.out.println(resultSet.getString(3));
}

//7.关闭资源

resultSet.close();
preparedStatement.close();
connection.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值