Gioco del Tris in java

di il
7 risposte

Gioco del Tris in java

Ciao a tutti,
sto seguendo un corso di java e abbiamo da fare questo esercizio: implementare il gioco del tris con interfaccia grafica, comprensivo della gestione del punteggio su più partite. Ho visto in rete vari esempi, ma ho bisogno di un codice più semplice e di qualcuno, se possibile, che me lo spieghi.
Grazie a chi vorrà aiutarmi.

7 Risposte

  • Re: Gioco del Tris in java

    miao ha scritto:


    ho bisogno di un codice più semplice e di qualcuno, se possibile, che me lo spieghi.
    Vorresti che qualcuno ti scrivesse il codice per intero? Leggi il regolamento, vieta chiaramente di chiedere la "pappa pronta". Se invece hai bisogno di indicazioni o chiarimenti su dubbi vari, ok. Ma dovresti però provare a scrivere prima tu del codice.

    Chiarisci comunque meglio il contesto: interfaccia grafica ... presumo Swing. La partita va gestita solo tra due persone o tra persona e computer (con un certo algoritmo)?
  • Re: Gioco del Tris in java

    Sì, con Swing. Nell'esercizio non c'è scritto e il docente non ha detto niente in merito, se tra 2 persone o tra persona e pc. Credo sia più semplice tra 2 persone, tu che dici?
  • Re: Gioco del Tris in java

    andbin ha scritto:


    miao ha scritto:


    ho bisogno di un codice più semplice e di qualcuno, se possibile, che me lo spieghi.
    Vorresti che qualcuno ti scrivesse il codice per intero? Leggi il regolamento, vieta chiaramente di chiedere la "pappa pronta". Se invece hai bisogno di indicazioni o chiarimenti su dubbi vari, ok. Ma dovresti però provare a scrivere prima tu del codice.

    Chiarisci comunque meglio il contesto: interfaccia grafica ... presumo Swing. La partita va gestita solo tra due persone o tra persona e computer (con un certo algoritmo)?
    Dopo aver importato javaswing, devo creare una nuova classe che estende solo Jtable? Dato che devo creare una tabella 3*3.
    Per la tabella, nel codice, mi consigli di usare gli array o le matrici?
    Grazie
  • Re: Gioco del Tris in java

    miao ha scritto:


    devo creare una nuova classe che estende solo Jtable?
    No, JTable non va bene. È il componente meno adatto a fare un tris! Perché l'obiettivo primario di JTable è quello di presentare dei DATI. E poi ci sono concetti particolari (e non banali) come i table model, table cell renderer/editor e inoltre il dimensionamento esplicito delle celle non è così banale. Insomma, JTable dimenticalo in questo contesto.

    Prima bisogna stabilire come vuoi rappresentare visivamente una singola cella. Non esiste un solo modo, ne esistono vari:
    a) JButton che visualizza solo un (Image)Icon
    b) JLabel che visualizza solo un (Image)Icon
    c) un componente custom (es. JPanel) in cui viene fatto del custom painting per disegnare O/X sulla sua superficie (tramite primitive semplici, linee, cerchi ecc.. o disegnando una immagine, un Image o un (Image)Icon).

    ulteriore approccio differente:
    d) un singolo componente custom (es. JPanel) in cui viene fatto del custom painting per disegnare tutte le celle

    Poi (se approccio a/b/c) per la griglia sarebbe meglio avere un JPanel che usa un layout manager chiamato GridLayout, che è fatto apposta per organizzare i componenti in NxM celle.

    miao ha scritto:


    Per la tabella, nel codice, mi consigli di usare gli array o le matrici?
    array o matrice ... è la stessa cosa (array è il concetto generale in Java, matrice è il termine matematico che in Java si realizza con un array a 2 dimensioni)
  • Re: Gioco del Tris in java

    andbin ha scritto:


    miao ha scritto:


    devo creare una nuova classe che estende solo Jtable?
    No, JTable non va bene. È il componente meno adatto a fare un tris! Perché l'obiettivo primario di JTable è quello di presentare dei DATI. E poi ci sono concetti particolari (e non banali) come i table model, table cell renderer/editor e inoltre il dimensionamento esplicito delle celle non è così banale. Insomma, JTable dimenticalo in questo contesto.

    Prima bisogna stabilire come vuoi rappresentare visivamente una singola cella. Non esiste un solo modo, ne esistono vari:
    a) JButton che visualizza solo un (Image)Icon
    b) JLabel che visualizza solo un (Image)Icon
    c) un componente custom (es. JPanel) in cui viene fatto del custom painting per disegnare O/X sulla sua superficie (tramite primitive semplici, linee, cerchi ecc.. o disegnando una immagine, un Image o un (Image)Icon).

    ulteriore approccio differente:
    d) un singolo componente custom (es. JPanel) in cui viene fatto del custom painting per disegnare tutte le celle

    Poi (se approccio a/b/c) per la griglia sarebbe meglio avere un JPanel che usa un layout manager chiamato GridLayout, che è fatto apposta per organizzare i componenti in NxM celle.

    miao ha scritto:


    Per la tabella, nel codice, mi consigli di usare gli array o le matrici?
    array o matrice ... è la stessa cosa (array è il concetto generale in Java, matrice è il termine matematico che in Java si realizza con un array a 2 dimensioni)

    Tra jbutton e jpanel tu cosa mi consigli? X me è la prima volta che mi cimento in un esercizio così. Grazie
  • Re: Gioco del Tris in java

    miao ha scritto:


    Tra jbutton e jpanel tu cosa mi consigli?
    Ti conviene per ora la a) (JButton che mostra un Icon, tipicamente un ImageIcon).

    Però ragiona con la OOP, cioè estendi JButton in modo da incapsulare ciò che è comune a tutte le celle.
  • Re: Gioco del Tris in java

    andbin ha scritto:


    miao ha scritto:


    Tra jbutton e jpanel tu cosa mi consigli?
    Ti conviene per ora la a) (JButton che mostra un Icon, tipicamente un ImageIcon).

    Però ragiona con la OOP, cioè estendi JButton in modo da incapsulare ciò che è comune a tutte le celle.
    Ok, grazie mille
Devi accedere o registrarti per scrivere nel forum
7 risposte