首页后端开发JAVAjava文字小游戏代码 java小游戏代码大全

java文字小游戏代码 java小游戏代码大全

时间2023-07-09 00:39:01发布访客分类JAVA浏览610
导读:谁帮我做个JAVA小游戏代码 第一个类,服务器主线程类。package src;//定义一个包,存放JAVA文件。import java.io.*;//导入JAVA包,输入输出流包import java点虐.*;//导入JAVA包,网络应陆...

谁帮我做个JAVA小游戏代码

第一个类,服务器主线程类。

package src; //定义一个包,存放JAVA文件。

import java.io.*; //导入JAVA包,输入输出流包

import java点虐.*; //导入JAVA包,网络应陆穗用包

public class SocketServer extends Thread { //服务器主线程,负责为每个发出请求连接的客户端分配一个服务线程。

ServerSocket server; //定义一个对象

public SocketServer() { //该类的午餐构造方法,负责初始化服务器,监听6000端口

try { //捕捉异常的块

server = new ServerSocket(6000); //实例化对象

}

catch(IOException e) { //捕捉流异常

System.exit(0); //程序退出

}

this.start(); //启动主线程

}

public void run() { //主线态孙程的线程体

try { //捕捉异常的块

while(true) { //这里为TRUE,表示一直监听6000端口可

Socket client = server.accept(); //为每个请求建立一个SOCKET

Service ss = new Service(client); //为每个SOCKET建立一个服务线程。 这里参考第二个类,SERVICE类

}

}

catch(IOException e) { //捕捉异常的块

System.exit(1); //程序退出

}

}

public static void main(String[] args) { //服务器程序入口,MAIN方法

new SocketServer(); //这里直接创建一个主线程对象,因为初始化写再无参构造函数里面,所以这里直接就启动主线程了。

}

}

第二各类:服务器的服务线程类。

package src; //定义一个包,存放JAVA类

import java.io.*; //同上一个类

import java点虐.*; //同上一个类

public class Service extends Thread { //这是服务于每个请求的服务线程类。

String data; //定义一个字符串

BufferedReader inputs; //输入流

PrintStream outputs; //输出流

Socket client; //定义一个SOCKET

public Service(Socket socket) { //定义有参构造方法,通过传入的SOCKET对象来为某一个请求服务。这里就是主线程调用的方法。

client = socket; //将传递过来的参数给刚定义的这个对象.

try { //捕捉异常的块

inputs = new BufferedReader(new InputStreamReader(client

.getInputStream())); //获取输入流

outputs = new PrintStream(client.getOutputStream()); //获取输出流

} catch (IOException e) {

}

this.start(); //启动服务线程。开始对客户服务。

}

public void run() { //线程的主要方法体

try {

while (true) { //表示一直侦听端口

data = inputs.readLine(); //从输入流中读取客户发来的消息,并赋值给DATA

int res = (int) (Math.random() * 3); // 1是石头2是剪刀3布 系统随机生成三个数字,分别表示游戏的三个出拳状态

if (data == null)//如果读取到的数据是空值,就不再继续下一步帆悉链操作。

break;

else { //如果读取到的不是空,则进行比较

if (res == 0 "石头".equals(data)) {

data = "电脑也是石头,打平了!!";

} else if (res == 0 "剪刀".equals(data)) {

data = "电脑是石头,电脑赢了!!";

} else if (res == 0 "布".equals(data)) {

data = "电脑是石头,恭喜,你赢了!!";

} else if (res == 1 "石头".equals(data)) {

data = "电脑是剪刀,恭喜,你赢了!!";

} else if (res == 1 "剪刀".equals(data)) {

data = "电脑也是剪刀,打平了!!";

} else if (res == 1 "布".equals(data)) {

data = "电脑是剪刀,电脑赢了!!";

} else if (res == 2 "石头".equals(data)) {

data = "电脑是布,电脑赢了!!";

} else if (res == 2 "剪刀".equals(data)) {

data = "电脑是布,恭喜,你赢了!!";

} else if (res == 2 "布".equals(data)) {

data = "电脑也是布,打平了!!";

}

else {

data = "电脑不认识你出的拳";

}

outputs.println(data); //将比较的结果通过输出流发给客户端。

}

}

} catch (IOException e) {

}

try {

client.close(); //关闭服务

} catch (IOException e) {

}

}

}

第三个,客户端类。

package src; //同上一个类

import java.io.*; //同上一个类

import java点虐.*; //同上一个类

public class Client { //客户端类

public static void main(String[] args) { //客户端程序入口,MAIN方法

String data; //定义字符串

Socket client = null; //定义SOCKET

BufferedReader inputs = null; //输入流

BufferedReader key = null; //输入流

PrintStream outputs = null; //输出流

try {

client = new Socket("localhost",6000); //客户程序启动通过6000端口和服务器联系,和服务器保持端口一致。

inputs = new BufferedReader(new InputStreamReader(client.getInputStream())); //获取输入流

outputs = new PrintStream(client.getOutputStream()); //获取输出流

key = new BufferedReader(new InputStreamReader(System.in)); //用于接收用户要发送给客户端的字符串。

}

catch(IOException e) {

System.out.println("CAN NOT CONN WITH SERVER");

}

try {

while(true) {

System.out.println("----------------------------");

System.out.print("请出拳:石头/剪刀/布 ");

data = key.readLine(); //读取用户输入的字符串。

outputs.println(data); //将读取的字符串发送给服务器。

System.out.println("ECHO: " + inputs.readLine()); //返回服务器的结果并打印到控制台。

}

}

catch(IOException e) {

System.out.println("ERROR IO");

}

try {

client.close();

}

catch(IOException e) {

System.out.println("can not close it");

}

}

}

运行的方法是先启动主线程类。然后启动客户端类。并再客户端一方输入 锤子,或 剪刀 或 布 ,然后回车,服务器会根据判断返回游戏的结果。这个过程反复执行。可以多次出拳和服务器较量。

呵呵,这次应该够详细了,不明白的可以继续补充。o(∩_∩)o...

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java文字小游戏代码 java小游戏代码大全
本文地址: https://pptw.com/jishu/297005.html
php实现可视化数据库 可视化php网站建设 java代码例 java代码例子简单

游客 回复需填写必要信息