Base del gioco dell’oca

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();
    }
}

---------------------------------------------------------------------

Cattura1 Cattura

Commenti

Posta un commento