C# 编写网络小游戏 猜拳?JavaScript利用Math随机数,实现一个猜拳小游戏,

2024-06-19 02:21:30 7

C# 编写网络小游戏 猜拳?JavaScript利用Math随机数,实现一个猜拳小游戏,

各位老铁们好,相信很多人对猜拳小游戏都不是特别的了解,因此呢,今天就来为大家分享下关于猜拳小游戏以及C# 编写网络小游戏 猜拳的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

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.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.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; } }}

JavaScript利用Math随机数,实现一个猜拳小游戏,

请输入你的出拳数字《input /》《br /》《button》比赛《/button》《div》《/div》《script》window.onload=function(){   document.querySelector("button").onclick=function(){      var m=document.querySelector("div");      var x1=Number(document.querySelector("input").value);      if(x1《1||x1》3){         m.innerHTML="你输入的数字有误,只能是1、2、3";      }else{         var x2=Math.floor(Math.random()*3)+1;         m.innerHTML="结果:";         if(x1==x2){            m.innerHTML+="打平了";         }else if((x2-x1)==1||(x1-x2)==2){            m.innerHTML+="你赢了";         }else{            m.innerHTML+="你输了";         }         m.innerHTML+="《br /》你出拳:"+x1+"《br /》电脑出拳:"+x2;      }   }}《/script》

关于一个c语言实现猜拳小游戏的程序 输出有点点问题 求大神解救!

两个问题1、c="石头"。类似这里,你感觉错了吧2、判断有点错误,a是石头,b是布。那么逻辑上a《b,但是b赢了所以,不能这么判断。等于也就是平局没问题判断输赢需要这么判断if(a==(b+1)%3)电脑赢else if((a+1)%3==b)你赢else 平局

C语言猜拳小游戏程序求助

#include 《stdio.h》#include 《stdlib.h》#include 《time.h》int get_int(void); //规范输入的函数int game(int y,int x); //游戏函数int result(int m,int n); //比较最终结果的函数int main(){ int x,y,m,n; int k = 0; char q; printf("1代表石头;2代表剪刀;3代表布;\n"); printf("请输入您的选择.\n"); while(k《3) { scanf("%d", &y); k++; game(y,x); } result(m,n); system("pause"); return 0;}int game(int y,int x){ int m = 0; //玩家赢的次数 int n = 0; //电脑赢的次数 srand(time(NULL)); x = rand()%3+1; //取随机数1~3 if(y==1&&x==3) { printf("你出石头\n"); printf("电脑出布\n"); printf("你输了\n"); ++n; //电脑赢的次数 } else if(y==1&&x==1) { printf("大家都出石头,平局\n"); ++m; ++n; } else if(y==1&&x==2) { printf("你出石头\n"); printf("电脑出剪刀\n"); printf("你赢了\n"); ++m; //玩家赢的次数 } if(y==2&&x==1) { printf("你出剪刀\n"); printf("电脑出石头\n"); printf("你输了\n"); ++n; } else if(y==2&&x==2) { printf("大家都出剪刀,平局\n"); ++m; ++n; } else if(y==2&&x==3) { printf("你出剪刀\n"); printf("电脑出布\n"); printf("你赢了\n"); ++m; } if(y==3&&x==1) { printf("你出布\n"); printf("电脑石头\n"); printf("你赢了\n"); ++m; } else if(y==3&&x==2) { printf("你出石头\n"); printf("电脑出剪刀\n"); printf("你输了\n"); ++n; } else if(y==3&&x==3) { printf("大家都出布,平局\n"); ++m; ++n; } return m,n; //返回m,n的值}int result(int m,int n) //比较最终结果{ if(m《n) printf("3局%d胜,你输了.\n",m); else if(m》n) printf("3局%d胜,你赢了.\n",m); else if(m==n) printf("一胜一负一平局,旗鼓相当。\n"); return 0;}//改好了,直接比较三次出结果就行了呀!最后暂停查看下system("pause");

急求一个猜拳小游戏的C++程序

#include《iostream.h》 #include 《stdlib.h》 #include 《time.h》 void show(int input) { switch(input) { case 0:cout《《("出的是石头!"); break; case 1:cout《《("出的是剪子!"); break; case 2:cout《《("出的是布!"); break; default:; } } void compare(int inputPlay,int inputComputer) { if(inputPlay==0&&inputComputer==1||inputPlay==1&&inputComputer==2||inputPlay==2&&inputComputer==1) { cout《《("\n玩家胜!\n"); } else if(inputPlay==inputComputer) { cout《《("\n平局!\n"); } else { cout《《("\n电脑胜!\n"); } } void main() { char isGoOn; int inputPlay; int inputComputer; cout《《("猜拳游戏\n"); cout《《("游戏说明:\n\n"); cout《《("石头--0 剪子--1 布--2\n"); srand(time(NULL)); do { cout《《("\n请输入您要猜的拳:\n"); cin》》inputPlay; if(inputPlay》=0&&inputPlay《=2) { cout《《("您"); show(inputPlay); inputComputer=rand()%3; cout《《("电脑"); show(inputComputer); compare(inputPlay,inputComputer); } else { cout《《("您输入有错误!\n"); cout《《("\n说明:石头--0 剪子--1 布--2\n"); } cout《《"\n您需要继续么? (Y/N)"; cin》》isGoOn; }while(isGoOn!=’N’||isGoOn!=’n’); } 这段代码应该对你的思路会有用,自己再添加一下功能就好了。

关于猜拳小游戏到此分享完毕,希望能帮助到您。

C# 编写网络小游戏 猜拳?JavaScript利用Math随机数,实现一个猜拳小游戏,

本文编辑:admin

更多文章:


安卓手机排名第一(世界上最好用的手机排行 第1名,一加 第2名,苹果 第3名,小米 第4名,华为 第5名,魅族)

安卓手机排名第一(世界上最好用的手机排行 第1名,一加 第2名,苹果 第3名,小米 第4名,华为 第5名,魅族)

本文目录世界上最好用的手机排行 第1名,一加 第2名,苹果 第3名,小米 第4名,华为 第5名,魅族给目前的手机排名,你会怎么做世界上最好用的手机排行 第1名,一加 第2名,苹果 第3名,小米 第4名,华为 第5名,魅族最好安卓手机排名:华

2024年4月4日 17:45

miui12发布日期是几号(小米miui 12申请通过后升级包什么时候推送)

miui12发布日期是几号(小米miui 12申请通过后升级包什么时候推送)

本文目录小米miui 12申请通过后升级包什么时候推送小米12U什么时候发布小米miui 12申请通过后升级包什么时候推送如果是申请内测体验目前已经开始推送了。部分机型可能因为bug原因缓发。如果是开发版内测的话,5月8日开始推送稳定版6月

2024年5月23日 14:07

cydia不能添加源(cydia出故障了…添加不了源!!求解)

cydia不能添加源(cydia出故障了…添加不了源!!求解)

本文目录cydia出故障了…添加不了源!!求解cydia 添加源失败cydia无法添加源,一添加就是验证失败,请求超时,怎么办8.4越狱后,cydia添加不了任何源我的Iphone的cydia为什么不能添加源ios越狱 添加了源为什么添加不

2023年9月4日 06:50

ipad越狱好吗(ipad越狱了好吗)

ipad越狱好吗(ipad越狱了好吗)

本文目录ipad越狱了好吗ipad要越狱吗ipad越狱了好吗iOS系统的越狱就是取得系统最高权限的行为,越狱前后iOS系统本身并不会发生质的改变,只是越狱后可以对iOS系统进行更充分的利用而已。一、越狱的好处:1、越狱之后操作性更强,取得了

2024年5月4日 03:54

野马跑车报价2022(野马跑车多少钱)

野马跑车报价2022(野马跑车多少钱)

本文目录野马跑车多少钱一辆野马跑车多少钱2022款野马斯派卡EV正式上市 售价区间10.99-12.99万元福特野马跑车的售价是多少野马报价是多少目前值得入手么野马跑车多少钱指导价:34-70.5万野马是福特旗下的传奇肌肉车,最能代表美国精

2023年6月9日 01:20

qc20降噪多少db?qc20能边充电边用吗

qc20降噪多少db?qc20能边充电边用吗

本文目录qc20降噪多少dbqc20能边充电边用吗qc20支持thx声卡嘛qc20充电有什么讲究吗qc20在哪买正版bose qc20真假辨别方法bose qc20怎么那么难听qc20降噪多少dbqc20综合降噪能力是24.42dB。QC2

2024年5月19日 18:39

小米32寸电视哪款好(32寸小米电视4a和4c的区别有哪些区别)

小米32寸电视哪款好(32寸小米电视4a和4c的区别有哪些区别)

大家好,关于小米32寸电视哪款好很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于32寸小米电视4a和4c的区别有哪些区别的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有

2024年6月27日 14:55

理光gr3最新消息(理光gr3充电口在哪里)

理光gr3最新消息(理光gr3充电口在哪里)

本文目录理光gr3充电口在哪里gr3热靴掉漆理光gr3x镜头盖多少毫米理光gr3充电口在哪里理光gr3充电口在理光Gr2相机的底部的区域。理光gr2怎样充电的具体步骤如下:1、找到放置电池的地方2、然后打开盖子取出电池3、接着找到理光GR2

2023年5月2日 22:15

13英寸轻薄笔记本(办公用13寸笔记本够用吗)

13英寸轻薄笔记本(办公用13寸笔记本够用吗)

本文目录办公用13寸笔记本够用吗13寸和15.6寸实物对比办公用13寸笔记本够用吗办公笔记本13英寸的是够用了,13英寸的笔记本是比较轻薄的,重量特别轻,方便携带,而且尺寸大小正合适,用来办公室没有问题的,特别是商务白领,有什才分的事更好,

2023年12月16日 16:11

苹果笔记本开机密码忘了怎么解除(苹果电脑设置了密码忘记了怎么办)

苹果笔记本开机密码忘了怎么解除(苹果电脑设置了密码忘记了怎么办)

本文目录苹果电脑设置了密码忘记了怎么办苹果笔记本开机密码忘记了怎么办苹果电脑密码忘了怎么解除苹果电脑设置了密码忘记了怎么办   很多人使用苹果电脑的时候设置了密码,但有时会忘记了开机密码怎么办呢?下面由我为你整理了苹果电脑设置了密码忘

2024年6月2日 00:52

四川话锤子是什么意思啊(四川话锤子是什么意思 四川话锤子释义)

四川话锤子是什么意思啊(四川话锤子是什么意思 四川话锤子释义)

本文目录四川话锤子是什么意思 四川话锤子释义四川话“锤子”什么意思啊如题 谢谢了四川人说锤子啥意思四川话锤子是什么意思 四川话锤子释义1、名词,表示男性某器官。 2、形容词,形容某人不梗直,不厚道。例如: 某人很“锤子”;也可以形容某件事

2024年6月26日 23:37

空气能热水器显示r13故障怎么解决 如何处理空气能热水器显示r13?r13牛仔外套真假辨别

空气能热水器显示r13故障怎么解决 如何处理空气能热水器显示r13?r13牛仔外套真假辨别

本文目录空气能热水器显示r13故障怎么解决 如何处理空气能热水器显示r13r13牛仔外套真假辨别外星人台式机R13和R14有什么区别小米笔记本Air13和荣耀magicbook哪个值得入手空气能热水器显示r13故障怎么解决 如何处理空气能热

2024年3月29日 05:30

photoshop官方下载(photoshop最新版是哪个版本哪里可以下载)

photoshop官方下载(photoshop最新版是哪个版本哪里可以下载)

本文目录photoshop最新版是哪个版本哪里可以下载PS完整版下载地址photoshop官网免费下载给我个photoshop中文版下载地址正规的版本PhotoShop官方网站的下载地址怎样下载photoshopphotoshop最新版是哪

2023年10月22日 11:20

近期文章

nvidia experience(nvidia geforce experience怎么关掉)
2024-07-04 19:59:47
本站热文

电脑包尺寸对照表(电脑包要多大)
2024-07-03 12:06:27 浏览:3757
e10000(皖E10000是什么车)
2024-07-02 21:24:52 浏览:3498
ati radeon hd 5650(电脑的显卡是ATI Mobility Radeon HD 5650 (MADION PRO) ( 1 GB ) 这个显卡)
2024-06-26 03:11:22 浏览:3092
华为mate20pro版本区别(mate20pro有必要买ud版吗)
2024-07-02 22:04:37 浏览:2616
ipad买蜂窝版还是wifi版(ipad air 5买蜂窝好不好)
2024-07-03 11:34:55 浏览:2222
vivo y3配置参数(vivoy3参数是什么)
2024-07-02 21:50:09 浏览:2062
标签列表

热门搜索