Something went wrong on our end
Server.java 3.59 KiB
package MV3500Cohort2024JulySeptember.homework2.Smith;
import java.io.*;
import java.net.*;
import java.util.Random;
public class Server {
private static int runningTotal = 0; // Initialize running total
public Server() {
// default constructor
}
public static void main(String[] args) {
try {
System.out.println(Server.class.getName() + " has started...");
ServerSocket serverSocket = new ServerSocket(2317);
OutputStream os;
PrintStream ps;
InetAddress localAddress, remoteAddress;
int localPort, remotePort;
int wins = 0;
int losses = 0;
while (true) {
try (Socket clientConnectionSocket = serverSocket.accept()) {
os = clientConnectionSocket.getOutputStream();
ps = new PrintStream(os);
// Read the number sent by the client
BufferedReader br = new BufferedReader(new InputStreamReader(clientConnectionSocket.getInputStream()));
String clientChoice = br.readLine();
Random rand = new Random();
int serverChoiceInt = rand.nextInt(0,3);
String serverChoiceStr;
serverChoiceStr = switch (serverChoiceInt) {
case 0 -> "rock";
case 1 -> "paper";
case 2 -> "scissors";
default -> "Error";
};
if ("rock".equals(serverChoiceStr) & "paper".equals(clientChoice)){
losses++;
}
else if ("paper".equals(serverChoiceStr) & "scissors".equals(clientChoice)){
losses++;
}
else if ("scissors".equals(serverChoiceStr) & "rock".equals(clientChoice)){
losses++;
}
else if ("rock".equals(serverChoiceStr) & "scissors".equals(clientChoice)){
wins++;
}
else if ("scissors".equals(serverChoiceStr) & "paper".equals(clientChoice)){
wins++;
}
else if ("paper".equals(serverChoiceStr) & "rock".equals(clientChoice)){
wins++;
}
// Send back the updated total
ps.println("Client chose: " + clientChoice + "/ Server Chose: "+ serverChoiceStr + "/ Wins: "+wins+"/ loses: "+ losses);
ps.println("Please wait for server to choose");
System.out.println("Client chose: " + clientChoice);
localAddress = clientConnectionSocket.getLocalAddress();
remoteAddress = clientConnectionSocket.getInetAddress();
localPort = clientConnectionSocket.getLocalPort();
remotePort = clientConnectionSocket.getPort();
ps.flush();
}
}
} catch (IOException e) {
System.err.println("Problem with " + Server.class.getName() + " networking: " + e);
if (e instanceof java.net.BindException) {
System.err.println("*** Be sure to stop any other running instances of programs using this port!");
}
}
}
}