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程序做出一个五子棋游戏来,并且努力把它做完了。是一次很大的挑战,同时对我来说收获也很多。

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python新手写出漂亮的爬虫代码1——从html获取信息

    Python新手写出漂亮的爬虫代码1——从html获取信息Python新手写出漂亮的爬虫代码1初到大数据学习圈子的同学可能对爬虫都有所耳闻,会觉得是一个高大上的东西,仿佛九阳神功和乾坤大挪移一样,和别人说“老子会爬虫”,就感觉特别有逼格,但是又不知从何入手,这里,博主给大家纠正一个误区:爬虫并不神秘,也不高级,是一个非常好上手和掌握的东西(当然,里面也有很多坑,也有很多细节,展开说的话其实也蛮复杂的,不过它的模式和套路就摆在那里,看了小编的博客,保证你能爬

    2022年5月2日
    36
  • Git客户端下载及安装

    Git客户端下载及安装Git客户端的下载及安装过程

    2022年5月13日
    71
  • matlab如何读取路径下所有图片_matlab保存到指定文件夹

    matlab如何读取路径下所有图片_matlab保存到指定文件夹之前的matlab学习中接触了各种图片的处理方式和算法函数,现在考虑的是如何保存和输出图片matlab中的图片保存方式imwrite函数imwrite函数是和imread函数配套的图片读取输出函数,写法和imread函数一样imwrite(I,‘lena.jpg’)需要注意的是在保存之前需要保存一个句柄I=getimage(gcf)但是问题在于imwrite函数保存的图片是已经定义过的图片在以下代…

    2025年11月2日
    5
  • 使用JAX-WS构建Web Services

    使用JAX-WS构建Web Services 使用JAX-WS构建WebServicesJAX-WS简写为JavaApiForXmlWebService。JAX-WS是使用XML构建WebService与Client进行交流通信的技术。在JAX-WS中,WebService操作调用表现为以XML为基础的协议如SOAP协议。SOAP定义了封装架构,编码规则以及WebService中调用和回应表现的规则。这些调用和

    2022年7月15日
    13
  • pycharm调试教程_程序调试时应当用

    pycharm调试教程_程序调试时应当用Python入门:使用PyCharm调试Python程序面向Python初学者PyCharm集成运行环境   在了解Python编程之前,我们需要先弄明白如何编写运行代码。所以非常有必要先讲解一下Python的集成开发环境,也就是IDE(IntegratedDevelopmentEnvironment)。PyCharm是一款优秀的开源Python语言集成开发工具。PyCharm…

    2022年8月26日
    5
  • sqlite database browser 下载_SQLiteDeveloper

    sqlite database browser 下载_SQLiteDeveloper介绍一个SQLitepc端工具,可以查看SQLite

    2025年10月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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