利用java的网络编程实现一个小游戏(类似于石头剪刀布)
定义服务器端
package com.briup.day25.home;import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;public class Home6_CardServer {public static void main(String[] args) throws Exception{//实例化套接字对象 绑定端口号ServerSocket server = new ServerSocket(8080);System.out.println("服务器8080即将启动");//接收客户端的连接Socket socket = server.accept();System.out.println("客户端连接成功");//从套接字中获取InputStream is =socket.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);OutputStream os =socket.getOutputStream();PrintStream ps = new PrintStream(os);//业务实现Map<Integer,String> map = new HashMap<>();map.put(3,"国王");map.put(2,"平民");map.put(1,"奴隶");//System.out.println(line);while (true) {String line = br.readLine();if ("quit".equals(line))break;int m = Integer.parseInt(line);int n = (int) (Math.random() * 3 + 1);//我输入了平民系统输出了平民你赢了//请输入您的卡牌//我输入了平民系统输出了平民你赢了if ((m == 3 && n != 1) || (m == 2 && n != 3) || (m == 1 && n == 3))ps.println("我输入了" + map.get(m) + "系统输出了" + map.get(n) + "你赢了");if ((m == 3 && n == 1) || (m == 2 && n == 1) || (m == 1 && n != 3))ps.println("我出了" + map.get(m) + "系统输出了" + map.get(n) + "你输了");if ((m == 3 && n==3) || (m==2 && n==2) || (m==1 && n==1))ps.println("我出" + map.get(m) + "系统输出了" + map.get(n) + "平局");// String line = null;
// while ((line = br.readLine())!=null){
//
// }}//关闭流server.close();}}
定义客户端
package com.briup.day25.home;import java.io.*;
import java.net.Socket;
import java.util.Scanner;public class Home7_CardCilent {public static void main(String[] args) throws IOException {Socket cilent =new Socket("127.0.0.1",8080);InputStream is = cilent.getInputStream();BufferedReader bs = new BufferedReader(new InputStreamReader(is));OutputStream os = cilent.getOutputStream();PrintStream ps = new PrintStream(os);Scanner sc = new Scanner(System.in);String line;int count =0;while (true){System.out.println( "请输入您的卡牌");line = sc.nextLine();if (!("1".equals(line)||("2".equals(line)||("3".equals(line))))){System.out.println("error");continue;}ps.println(line);line = bs.readLine();System.out.println(line);if (line.contains("赢"))count++;if (count == 3){System.out.println("你已经推平对方水晶,victory");break;}}cilent.close();}
}
利用java的网络编程实现一个小游戏(类似于石头剪刀布)相关推荐
- 【Java】网络打字对战小游戏
//以下代码均出自于清华大学出版社(郭克华老师版java教材)的第二十五章练习章节 //以下为自己的对代码的理解和记录 一.网络打字小游戏 网络打字小游戏需要实现的功能: 运行服务器端,之后运行客户端 ...
- Java的网络编程【TCP与UDP聊天小程序】
Java的网络编程[TCP与UDP聊天小程序] 1. TCP协议 1.1 传输控制协议(Transmission Control Protocol),是一种**面向连接(全程保持连接)**的协议,类似 ...
- 浅谈JAVA中如何利用socket进行网络编程(二)
转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...
- 利用java编写网络聊天程序并加密信息
利用java编写网络聊天程序并加密信息 优化了代码后的地址:https://blog.csdn.net/qq_43483251/article/details/125470514?spm=1001.2 ...
- JAVA的网络编程【转】
转自 http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 网络编程 网络编程对于很多的初学者来说,都是很向往的一种编程技能 ...
- java的网络编程有用吗_十大有用但又偏执的Java编程技术
java的网络编程有用吗 经过一段时间的编码(以我为例,大约20年左右,当您玩得开心时光飞逝),人们开始接受这些习惯. 因为,你知道... 任何可能出错的事情都会发生. 这就是为什么人们会采用&quo ...
- java中no1_【Java】-- 网络编程のNo.1
在现有的网络中,网络通讯的方式主要有两种: TCP(传输控制协议)方式 UDP(用户数据报协议)方式 在网络通讯中,TCP方式就类似于拨打电话,使用该种方式进行网络通讯时,需要建立专门的虚拟连接,然后 ...
- 【零基础学Java】—网络编程(五十三)
[零基础学Java]-网络编程(五十三) 一.软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构,常见的程序有QQ.迅雷等软件 B/S:全称为Browser/Serve ...
- 什么是java socket_java 网络编程,Socket编程
Java的网络编程主要涉及到的内容是Socket编程,那么什么是Socket呢?简单地说,Socket,套接字,就是两台主机之间逻辑连接的端点.TPC/IP协议是传输层协议,主要解决数据如何在网络中传 ...
最新文章
- amd黑苹果万能显卡驱动_黑苹果系统安装之声卡驱动
- 【 转 】Keepalived工作原理
- 【 HDU - 1215 】七夕节(数论,约数和公式)
- 最新!北京电影学院成立“翟天临事件”调查组
- php映射,PHP实现路由映射到指定控制器
- Python3 协程 + 正则 批量爬取斗鱼美女图片
- 计算机常用维护知识,电脑怎么维护?电脑日常维护小常识
- java初_JAVA的初体验
- HDU-6341 Problem J. Let Sudoku Rotate(dfs 剪枝)
- python suds 调用webservice 缓存
- 浅析Hibernate映射(三)——继承映射
- HDU 2689 POJ 2299 树状数组 + 离散化
- 2.6.PHP7.1 狐教程-【PHP运算符】
- jqTransform表单美化
- 惠普MFP774dn扫描功能
- OpenCV 自带示例sample中的双目校正stereo_calib.cpp 安装与解读
- 美团实习生C++后台
- Charles手机的代理配置与证书的安装
- tesseract-ocr在mac下的使用汇总
- Xposed 模块编写
热门文章
- heidiSQL怎么连接JAVA_Heidisql连接sql server后如何使用-Heidisql使用教程 - 河东软件园...
- bwh: s,fk_gfw,s
- 美国计算机访学,美国博世研究与技术中心招聘计算机科学与统计学方向博士后和访问学者...
- RISC-V E300 SOC架构介绍——4.时钟产生
- cpu超线程优缺点_超线程 多核 多处理器区别
- java供应链管理系统_供应链管理系统使用JAVA语言的优势
- LUNA16数据集的百度云链接
- meta (ASP) 使用说明
- ​农业app开发软件有效推动了智慧农业发展,提高用户工作效率​
- linux刻录iso到u盘