java如何实现简单三子棋游戏
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"java如何实现简单三子棋游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java如何实现简单三子棋游戏"吧!JOptionPane类
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
为想互联网科技怎么样
新华互联网科技学校
朗新科技与工业互联网
科技与互联网发展
互联网金融公司科技
深圳互联网络科技有限公司
互联网科技ppt模板
融势互联网科技
互联网科技论坛
科技类的互联网平台
深圳互联网科技怎么样
知域互联网科技有限公司大骗子
银川新华互联网科技学校联系电话
如何创新互联网科技
科技互联网海报
互联网公司高科技产品
互联网科技数字货币
易企秀互联网科技是做什么的
唐山双旺合互联网科技产业园
江苏根荣互联网科技
唐信互联网科技
互联网科技上市公司
恒生科技互联网指数分析
银川新华互联网科技学校地址
上海电发互联网科技有限公司
佛山市拉法互联网科技有限公司
科技赋能视角下互联网保险发展
电子商务与互联网科技的关系
众联互联网络科技