
剪刀石头布
发布日期:2021-05-07 04:40:36
浏览次数:25
分类:精选文章
本文共 3927 字,大约阅读时间需要 13 分钟。
(一)控制台版本
import java.util.Random;import java.util.Scanner;public class Test{ public static void main(String[] args) { Random r = new Random(); //建筑随机器 Scanner c = new Scanner(System.in); Scanner s = new Scanner(System.in); System.out.println("start game? y/n"); System.out.println("0:剪刀 1:石头 2:布 "); String ch = c.next(); if(ch.equals("n")) {System.out.println("over");return;} int cho = 0; int cho_m; while(ch.equals("y")) { System.out.println("make a choice.!"); cho = s.nextInt(); if(cho>=3) {System.out.println("请好好选择!");continue;} //用户选择 System.out.print("u are: "); if(cho==0) {System.out.print("剪刀");} if(cho==1) {System.out.print("石头");} if(cho==2) {System.out.print("布");} System.out.println(); //电脑选择 cho_m = r.nextInt(3); //产生随机数 System.out.print("computer are: "); if(cho_m==0) {System.out.print("剪刀");} if(cho_m==1) {System.out.print("石头");} if(cho_m==2) {System.out.print("布");} System.out.println(); //判断 if(cho == cho_m) {System.out.print("打平");} else if(cho==0&&cho_m==1 || cho==1&&cho_m==2 || cho==2&&cho_m==0 ){System.out.print("u lose");} else if(cho==0&&cho_m==2 || cho==1&&cho_m==0 || cho==2&&cho_m==1){System.out.print("u win");} System.out.println(); System.out.println(); System.out.println("start game? y/s"); ch = c.next(); } }}
(二)GUI版本
import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import java.util.Scanner;public class FrameTest { Random random = new Random(3); //建立随机数 int com_Do; int user_Do; Frame f = new Frame("剪刀石头布"); Panel p_user = new Panel(); //用户部分 Panel p_com = new Panel(); //电脑部分 Panel p_result = new Panel(); //显示结果部分 Panel p_end = new Panel(); //开始按钮 //TestField TextField t1 = new TextField(8); //用户部分文本框 TextField t2 = new TextField(8); //电脑部分文本框 TextField t3 = new TextField(8); //结果 public void layout_Init() { p_user.add(t1); p_com.add(t2); p_result.add(t3); Button_init(); f.add(p_user,BorderLayout.WEST); f.add(p_com,BorderLayout.EAST); f.add(p_result,BorderLayout.CENTER); f.add(p_end,BorderLayout.NORTH); f.pack(); f.setVisible(true); //显示图像,有这句后,程序不会运行完就自动结束 } public void Button_init() { Button bu1 = new Button("剪刀"); Button bu2 = new Button("石头"); Button bu3 = new Button("布"); Button restart = new Button("结束"); bu1.addActionListener(new Scissor()); bu2.addActionListener(new Rock()); bu3.addActionListener(new Paper()); restart.addActionListener(new Start()); //add the Buttons to the Panel p_user.add(bu1); p_user.add(bu2); p_user.add(bu3); p_end.add(restart); } //computer choice public void Computer_choice() { com_Do = random.nextInt(3); System.out.print("com:"+com_Do); if(com_Do == 0) t2.setText("剪刀"); if(com_Do == 1) t2.setText("石头"); if(com_Do == 2) t2.setText("布"); judge(); } //judge win or lose public void judge() { if(com_Do == user_Do) t3.setText("打平"); if(com_Do==0 && user_Do==1 || com_Do==1 && user_Do==2 ||com_Do==2&&user_Do==0) t3.setText("你赢了!"); if(com_Do==0 && user_Do==2 || com_Do==1 && user_Do==0 ||com_Do==2&&user_Do==1) t3.setText("你输了!"); } //define Events Listener class Scissor implements ActionListener { public void actionPerformed(ActionEvent e) { t1.setText("剪刀"); user_Do = 0; System.out.print("user:"+user_Do); Computer_choice(); } } class Rock implements ActionListener { public void actionPerformed(ActionEvent e) { t1.setText("石头"); user_Do = 1; System.out.print("user:"+user_Do); Computer_choice(); } } class Paper implements ActionListener { public void actionPerformed(ActionEvent e) { t1.setText("布"); user_Do = 2; System.out.print("user:"+user_Do); Computer_choice(); } } class Start implements ActionListener { public void actionPerformed(ActionEvent e) { System.exit(0); } } public static void main(String[] args) { new FrameTest().layout_Init(); }}效果图:
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月26日 18时14分36秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Tomcat 热部署
2021-05-09
深入解析 HTTP 缓存控制
2021-05-09
深入浅出访问者模式
2021-05-09
深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍
2021-05-09
百度前端技术学院task16源代码
2021-05-09
解析js中( ( ) { } ( ) )的含义
2021-05-09
js设计模式总结5
2021-05-09
Python大神编程常用4大工具,你用过几个?
2021-05-09
一文带你了解图神经网络
2021-05-09
9个常用ES6特性归纳(一般用这些就够了)
2021-05-09
3D渲染集群,你了解多少?
2021-05-09
除了方文山,用TA你也能帮周杰伦写歌词了
2021-05-09
关于GO语言,这篇文章讲的很明白
2021-05-09
华为云FusionInsight湖仓一体解决方案的前世今生
2021-05-09
大数据处理黑科技:揭秘PB级数仓GaussDB(DWS) 并行计算技术
2021-05-09
C++调用Go方法的字符串传递问题及解决方案
2021-05-09
云原生2.0时代下,DevOps实践如何才能更加高效敏捷?
2021-05-09
技巧收藏|10个JavaScript常用数组操作方法
2021-05-09
两种端到端通用目标检测方法
2021-05-09
探索语言交互技术在政务数字化的应用
2021-05-09