java如何实现简单三子棋游戏
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,本篇内容主要讲解"java如何实现简单三子棋游戏",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java如何实现简单三子棋游戏"吧!JOptionPane类
千家信息网最后更新 2024年11月19日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安全错误
数据库的锁怎样保障安全
固态硬盘可以当服务器吗
服务器被攻击什么意思
崩坏三哪个服务器抽卡概率高
基于云计算 软件开发
崇宇互联网科技有限公司
专业数据库的文献来源有哪些
网吧网络安全审计法律法规
redhat 邮件服务器
胜利之日服务器
如何让数据库日志不增加
代理服务器服务端
世界政府网络安全事件
华为五g 服务器的用途
计算机软件开发付款
库存信息表数据库
网络安全信息欺骗
云终端服务器系统
计算机网络技术的专业特点
密钥管理服务器名怎么看
软件开发经济
网络安全法学习情况
菏泽市国家网络安全宣传
服务器虚拟内存有必要设置吗
金铲铲自己的服务器进不去
连接数据库的连接名和密码在哪找
软件开发项目初设方案
网络安全教育视频音乐
博兴仓库管理软件开发公司
sql数据库删除一个表数据
介绍软件开发的ppt