java课程设计培训班_Java课程设计「建议收藏」

java课程设计培训班_Java课程设计「建议收藏」课程设计——博客作业五子棋(201521123009张晨晨)•团队课程设计博客链接•个人负责模块或任务说明五子棋的绘制棋盘的绘制重新开始功能的实现悔棋功能的实现•自己的代码提交记录截图•自己负责模块或任务详细说明(1)五子棋的绘制,棋盘的绘制publicvoidpaint(Graphicsg){setBackground(newColor(209,167,78));for(inti…

大家好,又见面了,我是你们的朋友全栈君。

课程设计——博客作业五子棋(201521123009 张晨晨)

•团队课程设计博客链接

•个人负责模块或任务说明

五子棋的绘制

棋盘的绘制

重新开始功能的实现

悔棋功能的实现

•自己的代码提交记录截图

7f53e0f31a34107e853d8cbd325dec6d.png

•自己负责模块或任务详细说明

(1)五子棋的绘制,棋盘的绘制

public void paint(Graphics g){

setBackground(new Color(209, 167, 78));

for(int i=0;i

g.setColor(Color.BLACK);

g.drawLine(20, 20+i*gap, 640-20, 20+i*gap);

}

for(int i=0;i

g.setColor(Color.BLACK);

g.drawLine(20+i*gap, 20, 20+i*gap, 640-20);

}

for(int i=0;i

for(int j=0;j

if(Chess[i][j]==’1′){

g.setColor(Color.WHITE);

g.fillOval(5+i*gap, 5+j*gap, 30, 30);

g.drawOval(5+i*gap, 5+j*gap, 30, 30);

//a++;

}

if(Chess[i][j]==’2′){

g.setColor(Color.BLACK);

g.fillOval(5+i*40, 5+j*40, 30, 30);

g.drawOval(5+i*40, 5+j*40, 30, 30);

//a++;

}

}

}

我们棋盘的绘制选择直接绘制,棋子就是通过setColor,fillOval,.drawOval直接在棋盘上画出对应大小的圆

不过由于是直接绘制的,棋子的效果看起来并不大美观,而且有点空缺。

38797d6729a81170aa8fe30a2941cc36.png

改进的话,希望可以把棋子改成棋子的图片,下棋的时候直接覆盖上去。

(2)重新开始功能的实现

public void restartGame(){

for(int i=0;i

for(int j=0;j

Chess[i][j]=’0′;

}

}

isBlack=true;

gameOver=false;

repaint();

}

要重新开始,则使棋子清空,使初始值为黑子,gameOver为false,并通知系统重新绘制

具体效果如下

e964a0952c51edfedcf260b43836c6d8.png

d6968d6afc80f4fe2d39cb664ab4667a.png

(3)悔棋功能的实现

public void goback(){

flag = true;

System.out.println(“清除”+click_x+click_y);

int chess_x = Math.round((float)(click_x-20)/gap);

int chess_y = Math.round((float)(click_y-20)/gap);

click_X = chess_x;

click_Y = chess_y;

repaint();

Chess[chess_x][chess_y] = ‘0’;

}

建立flag来判断是否在悔棋过程中。

具体效果如下:

fff4d16673d6caa4536642d2d6c8fc1c.png

46d7e30f38c45a0c83ce724d0e9570d0.png

•课程设计感想

这次课程设计对我来说是一次很大的挑战,因为我能力有限,以前也只是仅限于在eclipse的运行界面直接运行。第一次尝试用JAVA程序做出一个五子棋游戏来,并且努力把它做完了。是一次很大的挑战,同时对我来说收获也很多。

我们在做出简单的棋盘后就会想要去更丰富自己的功能,让自己完善。添加联机对战,人机对战,选择自己的执子方等等。并且实现对界面的优化,使界面美观。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157172.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CardView_cardminder是什么软件

    CardView_cardminder是什么软件本文介绍CardView这个控件的使用,CardView继承至FrameLayout类,是support-v7包下的一个类,使用时必须引入cardview依赖包,可在下载的sdk文件夹中找到。。。使用CardView可以实现卡片式布局效果,非常好看,卡片还可以包含圆角、阴影、背景。CardView是一个ViewGroup,布局时包含其它的View从而实现优雅界面效果。首先来看看个界面效果:…

    2022年10月11日
  • npn饱和截止放大怎么判断_二极管饱和状态

    npn饱和截止放大怎么判断_二极管饱和状态幼儿园水平理解三极管截止、放大和饱和状态!书上看不懂,听课听不懂的过来!绕不开的三极管结构以NPN为例,晶体三极管的结构,这是很多人不想看的,但是确实是非常重要的!不看结构是理解不了工作原理的!(这样记忆:N是negative,负,代表多子为电子;P是positive,正,代表多子为空穴)注意观察三极管的结构,有助于理解工作时的状态。两张图结合起来看,略作解释:1.图中空心为空穴带正…

  • 做一个电商网站需要多少钱

    做一个电商网站需要多少钱做一个电商网站详细成本一、域名费用:有些的顶级域名非常贵,但如果需要搭建一个好的商城,那么域名也要最好的,因此,域名的成本非常高。

  • java中hashcode的用法_javahashcode作用

    java中hashcode的用法_javahashcode作用hashcode()是干什么用的?首先hashcode是哈希算法的一中简单实现,他是一个对象的哈希吗值。一般和equals一起使用。 hashcode也是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 01234567 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,

  • 基于ArUco的视觉定位

    基于ArUco的视觉定位参考如下:博客.基于ArUco的视觉定位(1-3)https://www.freesion.com/article/4265319144/基于ArUco的视觉定位(4)https://www.pianshen.com/article/2491452618/

  • Python append 函数[通俗易懂]

    Python append 函数[通俗易懂]pythonappend描述append函数可以在列表的末尾添加新的对象。函数无返回值,但是会修改列表。append语法list.append(object)名称 说明 备注list 待添加元素的列表 object 将要给列表中添加的对象 不可省略的参数append举例1.给列表中添加整数、浮点数和字符串:test=[‘Python’,‘C’,‘Java’]test.append(5)test.append(23.6)test.append(‘HTML’)print(t

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号