java如何实现简单三子棋游戏
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"java如何实现简单三子棋游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java如何实现简单三子棋游戏"吧!JOptionPane类
千家信息网最后更新 2025年11月07日java如何实现简单三子棋游戏
本篇内容主要讲解"java如何实现简单三子棋游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java如何实现简单三子棋游戏"吧!
JOptionPane类的使用
编写程序,实现简单的三子棋游戏。在三子棋中,双方在3×3的棋盘中轮流下棋,一方用*示,另一方用O表示。如果一方的3个棋子占据了同一行,同一列或者对角线,则该方获胜。如果棋盘已被棋子占满,但没有一方获胜则出现平局。在程序中,一方为用户,用户在界面上输入每次下棋的位置;另一方下棋的位置为随机自动生成。示例界面如图所示。

提示:(1) 采用Scanner类或者JOptionPane类中提供的方法输入,输出采用System.out中的方法或JOptionPane类提供的方法。 (2) 字符串处理可以使用String或StringBuffer类。
实现代码:
import java.util.Random;import javax.swing.*;public class Main { public static boolean check(StringBuffer st,int pos){ //检查pos上的棋子有没有获胜 char des=st.charAt(pos); char []s=new char[10]; for(int i=1;i<=9;i++) s[i]=st.charAt(i); if((s[3]==des&&s[6]==des&&s[9]==des)|| (s[1]==des&&s[4]==des&&s[7]==des)|| (s[2]==des&&s[5]==des&&s[8]==des)|| (s[1]==des&&s[3]==des&&s[2]==des)|| (s[6]==des&&s[4]==des&&s[5]==des)|| (s[9]==des&&s[7]==des&&s[8]==des)|| (s[1]==des&&s[5]==des&&s[9]==des)|| (s[3]==des&&s[5]==des&&s[7]==des)) return true; return false; } public static void main(String[] args) { StringBuffer s= new StringBuffer("0123456789"); String tp; for(int i=0;i<=5;){ int k=-1; tp=JOptionPane.showInputDialog("---------------------------\n| "+s.charAt(1)+" | "+s.charAt(2)+" | "+s.charAt(3)+" |\n---------------------------\n| "+s.charAt(4)+" | "+s.charAt(5)+" | "+s.charAt(6)+" |\n---------------------------\n| "+s.charAt(7)+" | "+s.charAt(8)+" | "+s.charAt(9)+" |\n---------------------------\n"+"请输入落子位置(1~9):"); boolean f=true; if(tp.length()==1){ k=tp.charAt(0)-'0'; if(k>=1&&k<=9){ if(s.charAt(k)>='1'&&s.charAt(k)<='9'){ i++; //有效下棋 f=false; } } } while(f){ tp=JOptionPane.showInputDialog("---------------------------\n| "+s.charAt(1)+" | "+s.charAt(2)+" | "+s.charAt(3)+" |\n---------------------------\n| "+s.charAt(4)+" | "+s.charAt(5)+" | "+s.charAt(6)+" |\n---------------------------\n| "+s.charAt(7)+" | "+s.charAt(8)+" | "+s.charAt(9)+" |\n---------------------------\n"+"输入错误,请重新输入落子的位置:"); if(tp.length()==1){ k=tp.charAt(0)-'0'; if(k>=1&&k<=9){ if(s.charAt(k)>='1'&&s.charAt(k)<='9'){ i++; //有效下棋 f=false; } } } } //在k处落子 s.replace(k,k+1,"O"); if(check(s,k)){ //获胜 JOptionPane.showMessageDialog(null,"---------------------------\n| "+s.charAt(1)+" | "+s.charAt(2)+" | "+s.charAt(3)+" |\n---------------------------\n| "+s.charAt(4)+" | "+s.charAt(5)+" | "+s.charAt(6)+" |\n---------------------------\n| "+s.charAt(7)+" | "+s.charAt(8)+" | "+s.charAt(9)+" |\n---------------------------\n"+"恭喜你,你赢了!"); break; } //电脑随机落子 if(i==5) { JOptionPane.showMessageDialog(null,"---------------------------\n| "+s.charAt(1)+" | "+s.charAt(2)+" | "+s.charAt(3)+" |\n---------------------------\n| "+s.charAt(4)+" | "+s.charAt(5)+" | "+s.charAt(6)+" |\n---------------------------\n| "+s.charAt(7)+" | "+s.charAt(8)+" | "+s.charAt(9)+" |\n---------------------------\n"+"平局!"); break; } Random rs=new Random(); k=rs.nextInt(9)+1; while(k<1||k>9||s.charAt(k)=='*'||s.charAt(k)=='O') k=rs.nextInt(9)+1; s.replace(k,k+1,"*"); if(check(s,k)){ //电脑胜 JOptionPane.showMessageDialog(null,"---------------------------\n| "+s.charAt(1)+" | "+s.charAt(2)+" | "+s.charAt(3)+" |\n---------------------------\n| "+s.charAt(4)+" | "+s.charAt(5)+" | "+s.charAt(6)+" |\n---------------------------\n| "+s.charAt(7)+" | "+s.charAt(8)+" | "+s.charAt(9)+" |\n---------------------------\n"+"你输了,再接再厉吧!"); break; } } }}到此,相信大家对"java如何实现简单三子棋游戏"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
一方
三子
方法
棋子
位置
内容
平局
棋盘
用户
电脑
界面
程序
学习
输入
实用
更深
有效
再接再厉
一行
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全三不是什么
csgo怎么连接官匹服务器
派出所网络安全宣传工作
软件开发人员工作内容
平板提示找不到服务器
零基础网络安全渗透
iPad服务器走丢了
网络安全金点子手抄报
鲸鲨云数据库迁移工具
怎么选择软件开发项目
serv u 服务器
石家庄市网络安全演练
数据库读取数据分段
数据库联系电话的英文
分析我国互联网网络安全形式
泾县巨型软件开发服务代理品牌
东莞寮步网络技术培训班
掌上数据库app
市创网络技术有限公司怎么样
无声科技网络安全法
怎么查看数据库作业的执行时间
榆林软件开发哪家好
软件开发商标注册哪个类别
华蓥软件开发项目管理
武汉无为广域网络技术
荒野行动pc连接上服务器打不开
云记软件开发淘宝
温州软件开发培训哪个好
网络安全图画初中
服务器内存三星海士力美光