1. 团队课程设计博客链接

http://www.cnblogs.com/yzb123/p/7063424.html

2.个人责模块或任务说明

1.主函数编写,设置图形界面

2,设置功能按钮

3.使用CheckboxGroup对下棋顺序设置

4.对功能按钮的使用进行限制

3.自己的代码提交记录截图

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

public class FivChese  extends JFrame{
CheseGame CG;
FivChese ()
{
this.CG= new CheseGame();
addMouseListener(CG);
add(CG);
}
public static void main(String[] args) {
FivChese fivechese= new FivChese ();
fivechese.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fivechese.setSize(900, 700);
fivechese.setTitle("五子棋");
fivechese.setVisible(true);//可以画图
fivechese.setResizable(true);//可以改变大小
}
}
class CheseGame extends JPanel implements MouseListener,ItemListener
{
int [][]map = new int[20][20];
Color []color = {Color.BLACK,Color.WHITE,Color.LIGHT_GRAY};
//棋子坐标
int x = -1;
int y = -1;
//判定是白棋还是黑棋
int flag = 1;
//判定胜负
int winner = 3;
JButton btn1 = new JButton("开始"); //游戏开始
JButton btn2 = new JButton("再来一局");//游戏重置
//确定白棋先还是黑棋先
CheckboxGroup cbg = new CheckboxGroup();//复选框
Checkbox chb1 = new Checkbox("黑棋先开始",cbg,true);
Checkbox chb2 = new Checkbox("白棋先开始",cbg,false);
@Override
public void itemStateChanged(ItemEvent ie) {
// throw new UnsupportedOperationException("Not supported yet.");
if(chb1.getState())
{
flag = 1;
}
else
{
flag = 2;
}
}
class GameStart implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == btn1)//str.equals("Start")
{
start();
repaint();
btn1.setEnabled(false);
btn2.setEnabled(true);
chb1.setEnabled(false);
chb2.setEnabled(false);
}
if(ae.getSource() == btn2)
{
start();
repaint();
chb1.setEnabled(true);
chb2.setEnabled(true);
}
}
}
CheseGame()
{
this.setLayout(null);
chb1.setBounds(650, 50, 100, 30);
chb2.setBounds(650, 100, 100, 30);
chb1.addItemListener(this);
chb2.addItemListener(this);
btn1.setBounds(650,150,100,30);
btn1.addActionListener(new GameStart());
btn2.setBounds(650, 200, 100, 30);
btn2.addActionListener(new GameStart());
btn2.setEnabled(false);
this.add(btn1);
this.add(btn2);
this.add(chb1);
this.add(chb2);
}
void start()
{
for(int i = 0;i < 20;i++)
for(int j = 0;j < 20;j++)
map[i][j] = 0;
winner = 0;
}

5.课程设计感想

选择了这个以后,发现对自己难度太大,几乎对图形界面一无所知,所以就只能临时学习。因为时间有限,所以程序的功能实现的不全面, 但是还是有收获的。对于网络对战和悔棋的要求并没有达成,所以还是要对java进一步学习。

java课设 五子棋代码编写(团队)的更多相关文章

  1. JAVA课设---五子棋

    1.团队博客链接 JAVA课设-五子棋-团队博客 2.个人负责模块: ①对鼠标事件的处理 , 此模块需处理五子棋的放置问题.颜色转换问题.以及当五子连线时弹出窗口显示结果. ②对MainFrame中主 ...

  2. JAVA课设--五子棋--团队博客

    1 团队名称.团队成员介绍 徐璐琳 网络1511班 201521123010 祁泽文 网络1511班 201521123011 张晨晨 网络1511班 201521123009 2 项目git地址 团 ...

  3. JAVA课设 学生基本信息管理 团队博客

    1.成员 邹其元 网络1512 201521123060 杨钧宇 网络1512 201521123062 2.项目Git地址 团队项目码云地址 //添加截图 3. 项目git提交记录截图(要体现出每个 ...

  4. JAVA课设个人博客--多源数据教学管理系统

    JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...

  5. java课设数据库打包报错

    最近在交java课设时把东西打包给老师遇到许多奇葩问题, 首先是数据库复制时提示: 这是数据库与SQL server服务没有分离(我用的是SQLserver暂时,对于其他的,我以后会继续尝试)可以进行 ...

  6. 2018-2019学年第一学期Java课设--魔塔

    目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...

  7. JAVA课设——中药古籍《太平圣惠方》数据处理与分析系统

    一.配置JAVA环境 本次课设是在Windows 10(64bit)平台上实现的,所以首先得配置下JAVA环境. 步骤一:先下载一个JDK(1.7)安装包,安装好JDK: 步骤二:JDK环境配置(由于 ...

  8. java课设-计算数学表达式的程序,201521123050,51 团队

    1.团队名称.团队成员介绍 团队名称:天空 团队成员: 肖世松 谢庆圆 2.项目git地址 项目git地址 3.项目git提交记录截图(要体现出每个人的提交记录.提交说明) 4.项目功能架构图与主要功 ...

  9. java课设-计算数学表达式的程序,201521123050,肖世松,个人

    1.团队课程设计博客链接 http://www.cnblogs.com/xss666/p/7063780.html 2.个人负责模块或任务说明 个人负责:计算器外观,左容器CalPanelL p1: ...

随机推荐

  1. 记小白的一次基于vue+express+mongodb个人站开发

    学了vue和node一段时间了,折腾了一些零零散散的小东西.马上大四了要出去找工作了,所以早就想搭一个个人站作为一次较为全面的总结.因为没有设计功底,界面设计使我这种强迫症患者苦不堪言.幸而到最后花了 ...

  2. JAVA中的四种引用以及ReferenceQueue和WeakHashMap的使用示例

    简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用).SoftReferenc(软引用).WeakReferenc(弱引用).PhantomReference(虚引用) ...

  3. 分页(将数据库中的多条数据一页一页的显示在jsp页面中)

    一.显示数据库中的多条数据为什么要用分页 在真正的开发中,数据库中所存储的数据绝对不像我们平时所写的那样,仅仅有几条数据,而是有几十条甚至上百条,像淘宝京东的用户把都是上几十万甚至百万的.如果这时候在 ...

  4. eval & exec(绕过长度限制思路学习)

    eval & exec知识点记录--原文章phithon,只是记录一下我自己的学习过程. 1.eval & exec if(strlen($param)<17 && ...

  5. 关于Alipay支付宝接口(Java版)

    支付宝开发文档:https://b.alipay.com/order/techService.htm 1.alipay 双功能支付简介 2.alipay 提交支付订单 3.alipay 整合双功能支付 ...

  6. java 数组去重总结

    如果一个数组中有重复元素,用什么方法可以去重?有其他方法继续更新 一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> ...

  7. 《CS:APP》二进制炸弹实验(phase_1-3)

    <深入理解计算机系统>第三章的bomb lab,拆弹实验:给出一个linux的可执行文件bomb,执行后文件要求分别进行6次输入,每一次输入错误都会导致炸弹爆炸,程序终止.需要通过反汇编来 ...

  8. SQLite在C#中的安装与操作

    SQLite 介绍 SQLite,是一款轻型的数据库,用于本地的数据储存. 先说说优点,它占用资源非常的低,在嵌入式设备中需要几百K的内存就够了:作为轻量级数据库,他的处理速度也足够快:支持的的容量级 ...

  9. vue.js移动端app实战3:从一个购物车入门vuex

    什么是vuex? 官方的解释是:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 简单来说就 ...

  10. js小知识-数组去重

    查看zepto源码时,看到它的数组去重写法非常简单.下面是代码 var uq = function(array){ return [].filter.call(array,function(item, ...