×

猜拳小游戏代码

猜拳小游戏代码(用java如何编写一个猜拳游戏)

admin admin 发表于2023-04-19 17:55:25 浏览37 评论0

抢沙发发表评论

本文目录

用java如何编写一个猜拳游戏


我之前写了个猜拳游戏的源代码,不过没你想的这么精彩。你才给5分就给你你自己修改了,应该很简单的。要多给点分我可以帮你修改。
import java.util.Scanner;
import java.util.Random;
public class caiquan
{
final int jiandao=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();
}
}
}

C语言猜拳游戏代码 帮忙 改改 能运行就行 五局三胜制是关键


#include 《stdio.h》
#include 《math.h》
#include 《time.h》
int main()
{
int a,b,i,s,s1;
i=1;
s=0;
s1=0;
srand((unsigned)time(NULL));
printf(“猜拳游戏\n0石头1剪刀2布\n***********\n“);
printf(“规则:共有5局“);
printf(“请\n出\n拳\n..\n“);
do
{
scanf(“%d“,&b);
a=rand()%3;
if(a==0&&b==0)
{printf(“电脑出的是拳头,您出的是拳头,平\n“);s=s+0;}
else if(a==0&&b==1)
printf(“电脑出的是拳头,您出的是剪刀,负\n“);
else if(a==0&&b==2)
{printf(“电脑出的是拳头,您出的是布,赢\n“);s=s+1;}
else if(a==1&&b==0)
{printf(“电脑出的是剪刀,您出的是石头,赢\n“);s=s+1;}
else if(a==1&&b==1)
{printf(“电脑出的是剪刀,您出的是剪刀,平\n“);s=s+0;}
else if(a==1&&b==2)
printf(“电脑出的是剪刀,您出的是布,负\n“);
else if(a==2&&b==0)
printf(“电脑出的是布,您出的是石头,负\n“);
else if(a==2&&b==1)
{printf(“电脑出的是布,您出的是剪刀,赢\n“);s=s+1;}
else if(a==2&&b==2)
{printf(“电脑出的是布,您出的是布,平\n“);s=s+0;}
else
{printf(“存在错误\n“);s=s+0;}
}while(i++》5);
printf(“\n您的得分为:%d分\n“,s);
if(s》2)
printf(“您赢了“);
else
printf(“您输了“);
return 0;
}
估计这样就达到你的目的了

人机互猜拳c#代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 猜拳游戏
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //写一个将鼠标点击事务 将字符串转换成响应数值的办法
        public int changtoValue(string str)
        {
            //new一个整型n 
            int n = 0;
            //对传入的字符串进行断定
            //若是 为剪刀 则给n 付与值1 
            if (str == “剪刀“)
            {
                n = 1;
            }
            //同理
            else if (str == “石头“)
            {
                n = 2;
            }
            //同理
            else if (str == “布“)
            {
                n = 3;
            }
            else
            {
                throw new Exception(“未知错误“);
            }
            //最后返回一个转换成功的整数n 
            return n;
        }
        // 剪刀1  石头2  布3
        //写一个电脑随机出拳的办法
        public string PC()
        {
            //用一个随机函数 电脑获取的数为1-3
            Random ran = new Random();
            //random.Next办法 取最小值,但不取最大值, 所以在1-3内随机取值
            int n = ran.Next(1, 4);
            //new 一个空字符串 strPC
            string strPC = ““;
            //进行简单剖断 获取的随机值 同时转换成响应的字符串
            //若是随机值取到
            if (n == 1)
            {
                //则赋给空字符串一个 “剪刀“
                strPC = “剪刀“;
            }
            //同理
            else if (n == 2)
            {
                strPC = “石头“;
            }
            //同理
            else if (n == 3)
            {
                strPC = “布“;
            }
            //若是随机值不在1-3局限内 抛出一个异常
            else
            {
                throw new Exception(“未知错误!“);
            }
            //将获取的字符串 赋给label框 lblPC
            lblPC.Text = strPC;
            //并返回一个字符串 strPC
            return strPC;
        }
        //斗劲玩家和电脑的值
        public void Judge(int Player, int PC)
        {
            // 剪刀1  石头2  布3
            //赢的景象有2种 1种是 玩家比电脑值大1  一种是小2
            if (Player - PC == 1 || Player - PC == -2)
            {
                lblResult.Text = “你赢了“;
                pictureBox1.Image = Image.FromFile(“shengli.jpg“);
            }
            //平的景象只有1种 即为出拳雷同
            else if (Player - PC == 0)
            {
                lblResult.Text = “平局“;
                pictureBox1.Image = Image.FromFile(“pingju.jpg“);
            }
            //除此之外 只有输的景象了
            else
            {
                lblResult.Text = “你输了“;
                pictureBox1.Image = Image.FromFile(“shibai.jpg“);
            }
        }
        private void btnJiandao_Click(object sender, EventArgs e)
        {
            //获取当前简单按钮的文本内容“剪刀“
            string strJiandao = btnJiandao.Text;
            //将按钮上的文本 赋给label框lblPlayer
            lblPlayer.Text = strJiandao;
            // 调用下面 将文本转换成响应整型的办法 将文本框的内容 剪刀转换成对应的整数
            //并赋给 vPlaye
            int vPlayer = changtoValue(strJiandao);
            // MessageBox.Show(v.ToString());
            //运行PC的办法 电脑随机出拳
            PC();
            //将电脑label框 lblPC的内容赋给字符串strPC
            string strPC = lblPC.Text;
            //调用转成字符串为整数的办法 将响应的电脑出拳转成整数
            int vPC = changtoValue(strPC);
            //MessageBox.Show(“策画机出了值为:“+ vPC.ToString());
            //调用裁判的办法 传入2个整数值 玩家 和电脑的数据 进行对比
            Judge(vPlayer, vPC);
        }
        private void btnShitou_Click_1(object sender, EventArgs e)
        {
            string strShitou = btnShitou.Text;
            lblPlayer.Text = strShitou;
            int vPlayer = changtoValue(strShitou);
            // MessageBox.Show(v.ToString());
            PC();
            string strPC = lblPC.Text;
            int vPC = changtoValue(strPC);
            //MessageBox.Show(“策画机出了值为:“ + vPC.ToString());
            Judge(vPlayer, vPC);
        }
        private void btnBu_Click_1(object sender, EventArgs e)
        {
            string strBu = btnBu.Text;
            lblPlayer.Text = strBu;
            int vPlayer = changtoValue(strBu);
            //MessageBox.Show(v.ToString()); 
            PC();
            string strPC = lblPC.Text;
            int vPC = changtoValue(strPC);
            //MessageBox.Show(“策画机出了值为:“ + vPC.ToString());
            Judge(vPlayer, vPC);
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show(“你好啊!欢迎来到猜拳小游戏现场...“,“开始游戏...“);
        }       
    }
}

C# 编写网络小游戏 猜拳


按照你的要求写了一个,比较的粗糙。没有实现你的10秒倒数,这个留给你自己去思考吧。我大致的说一说,写了一个服务器端 和 客户端。用到的技术有:多线程,c#网络编程。客户端连接到服务器端 通过服务器端处理和转发 猜拳的结果。在服务端中设定了连接的最大客户端数量为2 。也就是只能连2个客户端,可以视实际情况更改。写了一个下午,也没有好好的写注释。如果你是学习的话就加我讨论吧。以上是整体运行的效果,中间是服务器端,两边分别为客户端1 和客户端2////////////////////////////////////////////////////////////////////////////////服务器端界面:服务器端代码:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;namespace Server
{
public partial class Form1 : Form
{
private TcpListener listener;
private List《TcpClient》 clientList;
private Thread t;
private Thread t1;
private string outTos;
public Form1()
{
InitializeComponent();
setControls();
} private void setControls()
{
clientList = new List《TcpClient》(); button1.Text = “Start“;
button1.Click += new EventHandler(button1_Click);
button2.Text = “Stop“;
button2.Click += new EventHandler(button2_Click);
} private void StartServer()
{
IPAddress ip = new IPAddress(new byte { 127, 0, 0, 1 });
listener = new TcpListener(ip, 8500);
listener.Start();
richTextBox1.Text += string.Format(“服务器:{0} 端口号:{1} 已经启动...\n“,ip.ToString(),8500);
}
private void GetClient()
{
do
{
if (clientList.Count 》= 2)
{
//clientList.Clear();
break;
}
else
{
clientList.Add(listener.AcceptTcpClient());
outTos += string.Format(“Player:{0} is connecting\n“, clientList[clientList.Count - 1].Client.LocalEndPoint);
if (clientList.Count == 2)
{
try
{
t1 = new Thread(GetMsg);
t1.Start();
}
catch
{
t1.Abort();
}
}
}
}
while (true);
}
private void GetMsg()
{
do
{
int byteRead = 0;
int bufferSize = 2000;
byte buffer = new byte[bufferSize]; NetworkStream stream1 = clientList.GetStream();
byteRead = stream1.Read(buffer, 0, bufferSize);
string msg = Encoding.Unicode.GetString(buffer, 0, byteRead); NetworkStream stream2 = clientList.GetStream();
byteRead = stream2.Read(buffer, 0, bufferSize);
string msg1 = Encoding.Unicode.GetString(buffer, 0, byteRead); if (msg != string.Empty && msg1 != string.Empty)
{
SendMsg(GetAnsower(msg, msg1));
}
}
while (true); } private void SendMsg(int win)
{
string p1 = string.Empty;
string p2 = string.Empty;
if (win == 0)
{
p1 = “平手“;
p2 = “平手“;
}
if (win == 1)
{
p1 = “赢了!“;
p2 = “输了!“;
}
if (win == 2)
{
p1 = “输了!“;
p2 = “赢了!“;
} NetworkStream stream1 = clientList.GetStream();
byte buffer1 = Encoding.Unicode.GetBytes(p1);
stream1.Write(buffer1, 0, buffer1.Length); NetworkStream stream2 = clientList.GetStream();
byte buffer2 = Encoding.Unicode.GetBytes(p2);
stream2.Write(buffer2, 0, buffer2.Length);
outTos += string.Format(“消息已发送 玩家1:{0} 玩家2:{1}\n“,p1,p2);
} private int GetAnsower(string m1,string m2)
{
int win = 0;
if (m1 == “剪刀“)
{
if (m2 == “布“) win = 1;
if (m2 == “石头“) win = 2;
if (m2 == “剪刀“) win = 0;
}
if (m1 == “石头“)
{
if (m2 == “剪刀“) win = 1;
if (m2 == “布“) win = 2;
if (m2 == “石头“) win = 0;
}
if (m1 == “布“)
{
if (m2 == “石头“) win = 1;
if (m2 == “剪刀“) win = 2;
if (m2 == “布“) win = 0;
}
return win;
} void button1_Click(object sender, EventArgs e)
{
try
{
StartServer();
t = new Thread(GetClient);
t.Start();
timer1.Start();
}
catch (Exception ex)
{
t.Abort();
t1.Abort();
timer1.Stop();
timer1.Stop();
}
}
void button2_Click(object sender, EventArgs e)
{
t.Abort();
t1.Abort();
listener.Stop();
timer1.Stop();
MessageBox.Show(“服务器已关闭!“);
} private void timer1_Tick(object sender, EventArgs e)
{
richTextBox1.Text += outTos;
outTos = string.Empty;
}
}
}

求C语言猜拳游戏代码


#include 《stdio.h》
#include 《stdlib.h》
#include 《time.h》
void main()
{
int rand_0(void);
int game(int inp);
int start,yes=1,inp,inp_1=1; char y;
while(yes) /*预防用户输入1或2以外的数据*/
{
printf(“1:开始游戏\n2:排行榜\n“);
scanf(“%d“,&start);
if((start!=1)&&(start!=2))
{
printf(“请输入1或2\n“);
}
else
yes=0;
}
start:
if(start==1) /*如果用户选择开始游戏……*/
{
printf(“你出?\n1:石头\n2:剪刀\n3:布\n“);
while(inp_1) /*预防用户输入别的数据*/
{
scanf(“%d“,&inp);
if((inp!=1)&&(inp!=2)&&(inp!=3))
{
printf(“你出?\n1:石头\n2:剪刀\n3:布\n“);
}
else
{
inp_1=0;
switch(game(inp))
{
case 1:printf(“\n\n恭喜你,你赢了!\n\n“);break;
case 0:printf(“\n\n很遗憾,你输了!\n\n“);break;
case 2:printf(“\n\n平局\n\n“);break;
}
}
}
}
inp_1=1;
printf(“\n\n是否重新开始游戏?(y/n)“);
scanf(“%s“,&y);
if((y==’y’)||y==’Y’)
goto start;
else
return 0;}
int rand_0(void) /*取随机数*/
{
int i,rand_1;
srand((unsigned)time(NULL));
for(i=1;i《=10;i++)
{
rand_1=rand()%4;
if(rand_1==0) continue;
return(rand_1);
}
}
int game(int inp)
{
int random,win; /*win变量,1是赢,2是平,0是输*/
random=rand_0();
switch(inp)
{
case 1:if(random==3) return win=0;
else if(random==2) return win=1;
else return win=2;

case 2:if(random==3) return win=1;
else if(random==2) return win=2;
else return win=0; case 3:if(random==3) return win=2;
else if(random==2) return win=1;
else return win=0;
}
}就做了那么点点。。。

java代码猜拳游戏相关代码请教


comp是电脑产生的随机数字(电脑出的拳),people 是人出的拳。 因为剪刀石头布只有 1 2 3
。如果电脑的数字比的你刚好大1,就是它比你的大。 如2》1,3》2对应就是(石头大于剪刀,布大于石头)。 但也有可能是剪刀大于布 。 那么剪刀的位子是1 ,布的位子是3. 所以当电脑数字减你的数字等于2时 就是(电脑出的布 ,你出的石头这样的情况了)。
所以是if((comp-people)==-1||(comp-people)==2) 这两者结合就是你赢的时候

电脑猜拳游戏,最后老师要求做一个循环,输入yes继续,输入no结束,代码怎么写


设置一个全局变量string IsContinue = yes,然后用while(IsContinue==yes)循环将你的猜拳代码括起来,在猜拳代码后面提示yes or no 然后置一条输入语句,改变IsContinue的值就行了

怎样用C语言编写一个猜拳游戏


*帮助做程序主体(开始游戏部分)*/
#include
《iostream.h》
#include
《stdlib.h》
void
main()
{
int
computer,
user,
money,
bet;
money=100;
for(
;
money==0;
)
{
cout
《《
“your
money:

《《
money
《《
endl;
cout
《《
“bet:
“;
cin
》》
bet;
money=money-bet
if(bet》money)
break;
cout
《《
“set:
“;
cin
》》
user;
computer=round(sin(rand())*2+1);
switch(user,computer)
{
.../*这地方你自己填一填*/
}
}
cout
《《
“game
over“;
}

急求一个猜拳小游戏的java代码


public static void main(String args) {
//System.out.println(“asdfasd“);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true){
try {
System.out.println(“请输入 0:石头 1:剪刀 2:布 bye:退出 “);
String str = br.readLine();
if(“bye“.equals(str)) break;
String str2 = (new Random().nextInt(3))+““;

if(“0“.equals(str)&&“2“.equals(str2)){
System.out.println(“你赢了“);
}else{
System.out.println(str.compareTo(str2)==0?“平局“:(str.compareTo(str2)》0)?“你赢了“:“你输了“);
}
//System.out.println(str.compareTo(str2)==0?“平局“:(str.compareTo(str2)》0)?“你赢了“:“你输了“);
} catch (IOException e) {
e.printStackTrace();
}
}
}