⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servernumber.java

📁 使用Java 编制的小游戏
💻 JAVA
字号:

import java.io.*;
import java.net.*;

public class ServerNumber {

	private ServerSocket ser;

	private Socket soc;

	DataInputStream din;

	DataOutputStream dout;

	public static final int PORT = 8181;

	int random;

	int Cint;

	private static int count = 4;// 决定用户可以拥有的机会;

	String s;

	ServerNumber() {
		startServer();
		compareBigorSmall();

	}

	void startServer() {
		try {
			ser = new ServerSocket(8181);
			System.out.println("服务器启动……");
			soc = ser.accept();
			din = new DataInputStream(soc.getInputStream());
			dout = new DataOutputStream(soc.getOutputStream());
			outMessage("游戏开始,请输入一个整数,以比较大小,范围在0到100之间,可以直接输入exit退出循环;");
			random = (int) (Math.random() * 100);

		} catch (IOException e) {

			e.printStackTrace();
		}
	}

	void outMessage(String s) {
		try {
			dout.writeUTF(s);
			System.out.println("用户"+s);

		} catch (IOException e) {

			e.printStackTrace();
		}
	}

	void compareBigorSmall() {
		System.out.println("标准答案为" + random);
		int n = 1;

		do {

			try {
				s = din.readUTF();
				System.out.println("第" + n++ + "次接受客户端信息");
				if (s.equals("exit")) {

					break;
				}
				if (s.equals("restart")) {
					 // 判断用户输入是否合法;
					System.out.println("用户重新开始了游戏");
					outMessage("请重新输入0到100的数字");
					count = 4;
					continue;
				}
				if (s.equals("")) {
					outMessage("没有任何输入,请重新输入");
					continue;
				}
				try {
					Cint = Integer.parseInt(s);
				} catch (NumberFormatException e) {
					outMessage("输入格式不正确,请重新输入");
					continue;
				}

				if (Cint > 100 || Cint < 0) {
					outMessage("输入大小越界,请重新输入");

					continue;
				}

				if (count > 0) { // 合法输入的前提下判断输入次数,最多为count次;
					if (Cint > random) {
						outMessage("您输入的大了");
						System.out.println("用户输入的数字大了");
						count--;
					} else if (Cint < random) {
						outMessage("您输入的小了");
						System.out.println("用户输入的数字小了");
						count--;
					} else {
						outMessage("恭喜您答对了");
						System.out.println("用户答对了");
					}
				} else {

					outMessage("worning!"
							+ "错误次数超过限制,猜数字游戏失败 ,请输入选择exit 退出或者restart 重新开始");

					continue;
				}
			} catch (SocketException e) {
				System.out.println("客户端异常中断连接");// 当不经任何命令直接中止客户端程序时提示;

				break;
			} catch (IOException e) {

				e.printStackTrace();
			}

		} while (!(s.equals("exit")));

		exit();

	}

	void exit() {
		try {

			din.close();
			dout.close();
			soc.close();
			ser.close();

		} catch (IOException e) {

			e.printStackTrace();
		}
	}

	public static void main(String[] args) {

		new ServerNumber();

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -