GUI实现猜数字游戏

这个项目使用Java基础知识和MVC架构,结合JDBC与MySQL数据库,创建了一个猜数字游戏。玩家输入姓名和猜测数字,系统判断并提供反馈,如猜对、猜小、猜大,还包含排行榜查询功能和时间限制。成功猜对后,提供保存至数据库的选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GUI实现猜数字游戏

猜数字游戏:选手输入姓名进行测试,输入猜的数字,判断是否有姓名,有的话系统判断是否猜对,猜对了文字提示,并出现保存按钮(数据库),提示猜的次数,同样猜小了,猜大了都有弹窗提示,选手可以查询排行榜,有时间限制,到时间弹窗提示,点击确定退出程序。
程序涉及的技术栈有Java基础知识,MVC三层架构,JDBC,MySQL数据库等等 。

项目结构

在这里插入图片描述

原型图

在这里插入图片描述

mapper层

userMapper接口

public interface UserMapper {
   
   
    //添加比赛用户信息
    int addUser(Connection connection, String username, int count);
    //查询所有用户信息
    List<User> getUsers(Connection connection);
}

userMapperImpl实现类

public class UserMapperImpl implements UserMapper {
   
   
    @Override
    public int addUser(Connection connection, String username, int count) {
   
   
        PreparedStatement pstm = null;
        int execute = 0;
        try {
   
   
            connection.setAutoCommit(false);
            String sql = "insert into user_two values (?,?,?)";
            Object[] params = {
   
   null, username, count};
            execute = JdbcUtil.execute(connection, pstm, sql, params);
            if (execute>0){
   
   
                connection.commit();
            }
        } catch (SQLException e) {
   
   
            e.printStackTrace();
            try {
   
   
                connection.rollback();
            } catch (SQLException e1) {
   
   
                e1.printStackTrace();
            }
        }finally {
   
   
            JdbcUtil.closeResource(connection,pstm);
        }
        return execute;
    }

    @Override
    public List<User> getUsers(Connection connection) {
   
   
        PreparedStatement pstm = null;
        ResultSet rs = null;
        ArrayList<User> userList = new ArrayList<>();
        User user;
        try {
   
   
            String sql = "select id,username,count from user_two order by count asc";
            Object[] params = {
   
   };
            rs = JdbcUtil.execute(connection, rs, pstm, sql, params);
            while (rs.next()){
   
   
                user = new User();
                user.setId(rs.getInt("id"));
                user.setUserName(rs.getString("username"));
                user.setCount(rs.getInt("count"));
                userList.add(user);
            }
        } catch (SQLException e) {
   
   
            e.printStackTrace();
        }
        return userList;
    }
}

service层

userService接口

public interface UserService {
   
   
    //添加比赛用户信息
    boolean addUser(String username, int count);
    //查询所有用户信息
    List<User> getUsers();
}

userServiceImpl实现类

public class UserServiceImpl implements UserService {
   
   
    private UserMapper userMapper;

    public UserServiceImpl() {
   
   
        this.userMapper = new UserMapperImpl();
    }

    @Override
    public boolean addUser(String username, int count) {
   
   
        boolean flag = false;
        Connection connection = JdbcUtil.getConnection();
        if (userMapper.addUser(connection, username, count) > 0) {
   
   
            flag = true;
        }
        JdbcUtil.closeResource(connection,null);
        return flag;
    }

    @Override
    public List<User> getUsers() {
   
   
        Connection connection = JdbcUtil.getConnection();
        List<User> userList = userMapper.getUsers(connection);
        return userList;
    }
}

controller层

public class UserController {
   
   
    UserServiceImpl userService = new UserServiceImpl();
    /**
     * 保存个人信息
     * @param username
     * @param count
     */
    public boolean operation(String username,int count){
   
   
        return userService.addUser(username, count);
    }

    /**
     * 查询排行榜
     */
    public List<User> getUser(){
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值