天翼云盘链接:https://cloud.189.cn/t/EzAjYbre6Fjq (访问码:8hqf)

写在前面:拖延了大半年,趁着最近实训传一下。软需改成考试课以后具体形式还是有点懵,就随便分享一下吧。根据迭代开发一共出了三版(FiveChess1.0,2.0和3.0)每次根据具体需求不同都有不同的改动,现在只传了第三版,到最后测着测着开始疯狂报错,半年多前的代码没有啥修改的欲望,大伙看一乐吧。

登录界面

第一版主界面(跟上个作业相似 都是缝合的)

第三版主界面(看着返璞归真了,实际上才是软需这门课的重点,做的花哨屁用没有)

第一版棋局记录界面

第三版棋局记录界面

棋局回放

想要发布说内容质量较低,所以贴点代码,展示一下棋局回放的具体代码,算是比较难想的一部分。

public void paint(Graphics g) {int[][] allChess = new int[19][19];ImageIcon icon = new ImageIcon("jp.png");Image jp = icon.getImage();//画棋盘g.drawImage(jp, 0, 0,569, 598 ,icon.getImageObserver());for (int colum = 58; colum < 540; colum = colum + 30) {g.drawLine(38, colum, 517, colum);}for (int rand = 38; rand < 540; rand = rand + 30) {g.drawLine(rand, 58, rand, 540);}g.fillOval(273, 293, 10, 10);//把这局对局中需要的棋子提取出来ArrayList<Piece> allPiece = (ArrayList<Piece>) this.getPiece();ArrayList<Piece> neededPiece = new ArrayList<Piece>();for(Piece p:allPiece) {if(p.getBoardnumber()==number) {neededPiece.add(p);}}//画棋子for(int i = 0;i<neededPiece.size();i++) {int tempX=neededPiece.get(i).getX()*30+38;int tempY=neededPiece.get(i).getY()*30+58;if(i%2==0) {g.setColor(Color.black);}else {g.setColor(Color.white);} g.fillOval(tempX-13,tempY-13,25,25);if(i%2==0) {g.setColor(Color.white);g.drawString(String.valueOf(i+1), tempX, tempY);}else {g.setColor(Color.BLACK);g.drawString(String.valueOf(i+1), tempX, tempY);}//提取下棋的时间,获得时间间隔,让线程sleepif(i+1<neededPiece.size()) {Thread.currentThread();try {long time1 = neededPiece.get(i+1).getDate().getTime();long time2 = neededPiece.get(i).getDate().getTime();Thread.sleep(time1 - time2);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

东北大学软件学院2021-2022软件需求设计与分析五子棋作业相关推荐

  1. 软件算法设计与分析 期中复习

    软件算法设计与分析 期中复习 第四章 蛮力法 蛮力法/多项式求值 最近点对问题 蛮力法的优缺点 旅行推销商问题 背包问题 分配问题 穷举法特点 第五章 分治法 5.1 分治法的基本思想 5.2 寻找最 ...

  2. 哈工大2020秋算法设计与分析大作业(一)

    哈工大2020秋算法设计与分析大作业(一) 前言 正文 1 论文题目 标题 作者 刊物 2 论文阅读报告 2.1 摘要 2.2 问题定义 2.3 算法或证明过程 2.4 实验结论 哈工大2020秋算法 ...

  3. soc 设计soc设计 uml实务手册_企业内训“软件需求设计建模方法学全程实例剖析”训练方案(2020年)...

    ※训练介绍※利润=需求-设计.软件开发中,需求是解决"系统怎样好卖"的问题,设计是解决"降低开发成本"的问题.要迈向"低成本制造好卖的产品" ...

  4. 软件需求管理用例方法 pdf_企业内训“软件需求设计建模方法学全程实例剖析”训练方案(2020年)...

    ※训练介绍※利润=需求-设计.软件开发中,需求是解决"系统怎样好卖"的问题,设计是解决"降低开发成本"的问题.要迈向"低成本制造好卖的产品" ...

  5. 软件测试用例设计方法分析

    熟悉软件方法的六个纬度(测试角度) 1.架构:无架构 ---- 例如:单机版  安装,卸载 B/S 浏览器 ---- 兼容性,功能,性能,GUI 服务器 ---- 环境搭建(大的平台有专人负责部署小的 ...

  6. 软件需求提取,分析,升华详解

    软件的需求分析必须要有对原业务的一个深入了解.提取.抽象.升华的过程,管理软件需求分析尤其如此. 软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划 ...

  7. 哈工大2021~2022春季学期《计算机系统》大作业

    计算机系统 大作业 题     目 程序人生-Hello's P2P 专       业 计算机类 学    号 120L021025 班    级 2003001 学       生 指 导 教 师 ...

  8. 国科大2022计算机算法设计与分析期末考试-刘玉贵老师

    就在刚刚,考完了刘玉贵老师的算法期末,也算是给这门课程做一个总结,同时梳理一下期末的考试范围,希望对学弟学妹有用! 废话不多说,先放考试范围(来源:sep课程网站,期末会给): 接着放考卷: 总结: ...

  9. 算法设计与分析大作业 关于核算检测次数的问题研究 (分治策略 二分法 实例生活运用)

    一.问题描述 如今疫情一直困扰着大家的正常生活,迟迟不见好转,反而这几天更是严重,直接变成了三天两检的全员核酸检测.其实,由于数量的原因,核酸检测是很烧钱的,一个核酸检测试剂盒(荧光PCR法)就要5元 ...

最新文章

  1. 何为OKR?为何使用OKR?
  2. Ubuntu更新源问题终于解决了
  3. 【NOI2002】贪吃的九头龙
  4. 自然语言处理python进阶(一)
  5. Qt学习笔记之UDP编程
  6. Skyscrapers (easy version)CodeForces - 1313C1(暴力)
  7. 线程队列-queue
  8. Android 固定式底部上滑抽屉view
  9. Android学习总结(5)——9个非常有用的Andorid 程序片段
  10. caffe将图像数据转换成lmdb文件
  11. Java代码 httpClient请求 响应 爬虫
  12. octave c++函数中调用fortran77子程序
  13. 用maven编译spark2.1.0
  14. 最适合人工智能的编程语言:JAVA人工智能程序编程
  15. java进制转换方法
  16. Python3快速入门—7.枚举
  17. centos安装Docker与使用构建业务镜像挂载卷harbor仓库的高可用及网络模式和资源限制介绍...
  18. 基于javaweb+SSM校园招聘平台招聘管理系统(平台、企业、用户)
  19. 【Vue报错】This is probably not a problem with npm. There is likely additional logging output above
  20. 强大的达梦数据库图形界面工具

热门文章

  1. 头歌机器学习---决策树
  2. 链创未来——迅雷启动全球区块链应用大赛
  3. unity|加载AB包|有依赖关系的AB包
  4. 没有权限访问vina linux,auto dockvina 安装-linux
  5. Druid连接池的使用讲解
  6. gops 是怎么和 Go 的运行时进行交互的?
  7. 液压系统中逻辑阀的工作原理和作用
  8. PBR常用贴图及使用事项
  9. switch case语句用法详解
  10. ARIMA模型,在时间序列中,加入其他解释变量