❶ 求一個java猜拳游戲程序
packagetest;
importjava.util.Random;
importjava.util.Scanner;
/**
*猜拳游戲思路
*1、定義輸入函數
*2、提示用戶輸入猜拳數值
*3、定義隨機一個數作為電腦數值
*4、判斷[用戶輸入數值]與[電腦隨機數值]
*5、能夠相等就是打平,不能相等就利用&&、||邏輯符判斷輸贏
*6、設定數值1-石頭2-剪刀3-布
*/
publicclassCaiQuanYouXi{
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);//定義輸入函數in,Scanner包功能,輸入數值用的
System.out.println("--------------猜拳游戲---------------");
System.out.println("請輸入一個數值:1、石頭2、剪刀3、布");//提示輸入數值
System.out.println("");//空行
intx=in.nextInt();//讓用戶輸入X的數值
Randomon=newRandom();//定義電腦的隨機數值的函數on
inty=on.nextInt(3)+1;//定義y隨機函數數值范圍(1--3)
if(x>=4||x==0){//判斷用戶是否輸入非1--3范圍
System.out.println("親,請正確輸入:1、石頭2、剪刀3、布。你輸入了:"+x);
}else{
/*下面是判斷用戶輸入x的數值嵌套if*/
if(x==y){
if(x==1){//判斷打平的情況
System.out.println("你:石頭------電腦:石頭PK:很幸運打平手");
}elseif(x==2){
System.out.println("你:剪刀------電腦:剪刀PK:很幸運打平手");
}else{
System.out.println("你:布------電腦:布PK:很幸運打平手");
}
}elseif(x==1&&y==2||x==2&&y==3||x==3&&y==1){//開始判斷贏的情況
if(x==1&&y==2){
System.out.println("你:石頭------電腦:剪刀PK:恭喜您,贏了!");
}elseif(x==2&&y==3){
System.out.println("你:剪刀------電腦:布PK:恭喜您,贏了!");
}else{
System.out.println("你:布------電腦:石頭PK:恭喜您,贏了!");
}
}else{//開始判斷輸的情況
if(x==1&&y==3){
System.out.println("你:石頭------電腦:布PK:很遺憾,輸了!");
}elseif(x==2&&y==1){
System.out.println("你:剪刀------電腦:石頭PK:很遺憾,輸了!");
}else{
System.out.println("你:布------電腦:剪刀PK:很遺憾,輸了!");
}
}
}
}
}
運行後的效果展示:
--------------猜拳游戲---------------
請輸入一個數值:1、石頭 2、剪刀 3、布
1
你:石頭------電腦:布 PK:很遺憾,輸了!
--------------猜拳游戲---------------
請輸入一個數值:1、石頭 2、剪刀 3、布
4
親,請正確輸入:1、石頭 2、剪刀 3、布。你輸入了:4
❷ 在學習java期間如何利用java製作一個簡單的猜拳游戲編程
importjava.util.Scanner;
publicclassGame{
privateScannerscan=newScanner(System.in);
privateStringrule[]={"","剪刀","石頭","布"};
privateStringrole[]={"","劉備","孫權","曹操"};
privateComputercomputer;
privateUseruser;
privateintroundCount;
privateGame(){
roundCount=0;
}
publicstaticvoidmain(String[]args){
Gamegame=newGame();
game.start();
}
publicvoidstart(){
computer=newComputer();
System.out.println("--歡迎進入游戲世界--");
System.out.println("********************");
System.out.println("**猜拳,開始**");
System.out.println("********************");
System.out.println();
System.out.println("出拳規則:1.剪刀2.石頭3.布");
System.out.print("請選擇角色(1:劉備2.孫權3.曹操)");
intuserRole=scan.nextInt();
if(userRole>=1&&userRole<=3){
user=newUser(role[userRole]);
System.out.println();
System.out.print("要開始嗎?(y/n)");
Stringstart=scan.next();
if(start.equals("y")){
round();
}
elseif(start.equals("n")){
}
}
}
privatevoidround(){
roundCount++;
System.out.println();
System.out.print("請出拳:1.剪刀2.石頭3.布(輸入相應數字):");
intuserRule=user.round();
if(userRule>=1&&userRule<=3){
intcomputerRule=computer.round();
judge(userRule,computerRule);
System.out.println();
System.out.print("是否開始下一輪(y/n):");
Stringnext=scan.next();
if(next.equals("y")){
round();
}
elseif(next.equals("n")){
end();
}
}
}
privatevoidjudge(intur,intcr){
System.out.println("你出拳:"+rule[ur]);
System.out.println("電腦出拳:"+rule[cr]);
if(ur==cr){
System.out.println("結果:和局,真衰!嘿嘿,等著瞧吧!");
}
elseif((ur==1&&cr==3)||
(ur==2&&cr==1)||
(ur==3&&cr==2)){
System.out.println("結果:你贏了!");
user.win();
}
else{
System.out.println("結果:你輸了!");
computer.win();
}
}
privatevoidend(){
System.out.println("--------------------------------------");
System.out.println(user.getName()+"VS"+computer.getName());
System.out.println("對戰次數:"+roundCount);
if(computer.getWin()==user.getWin()){
System.out.println("結果:打成平手,下次再和你一分高下!");
}
elseif(computer.getWin()>user.getWin()){
System.out.println("結果:你輸了!電腦贏了"+computer.getWin()+"次!");
}
else{
System.out.println("結果:你贏了!你贏了"+user.getWin()+"次!");
}
System.out.println("--------------------------------------");
}
classComputer{
privateintwin;
privateStringname;
publicComputer(){
win=0;
name="匿名";
}
publicintround(){
return(int)(System.currentTimeMillis()%3)+1;//隨機返回1、2、3
}
publicStringgetName(){
returnname;
}
publicvoidwin(){
win++;
}
publicintgetWin(){
returnwin;
}
}
classUser{
privateintwin;
privateStringname="";
publicUser(Stringname){
this.name=name;
win=0;
}
publicintround(){
returnscan.nextInt();
}
publicStringgetName(){
returnname;
}
publicvoidwin(){
win++;
}
publicintgetWin(){
returnwin;
}
}
}
❸ 求java 猜拳游戲代碼!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class FingerGuessing {
private String[] op = new String[] { "布", "剪刀", "石頭" };
Random r = new Random();
private int wj = 0;
private int dn = 0;
private int count = 0;
private int go() {
int k = r.nextInt(3);
System.out.println("電腦:" + op[k]);
return k;
}
private void compare(int i) {
count++;
System.out.println("玩家:" + op[i - 1]);
int k = go();
if ( i - 1 == k) {
System.out.println("打平");
} else if ( i - 1 - k == 1 || i-1-k == -2) {
System.out.println("玩家獲勝");
wj++;
} else {
System.out.println("電腦獲勝");
dn++;
}
}
private void info() {
System.out.println("共" + count + "盤");
System.out.println("玩家獲勝" + wj + "盤");
System.out.println("電腦獲勝" + dn + "盤");
System.out.println("打平" + (count-wj-dn) + "盤");
}
public void start() {
String xz = "";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
do {
System.out.println("\n請選擇:\n1.布\n2.剪刀\n3.石頭\n結束請輸入exit");
try {
xz = br.readLine();
if (xz.equalsIgnoreCase("exit")) {
info();
continue;
}
if (!xz.equals("1") && !xz.equals("2") && !xz.equals("3")) {
System.out.println("選擇錯誤,請重新選擇");
continue;
}
compare(Integer.parseInt(xz));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} while (!xz.equals("exit"));
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new FingerGuessing().start();
}
}
❹ java猜拳游戲 (3局2勝)
packageDemo;
importjava.util.Random;
importjava.util.Scanner;
publicclassDemo12{
publicstaticvoidmain(String[]args){
String[]str={"石頭","剪刀","布"};
Randomram=newRandom();
inty,n,i;
while(true){
System.out.println("菜單: 1、開始猜拳 9、退出");
Scannerscan=newScanner(System.in);
System.out.print("請選擇:");
Strings=scan.nextLine();
if("1".equals(s.trim())){
y=0;
n=0;
i=0;
while(true){
try{
System.out.println("請出拳:1、石頭2、剪刀3、布");
ints1=Integer.parseInt(scan.nextLine());
if(s1>0&&s1<4){
System.out.println("你出:"+str[s1-1]);
ints2=ram.nextInt(3);
System.out.println("我出:"+str[s2]);
if(s1==(s2+1)){
System.out.println("這次是平局");
}elseif((s1==1&&s2==1)
||(s1==2&&s2==2)
||(s1==3&&s2==0)){
System.out.println("這次你贏了!");
y++;
}elseif((s1==1&&s2==2)
||(s1==2&&s2==0)
||(s1==3&&s2==1)){
System.out.println("這次你輸了!");
n++;
}
if(i==2){
if(y>n){
System.out.println("你贏了"+y+":"+n);
}elseif(y<n){
System.out.println("你輸了"+y+":"+n);
}else{
System.out.println("平局"+y+":"+n);
}
break;
}
i++;
}else{
System.out.println("輸入有誤!");
}
}catch(Exceptionex){
System.out.println("輸入有誤!");
}
}
}elseif("9".equals(s.trim())){
System.out.println("退出成功");
return;
}else{
System.out.println("指令錯誤~");
}
}
}
}
菜單:
1、開始猜拳
9、退出
請選擇:2
指令錯誤~
菜單:
1、開始猜拳
9、退出
請選擇:1
請出拳:1、石頭 2、剪刀 3、布
2
你 出:剪刀
我 出:布
這次你贏了!
請出拳:1、石頭 2、剪刀 3、布
4
輸入有誤!
請出拳:1、石頭 2、剪刀 3、布
3
你 出:布
我 出:布
這次是平局
請出拳:1、石頭 2、剪刀 3、布
1
你 出:石頭
我 出:石頭
這次是平局
你贏了 1:0
菜單:
1、開始猜拳
9、退出
請選擇:9
退出成功
❺ 急求一個JAVA編程,「編寫一個猜拳游戲,分別用0、1、2表示石頭、剪子、布。
用我自己的方法寫了一個,看LZ喜歡不喜歡
12是石頭,23是剪子,31是布.first表示第一個人。second表示第二個人!
import java.util.Random;
public class Print {
public static void main(String[] args) {
//"12"是石頭,「23」是剪子,「31」是布
String[] a = {"12", "23", "31"};
Random r = new Random ();
String first = a[r.nextInt(3)];
String second = a[r.nextInt(3)];
System.out.println("12是石頭,23是剪子,31是布.first表示第一個人。second表示第二個人!\n---------");
if (first.equals(second)) {
System.out.println(first + "--" + second + ",(前面是first,後一個是second)" + ":平了");
} else if (first.charAt(1) == second.charAt(0)) {
System.out.println("出拳情況:" + first + "--" + second + ",(前面是first,後一個是second)" + "\n結果判斷:" + result1(first,second));
} else if (first.charAt(0) == second.charAt(1)) {
System.out.println("出拳情況:" + first + "--" + second + ",(前面是first,後一個是second)" + "\n結果判斷:" + result2(first,second));
}
}
public static String result1 (String f, String s) {
if (f.equals("12") && s.equals("23")) {
return "first石頭 勝 second剪子";
} else if (f.equals("23") && s.equals("31")) {
return "first剪子 勝 second布";
} else {
return "first布 勝 second石頭";
}
}
public static String result2 (String f, String s) {
if (f.equals("12") && s.equals("31")) {
return "first石頭 輸 second布";
} else if (f.equals("23") && s.equals("12")) {
return "first剪子 輸 second石頭";
} else {
return "first布 輸 second剪子";
}
}
}
❻ 用JAVA編寫一個猜拳游戲【5局3勝】
import java.util.Scanner;
/**
* 用戶輸入石頭,剪子,布,和系統隨機產生的對比,【5局3勝】
* @author ww
*
*/
public class Mora {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("請輸入石頭剪子布...");
int userWin = 0; //用戶贏的次數
int computerWin = 0; //計算機贏的次數
for(int i=0;i<5;i++){
String user = s.next();
int user_int;
int computer = (int) (Math.random()*3);
//將石頭剪子布轉換成數字,容易比較
//石頭-0,剪子-1,布-2
if("石頭".equals(user)){
user_int = 0;
}else if("剪子".equals(user)){
user_int = 1;
}else if("布".equals(user)){
user_int = 2;
}else{
System.out.println("請正確輸入石頭剪子布...");
i--;
continue;
}
System.out.println("user_int"+user_int);
System.out.println("computer"+computer);
//判斷輸贏
if(user_int-computer==-1 || user_int-computer==2){
userWin++;
System.out.println("您贏了"+userWin+"次");
if(userWin==3){
System.out.println("恭喜!您贏了");
break;
}
}else if(computer-user_int==-1 || computer-user_int==2){
computerWin++;
System.out.println("您輸了"+computerWin+"次");
if(computerWin==3){
System.out.println("對不起!您輸了");
break;
}
}else{
System.out.println("和局");
i--;
continue;
}
}
}
}
❼ 求JAVA人機猜拳的代碼,類似一下界面。
自己純手打,老半天才弄出來啊
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.util.Random;
import javax.swing.AbstractAction;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Demo2 extends JFrame {
private JLabel lb1, lb2, lb3, lb4; // 提示標簽
private JTextField ta1, ta2;// 兩個文本框
private JButton b1, b2, b3; // 三個按鈕
private JPanel p1, p2; // 兩個JPanel面板
public Demo2() {
// 初始化所有組件
lb1 = new JLabel("歡迎使用人機猜拳程序");
lb2 = new JLabel("你出拳: ");
lb3 = new JLabel("電腦出拳:");
lb4 = new JLabel("結果");
ta1 = new JTextField();
ta1.setPreferredSize(new Dimension(60, 60)); // 設置大小
ta1.setEditable(false);//設置不可編輯
ta2 = new JTextField();
ta2.setPreferredSize(new Dimension(60, 60));
ta2.setEditable(false);//設置不可編輯
b1 = new JButton("剪刀");
b2 = new JButton("石頭");
b3 = new JButton("布");
p1 = new JPanel();
p2 = new JPanel();
// 設置第一個面板內容
Box box = Box.createVerticalBox();
Box box1 = Box.createHorizontalBox();
box1.add(lb2);
box1.add(ta1);
box1.add(lb3);
box1.add(ta2);
box.add(lb1);
box.add(Box.createVerticalStrut(40));
box.add(box1);
box.add(Box.createVerticalStrut(10));
box.add(lb4);
box.add(new JLabel());
p1.add(box);
// 設置第二個面板
p2.setLayout(new GridBagLayout()); // 使用GridBagLayout布局管理器
p2.setPreferredSize(new Dimension(0, 60));
GridBagConstraints g2 = new GridBagConstraints();
g2.fill = GridBagConstraints.BOTH;
g2.weightx = 1.0;
g2.weighty = 1.0;
g2.gridx = 0;
g2.gridy = 0;
p2.add(b1, g2);
g2.gridx = 1;
p2.add(b2, g2);
g2.gridx = 2;
p2.add(b3, g2);
//為3個按鈕添加事件
b1.addActionListener(new buttonAction());
b2.addActionListener(new buttonAction());
b3.addActionListener(new buttonAction());
this.getContentPane().add(p1);
this.getContentPane().add(p2, BorderLayout.SOUTH);
this.setTitle("機器人猜拳游戲");
this.setSize(300, 300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//事件類
class buttonAction extends AbstractAction{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b1){
ta1.setText("剪刀");
init(ta1.getText());
}else if(e.getSource()==b2){
ta1.setText("石頭");
init(ta1.getText());
}else if(e.getSource()==b3){
ta1.setText("布");
init(ta1.getText());
}
}
// 模擬電腦出拳,產生三個隨機數。0代表剪刀,1代表石頭,2代表布
public String getQuan(){
String str="";
int num=new Random().nextInt(3) ;
if(num==0){
str="剪刀";
}else if(num==1){
str="石頭";
}else if(num==2){
str="布";
}
return str;
}
// 判斷輸贏方法
public String isying(String s1,String s2){
String s="";
if(s1.equals(s2)){
s="平局";
}else if(s1.equals("剪刀")&&s2.equals("布")){
s="你贏";
}else if(s1.equals("石頭")&&s2.equals("剪刀")){
s="你贏";
}else if(s1.equals("布")&&s2.equals("石頭")){
s="你贏";
}else{
s="電腦贏";
}
return s;
}
public void init(String wo){
String sy=""; // 保存輸贏結果
String dncq=getQuan(); //電腦出拳
if(wo.equals(dncq)){
sy="平局";
}else if(wo.equals("剪刀")&&dncq.equals("布")){
sy="你贏";
}else if(wo.equals("石頭")&&dncq.equals("剪刀")){
sy="你贏";
}else if(wo.equals("布")&&dncq.equals("石頭")){
sy="你贏";
}else{
sy="電腦贏";
}
ta2.setText(dncq);// 電腦出拳
lb4.setText("結果:"+sy);
}
}
public static void main(String[] args) {
new Demo2();
}
}
❽ 用java如何編寫一個猜拳游戲
我之前寫了個猜拳游戲的源代碼,不過沒你想的這么精彩。你才給5分就給你你自己修改了,應該很簡單的。要多給點分我可以幫你修改。
import java.util.Scanner;
import java.util.Random;
public class caiquan
{
final int jian=0;
final int shitou=1;
final int bu=2;
public static void main(String[] args)
{
String yn="y";
while (yn.equals("y"))
{
Scanner scanner = new Scanner(System.in);
System.out.println("歡迎玩猜拳游戲。請輸入0,1,2:0表示剪刀,1表示石頭,2表示布");
int a = scanner.nextInt();
Random rd = new Random();
int b = rd.nextInt(3);
switch (b)
{
case 0:
{
System.out.println("系統出的是剪刀");
switch(a)
{
case 0:System.out.println("平");break;
case 1:System.out.println("贏");break;
case 2:System.out.println("輸");break;
}
}
break;
case 1:
{
System.out.println("系統出的是石頭");
switch(a)
{
case 0:System.out.println("輸");break;
case 1:System.out.println("平");break;
case 2:System.out.println("贏");break;
}
}
break;
case 2:
{
System.out.println("系統出的是布");
switch(a)
{
case 0:System.out.println("贏");break;
case 1:System.out.println("輸");break;
case 2:System.out.println("平");break;
}
}
}
Scanner ynn = new Scanner(System.in);
System.out.println("是否繼續?是請輸入y,否則輸入n。");
yn=ynn.next();
}
}
}
❾ JAVA編寫一個智能猜拳游戲
去查
智能演算法
,可以用其中的神經網路實現,這種代碼在淘寶上能賣到1000左右,別想了
望採納
而且使用matlab編的,用java估計更貴,因為更復雜
你可以去csdn或者
開源社區
上找找,或許有人分享過
❿ java代碼猜拳游戲相關代碼請教
comp是電腦產生的隨機數字(電腦出的拳),people 是人出的拳。 因為剪刀石頭布只有 1 2 3
。如果電腦的數字比的你剛好大1,就是它比你的大。 如2>1,3>2對應就是(石頭大於剪刀,布大於石頭)。 但也有可能是剪刀大於布 。 那麼剪刀的位子是1 ,布的位子是3. 所以當電腦數字減你的數字等於2時 就是(電腦出的布 ,你出的石頭這樣的情況了)。
所以是if((comp-people)==-1||(comp-people)==2) 這兩者結合就是你贏的時候