In questa prima versione premendo il bottone si riesce a far spostare il pallino nelle celle del “tabellone”
---------------------------------------------------------------------
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
public class TestaDueCerchi {
int y;
BufferedReader lettore;
Socket sock;
PrintWriter scrittore;
JFrame f1=new JFrame("disegno1");
DueCerchi d1=new DueCerchi();
JButton b=new JButton("Ricevi");
public TestaDueCerchi(){
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.add(BorderLayout.CENTER,d1);
d1.setColore1(Color.YELLOW);
d1.setColore2(Color.BLUE);
f1.add(BorderLayout.SOUTH,b);
b.addActionListener(new Bottone());
//sceglie lui le dimensioni più appropiate
f1.setSize(400,600);
f1.setVisible(true);
}
public class Bottone implements ActionListener{
public void actionPerformed(ActionEvent e){
go();
f1.repaint();
}
}
public void go(){
try{
//collegamento al server(ip,porta)
for(int i=0;i<1;i++){
Socket s=new Socket("localhost",12);
InputStreamReader r=new InputStreamReader(s.getInputStream());
BufferedReader reader=new BufferedReader(r);
//istruzione per leggere dal server
String suggerimento=reader.readLine();
System.out.println("Suggerimento: "+suggerimento);
y=Integer.parseInt(suggerimento);
d1.getY(y);
reader.close();
}
}catch(IOException ex){
ex.printStackTrace();
}
}
public static void main(String[]args){
TestaDueCerchi d=new TestaDueCerchi();
}
}
---------------------------------------------------------------------
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
public class DueCerchi extends JPanel{
Color colore1=Color.YELLOW;
Color colore2=Color.RED;
String numero="";
String n="";
int y;
int[][]coord={{210, 180},{250, 200},{270, 230},{270, 270},{250, 310},{215, 330},
{180, 330},{140, 310},{110, 270},{110, 230},{130, 200},{170,180}};
public void setColore1(Color c1){
colore1=c1;
}
public void setColore2(Color c2){
colore2= c2;
}
public void paintComponent(Graphics g){
g.setColor(colore1);
g.fillOval(100,150,200,200);
g.setColor(colore2);
g.fillOval(150,200,100,100);
g.drawLine(200,350,200,150);
g.drawLine(100,250,300,250);
g.drawLine(110,300,290,200);
g.drawLine(110,200,290,300);
g.drawLine(150,160,250,340);
g.drawLine(150,340,250,160);
int j;
for(int i=0;i<12;i++){
j=i+1;
n=numero+j;
g.drawString(n,coord[i][0],coord[i][1]);
if(i==y){
g.fillOval(coord[i][0]+5,coord[i][1],10,10);
System.out.println("La mia y e:"+y);
}
}
//(x,y,w,h)
g.setColor(colore2);
g.fillOval(150,200,100,100);
}
public int getY(int a){
y=a;
System.out.print(a);
return y;
}
}
---------------------------------------------------------------------
import java.io.*;
import java.net.*;
public class ServerSemplice {
public void go(){
try{
ServerSocket s1=new ServerSocket(12);//mi creo una porta di ascolto
while(true){ //quando qualcuno chiede di entrare creo un collegamento diretto tra server e client
Socket presa=s1.accept(); //il socket è una presa
//trasmissione dei dati al client:
PrintWriter scrivi=new PrintWriter(presa.getOutputStream());//classe che invia i dati nel collegamento virtuale
int s=getSuggerimenti();
scrivi.println(s);//manda nel canale la stringa s
scrivi.close();
System.out.println(s);
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
private int getSuggerimenti(){
double r1=Math.random()*12;
int r=(int)r1;
return r;
}
public static void main(String args[]){
ServerSemplice serv=new ServerSemplice();
serv.go();
}
}
---------------------------------------------------------------------
Bene
RispondiElimina