java围棋游戏源代码
//李雨泽源代码,不可随意修改。
//时间:2017年9月22号。
//地点:北京周末约科技有限公司。
//package com.bao;
/*围棋*/
/*import java.awt.*; import java.awt.event.*;
@SuppressWarnings("serial")
class ChessPad extends Panel implements MouseListener,ActionListener { int x=-1,y=-1,棋子颜色=-1; Button button=new Button("重新开始");
TextField text_1=new TextField("请黑棋下子"),text_2=new TextField();
ChessPad() { setSize(440,440);
setLayout(null);setBackground(Color.orange);
addMouseListener(this);add(button);button.setBounds(10,5,60,26);
button.addActionListener(this);
add(text_1);text_1.setBounds(90,5,90,24);
add(text_2);text_2.setBounds(290,5,90,24);
text_1.setEditable(f...
//此代码并保证可以运行
}
}
//package com.bao;
/*李雨泽java围棋游戏开发*/
import java.awt.*;
import java.awt.event.*;
//@SuppressWarnings("serial")
class ChessPad extends Panel implements MouseListener,ActionListener
{
int x=-1,y=-1,棋子颜色=-1;
Button button=new Button("重新开始");
TextField text_1=new TextField("请黑棋下子"),text_2=new TextField();
ChessPad()
{
setSize(440,440);
setLayout(null);setBackground(Color.orange);
addMouseListener(this);add(button);button.setBounds(10,5,60,26);
button.addActionListener(this);
add(text_1);text_1.setBounds(90,5,90,24);
add(text_2);text_2.setBounds(290,5,90,24);
text_1.setEditable(false);text_2.setEditable(false);
}
public void paint(Graphics g)
{
for(int i=40;i<=380;i=i+20){g.drawLine(40,i,400,i);}
g.drawLine(40,400,400,400);
for(int j=40;j<=390;j=j+20){g.drawLine(j,40,j,400);}
g.drawLine(400,40,400,400);
g.fillOval(97,97,6,6);g.fillOval(377,97,6,6);
g.fillOval(97,97,6,6);g.fillOval(337,337,6,6);
g.fillOval(217,217,6,6);
}
public void mousePressed(MouseEvent e)
{
if(e.getModifiers()==InputEvent.BUTTON1_MASK)
{
x=(int)e.getX();y=(int)e.getY();
ChessPoint_black chesspoint_black=new ChessPoint_black(this);
ChessPoint_white chesspoint_white=new ChessPoint_white(this);
int a=(x+10)/20,b=(y+10)/20;
if(x/20<2||y/20<2||x/20>19||y/20>19){}
else
{
if(棋子颜色==1)
{
this.add(chesspoint_black);
chesspoint_black.setBounds(a*20-10,b*20-10,20,20);
棋子颜色=棋子颜色*(-1);
text_2.setText("请白棋下子");
text_1.setText("");
}
else if(棋子颜色==-1)
{
this.add(chesspoint_white);
chesspoint_white.setBounds(a*20-10,b*20-10,20,20);
棋子颜色=棋子颜色*(-1);
text_1.setText("请黑棋下子");
text_2.setText("");
}
}
}
}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void actionPerformed(ActionEvent e)
{
this.removeAll();棋子颜色=-1;
add(button);button.setBounds(10,5,60,26);
add(text_1);text_1.setBounds(90,5,90,24);
text_2.setText("");text_1.setText("请黑子下棋");
add(text_2);text_2.setBounds(290,5,90,24);
}
}
//@SuppressWarnings("serial")
class ChessPoint_black extends Canvas implements MouseListener
{
ChessPad chesspad=null;
ChessPoint_black(ChessPad p)
{
setSize(20,20);chesspad=p;addMouseListener(this);
}
public void paint(Graphics g){g.setColor(Color.black);g.fillOval(0,0,20,20);}
public void mousePressed(MouseEvent e)
{
if(e.getModifiers()==InputEvent.BUTTON3_MASK)
{
chesspad.remove(this);
chesspad.棋子颜色=1;
chesspad.text_2.setText("");chesspad.text_1.setText("请黑棋下子");
}
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount()>2)
chesspad.remove(this);
}
}
//@SuppressWarnings("serial")
class ChessPoint_white extends Canvas implements MouseListener
{
ChessPad chesspad=null;
ChessPoint_white(ChessPad p)
{
setSize(20,20);addMouseListener(this);
chesspad=p;
}
public void paint(Graphics g){g.setColor(Color.white);g.fillOval(0,0,20,20);}
public void mousePressed(MouseEvent e)
{
if(e.getModifiers()==InputEvent.BUTTON3_MASK)
{
chesspad.remove(this);chesspad.棋子颜色=-1;
chesspad.text_2.setText("请白棋下子");chesspad.text_1.setText("");
}
}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount()>2)
chesspad.remove(this);
}
}
//@SuppressWarnings("serial")
public class demo extends Frame
{
ChessPad chesspad=new ChessPad();
demo()
{
setVisible(true);
setLayout(null);
Label label=new Label("游戏开发者:李雨泽 帮助:单击左键下棋子,双击吃棋子,右键悔棋",Label.CENTER);
add(label);label.setBounds(70,55,440,26);
label.setBackground(Color.orange);
add(chesspad);chesspad.setBounds(70,90,440,440);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e){System.exit(0);}});
pack();setSize(600,550);
}
public static void main(String args[])
{
//@SuppressWarnings("unused")
demo chess=new demo();
}
}
java围棋游戏源代码的更多相关文章
- java俄罗斯方块游戏代码
java俄罗斯方块游戏代码: package com; import java.awt.Color; import java.awt.Graphics; import java.awt.event.K ...
- flappy bird游戏源代码揭秘和下载
转:http://blog.csdn.net/touchsnow/article/details/19071961 背景: 最近火爆全球的游戏flappy bird让笔者叹为观止,于是花了一天的时间山 ...
- Android游戏源代码合集(主要是AndEngine和Libgdx的)
近期在网络上看到有网友抱怨Android游戏源代码找不到,所以小弟收集了一些AndEngine和Libgdx的游戏源代码,以Eclipseproject的形式配置好环境,再陆续发出(某引擎避嫌,不在此 ...
- 飞天熊猫游戏源代码android文本
这款游戏是前一段时间完毕的一个项目,飞行熊猫游戏源代码android版.飞行熊猫基于cocos2d游戏引擎开发.包含了谷歌admob广告支持,没有不论什么版权问题.大家能够自由改动和上传应用商店. 1 ...
- Java 3D游戏引擎——JME(java Monkey Engine)
转自:http://bbs.gameres.com/forum.php?mod=viewthread&tid=180732 JME(java Monkey Engine),一个非常棒的Java ...
- 比較不错的一个ios找茬游戏源代码
找茬游戏源代码 .这个是一款很不错的ios找茬游戏源代码,该游戏的兼容性很好的.并且还能够支持ipad和iphone.UI界面设计得也很美丽,游戏源代码真的是一款很完美.并且又很完整的一款休闲类的游戏 ...
- ios打地鼠游戏源代码
打地鼠游戏源代码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源代码,这也是一款高质量的打地鼠游戏源代码,能够拥有逐步上升的关卡的设置,大家能够在关卡时设置一些商业化的模式来盈利的,很完美的 ...
- Beat 'Em Up Game Starter Kit (横版格斗游戏) cocos2d-x游戏源代码
浓缩精华.专注战斗! 游戏的本质是什么?界面?养成?NoNo! 游戏来源于对实战和比赛的模拟,所以它的本源就是对抗.就是战斗! 是挥洒热血的一种方式! 一个游戏最复杂最难做的是什么?UI?商城? ...
- [转] java开源游戏
收藏一下 triplea Triplea是一个开放源码的boardgame.它允许玩家选择各种各样的战略版图游戏(如:轴心国或同盟军).TripleA引擎支持联网对战,支持声音,支持使用XML文 ...
随机推荐
- 【Shell Basic】Shell脚本编写规范
shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...
- Apache Storm 1.1.0 中文文档 | ApacheCN
前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...
- Java基础二
1 关键字 定义:被java语言赋予了特殊含义的单词. 特点:关键字中的所有字母都为小写. 用于定义数据类型的关键字 class.interface.byte.short.int.long.float ...
- Javaweb向服务器上传文件以及从服务器下载文件的方法
先导入jar包 点击下载 commons-fileupload是Apache开发的一款专门用来处理上传的工具,它的作用就是可以从request对象中解析出,用户发送的请求参数和上传文件的流. comm ...
- DotNetCore跨平台~Quartz热部署的福音~监控文件夹的变化
在DotNetCore出来之后,同时也使用了quartz进行调度中心的设计,将它做到docker里方便部署,在之前的quartz版本里支持配置文件的方式,而现在不支持了,我们应该去想一下,为什么不去支 ...
- linux(一)之linux简介
其实在前几天我使用的是csdn来写博客,尝试了一下,发现真的太浪费时间了.可能是自己不太习惯的原因吧.所以最后还是换回使用博客园.接下来给大家带来的是linux,大家听到这里linux感觉很神秘的样子 ...
- 迈向angularjs2系列(8):angular cli和angular2种子项目
文章目录 1.angular cli快速搭建项目 2.angular2-seed 3.手动配置 题外话:如何更好的阅读本篇文章 一: angular cli的安装 Angular-cli(命令行界面, ...
- Sublime Text3 最常用快捷键
软件快捷键再多,平时常用的也就那么几个,先总结如下: 全选:Ctrl+A 复制:Ctrl+C 粘贴:Ctrl+V 删除:Ctrl+X 快速复制到下一行:Ctrl+Shift+D 快速向上移动代码:Ct ...
- python基础教程(十一)
迭代器 本节进行迭代器的讨论.只讨论一个特殊方法---- __iter__ ,这个方法是迭代器规则的基础. 迭代器规则 迭代的意思是重复做一些事很多次---就像在循环中做的那样.__iter__ 方 ...
- Python学习笔记3
__slots__ 如果我们想要限制class的属性怎么办?比如,只允许对Student实例添加name和age属性. 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__s ...