Pessoal, tenho o jogo feito é o campo minado que quando achada uma mina ele coloca uma bandeira em cima e soma na pontuação do jogador, só que não sei como fazer o jogo multiplayer
o jogo já está feito , só falta colocar ele como cliente/servidor e criar os player e pontuação.
gostaria de algum tutorial ou alguém que já tenha feito poderia me enviar o projeto para mim olhar como foi feito.
obrigado.
Velho, não tenho isso não. Posso te aconselhar a fazer, sei que não é difícil. Além de aprender muito, você personaliza do jeito que você quer. De uma procurada na net. Tem muito conteúdo!!
por exemplo, gostaria de um exemplo de uma servidor e um cliente que quando iniciado o servidor ele tenha que esperar dois jogadores se conectarem e ai sim abrir a tela de jogo…
então me achem um exemplo desse tipo, eu procurei, (um exemplo que faça um tela de jogo atualizar para os dois cliente ) ,sincronizar eles na mesma tela , não achei eu so acho de troca de msg e essas CHAT e não sei o que.
public class Server {
static ServerSocket serverSocket;
static Socket socket;
static DataOutputStream out;
static DataInputStream in;
static Players[] player = new Players[2];
public static void main(String[] args) throws Exception {
System.out.println("Starting server..");
serverSocket = new ServerSocket(7777);
System.out.println("ServerStarted");
while (true) {
socket = serverSocket.accept();
for (int i = 0; i < 2; i++) {
System.out.println("Conectado com " + socket.getInetAddress());
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
if (player[i] == null) {
player[i] = new Players(out, in, player);
Thread thread = new Thread(player[i]);
thread.start();
break;
}
}
}
}
}
class Players implements Runnable {
DataOutputStream out;
DataInputStream in;
Players[] player = new Players[2];
String name;
public Players(DataOutputStream out, DataInputStream in, Players[] player) {
this.out = out;
this.in = in;
this.player = player;
}
@Override
public void run() {
try {
name = in.readUTF();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while (true) {
try {
String message = in.readUTF();
for (int i = 0; i < 2; i++) {
if (player[i] != null) {
player[i].out.writeUTF(name +":"+ message);
}
}
} catch (IOException e) {
this.out = null;
this.in = null;
}
}
}
}
[/code]
A classe cliente está logo abaixo :
package aplicacao;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;
public class Client {
static Socket socket;
static DataInputStream in;
static DataOutputStream out;
public static void main(String[] args) throws Exception{
socket = new Socket("localhost",7777);
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
Input input = new Input(in);
Thread thread = new Thread(input);
thread.start();
Scanner sc = new Scanner(System.in);
System.out.println("Digite seu nome : ");
String name = sc.nextLine();
out.writeUTF(name);
while(true){
String sendMessage = sc.nextLine();
out.writeUTF(sendMessage);
}
}
}
class Input implements Runnable{
DataInputStream in;
public Input(DataInputStream in) {
this.in = in;
}
@Override
public void run() {
while(true){
String message;
try {
message = in.readUTF();
System.out.println(message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
agora eu pergunto como fazer um jogo campo minado que ja está implementado iniciar para os dois clientes e atualizar seus movimento , ta ai o que tenho mas não sei utilizar alguém se puder ?
[quote=Dallagnol]então me achem um exemplo desse tipo, eu procurei, (um exemplo que faça um tela de jogo atualizar para os dois cliente ) ,sincronizar eles na mesma tela , não achei eu so acho de troca de msg e essas CHAT e não sei o que. [/quote]Em vez de textos de bate-papo (vulgo chat) você passa a transmitir o que quer que seja atualizado. Boa parte da inteligência e toda a interação visual fica no cliente. Só se transmite o absolutamente necessário.
Ou seja, os exemplos ajudam o suficiente, o resto você vai ter que fazer mesmo…