博客
关于我
java笔记1.20
阅读量:631 次
发布时间:2019-03-13

本文共 1174 字,大约阅读时间需要 3 分钟。

Java笔记

双色球

简述

双色球是通过随机生成号码,与用户输入的值进行对比的游戏。号码由7个球组成,其中6个为红球,1个为蓝球。红球数字范围为1-33,蓝球为1-16。号码生成后,与用户输入的值进行比对,无需顺序一致即可判定中奖。

重点知识

  • 一行接受多个数字:可以使用split(",")方法将输入值转换为数组。
  • 随机数范围的指定:使用Random.nextInt(bound)方法,区间为左闭右开。
  • 代码示例

    Random random = new Random();int randNumber = random.nextInt(MAX - MIN + 1) + MIN;

    其中,MAXMIN分别为最大值和最小值。

    五子棋

    开发背景

    五子棋是一个简单但有趣的游戏,开发周期长达半天。虽然简单,但在细节处理上仍需认真思考。

    代码结构

  • 随机数生成:使用Random.nextInt方法生成随机数。
  • 数组下标检查:通过异常捕获检查数组下标是否超出范围。
  • 落子判断:判断落子位置是否合法,并判断是否有子。
  • 代码示例

    int value3 = chessboard[abscissa][ordinate];try {    a[0] = chessboard[abscissa + 1][ordinate - 1];    a[1] = chessboard[abscissa + 2][ordinate - 2];    a[2] = chessboard[abscissa + 3][ordinate - 3];    a[3] = chessboard[abscissa + 4][ordinate - 4];    for (int i = 0; i < a.length; i++) {        if (value3 != a[i]) {            m = false;            break;        }    }} catch (Exception e1) {    m = false;}

    问题与解决方案

    已解决问题

  • 整型数组初始化:无需手动赋值,全为0即可。
  • 落子判断:正确判断落子是否有子,避免逻辑错误。
  • 异常处理:使用try-catch结构捕获异常,避免程序崩溃。
  • 未解决问题

  • 棋盘显示问题:希望棋盘共用一个起始0点(如图)。
  • 用户输入处理:希望同时接受横纵坐标,提升用户体验。
  • 提示优化:希望增加颜色或划线提示功能。
  • 字体优化:尚未尝试使用Eclipse字体。
  • 总结

    本次开发过程中,主要完成了双色球和五子棋的核心功能开发,涵盖了随机数生成、输入处理、数组操作等多个方面。虽然遇到了一些问题,但通过仔细思考和异常捕获,最终解决了大部分技术难点。后续将继续优化代码,提升用户体验和功能完善度。

    转载地址:http://otyaz.baihongyu.com/

    你可能感兴趣的文章
    Openlayers高级交互(1/20): 控制功能综合展示(版权、坐标显示、放缩、比例尺、测量等)
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(12/20):利用高德逆地理编码,点击位置,显示坐标和地址
    查看>>
    Openlayers高级交互(13/20):选择左右两部分的地图内容,横向卷帘
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>
    Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
    查看>>
    Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
    查看>>