Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Problemi problemi prolemi.....
Forum - Java - Problemi problemi prolemi....."consigli generali"

Avatar
Francio88 (Normal User)
Newbie


Messaggi: 1
Iscritto: 03/05/2009

Segnala al moderatore
Postato alle 18:58
Domenica, 03/05/2009
Salve a tt... è un mesetto che sto facendo letteralmente a botte con Java...inutile dire che nn ho mai programmato e piu che leggermi i manuali e andare a lezione(Universita) non posso fare!Quando leggo il testo apparentemente sembrerebbe tt chiaro..o meglio la magior parte degli argomenti...tuttavia quando vado ad applicare la teoria non so dove mettere le mani...non riesco a strutturare il programma...non so se mi conviene scrivere tutto su un unico file o fare una miriade di extedes...dove applicare i cili...ho solo tante nozioni e un mucchio di confusione...ed è per questo che volevo provare a dare un programmino semplice semplice su  un gioco di carte..per esempio poker texas. Ora il problema...come lo strutturo?? All inizio ho pensato ad una classe "Mazzo"...li mettere un unico array (da 1 a 13) e poi farlo leggere a delle sottoclassi per esempio "Picche..fiori...etc". non so se si possa fare..xke all atto pratico nn riesco ad eseguirlo...allora ho pensato di fare direttamente nella classe Mazzo 4 arrey distinti ogniuna con una variabile int Q,P,F,C e un if booleano dando true se si paragona a l asso con qualsiasi altro elemento dell array.Come faccio a cambiare il primo elemento dell array con la parola 'Asso'??
Object[] o=new Object[13];
        o[1]=new Picche("Asso di Picche");
        o[2]=new Picche("Due di picche");     è giusto fare cosi? O bisogna fare un metodo??

byte [] ValoreCarte= {1,2,3,4,5,6,7,8,9,10,11,12,13};
          ValoreCarte[1]= char'Asso';
         if (1<2||1<3||1<4||1<5||1<6||1<7||1<8||1<9||1<10||1<11||1<12||1<13){
           boolean ImpCarte = true;}
si puo fare??
Un ultima cosa....Credo debba usare il metodo Math.random() ..ma come impostare il ciclo affinche prenda un elemento dell array, casualmente lo implementi in uno dei 4 semi e soprattutto evitare che possa "pescare" 2 volte la stessa carta nella stessa fase di gioco??Ripeto...piu o meno..visti come aspetti singoli so come fare...ma nell insieme nn riesco a gestirli...nn mi aspetto una risposta "Ok...questo è il codice....copiatelo" ma delle accortezze per riuscire a gestire tt queste cose. Ringrazio tt in anticipo!!!


ps il mio scopo principale è creare una semplice finestra di output scon le scritte
-giocatore 1:
AF,5P
-giocatore 2:
KP,KC
- Al tavolo:
3F,7C,AQ,KF,2P
- giocatore 2 vince con tris di Kappa
-giocatore 1 perde con coppia Assi  
quindi niente puntate....momenti di flop o cose varie..un riconoscimento punti e una ditribuzione di carte coerente.....diciamo una morra cinese un po piu elaborata ;P

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 18:56
Mercoledì, 06/05/2009
Testo quotato


Salve a tt... è un mesetto che sto facendo letteralmente a botte con Java...inutile dire che nn ho mai programmato e piu che leggermi i manuali e andare a lezione(Universita) non posso fare!



Programmare :asd:
Leggere i manuali e seguire le lezioni senza mettersi davanti al pc a provare non porta a niente, quindi quello che hai iniziato a fare ora è la giusta strada.

Testo quotato


Quando leggo il testo apparentemente sembrerebbe tt chiaro..o meglio la magior parte degli argomenti...tuttavia quando vado ad applicare la teoria non so dove mettere le mani...



in informatica non è come la matematica che applichi la teoria all'esercizio, è il contrario.
applichi la tua esperienza e l'esercizio alla teoria che a quel punto ti sarà veramente chiara.
vale a dire: "leggi manuali, leggi codice, scrivi codice, ri-leggi manuali"

nei libri e alle lezioni troverai la sintassi base e qualche esempio che usa determinate funzioni del linguaggio, ma l'approccio al problema lo intuisci guardando codice e provando tu.

Testo quotato


non riesco a strutturare il programma...non so se mi conviene scrivere tutto su un unico file o fare una miriade di extedes...



questo rientra in analisi e progettazione del software, non so a che livello sia il tuo corso.
quello che devi fare essenzialmente è creare varie Classi, stabilirne responsabilità e relazioni.

Testo quotato


dove applicare i cili...



dove qualcosa si ripete! questo rientra più che altro nell'algoritmica.

Testo quotato


ho solo tante nozioni e un mucchio di confusione...



Capisco. In informatica nozioni non dovrebbero esistere, la nozione è qualcosa che "si sa", ma informatica sta per "informazione automatica" quindi c'è più che altro da saper cercare se qualcosa non "la sai".
Devi limitarti ad avere in mente concetti, "avere un'idea".
Poi tutto sta nel fare prove di difficoltà crescente soprattutto se è il tuo primo linguaggio.

Testo quotato


ed è per questo che volevo provare a dare un programmino semplice semplice su  un gioco di carte..per esempio poker texas.



se è la prima prova che fai, forse è troppo.
hai già provato a scrivere, modificare, compilare e soprattutto CORREGGERE gli esercizi di base che vanno dall'hello world agli altri problemi base? hai mai provato a fare qualche software per imparare a gestire i tipi di base? dagli interi fino le stringhe?
se tutto questo lo hai saltato il tuo esercizio potrebbe solo aumentare la tua confusione.

Testo quotato


Ora il problema...come lo strutturo?? All inizio ho pensato ad una classe "Mazzo"...li mettere un unico array (da 1 a 13) e poi farlo leggere a delle sottoclassi per esempio "Picche..fiori...etc".



Java è orientato agli oggetti come avrai letto, con la OOp modelli la realtà.
Secondo te come è rappresentabile la realtà di una mazzo di carte?
giustamente hai identificato la classe Mazzo, ora bastava fare un passo più semplice e invece di identificare
sotto classi per ogni seme l'ideale è identificare la classe Carta che descriverà una carta, poi il Mazzo sarà un aggregato di carte (puoi usare gli array, o, se li hai affrontati sul libro, le Collection come la classe Vector)

Testo quotato


non so se si possa fare..xke all atto pratico nn riesco ad eseguirlo...allora ho pensato di fare direttamente nella classe Mazzo 4 arrey distinti ogniuna con una variabile int Q,P,F,C e un if booleano dando true se si paragona a l asso con qualsiasi altro elemento dell array.Come faccio a cambiare il primo elemento dell array con la parola 'Asso'??
Object[] o=new Object[13];
        o[1]=new Picche("Asso di Picche");
        o[2]=new Picche("Due di picche");     è giusto fare cosi? O bisogna fare un metodo??

byte [] ValoreCarte= {1,2,3,4,5,6,7,8,9,10,11,12,13};
          ValoreCarte[1]= char'Asso';
         if (1<2||1<3||1<4||1<5||1<6||1<7||1<8||1<9||1<10||1<11||1<12||1<13){
           boolean ImpCarte = true;}
si puo fare??



prima di tutto attento che gli array partono da 0.
poi char rappresenta un carattere singolo, per rappresentare una serie
alfanumerica devi usare String:

String = "Asso";

Poi questo:

     if (1<2||1<3||1<4||1<5||1<6||1<7||1<8||1<9||1<10||1<11||1<12||1<13){

sarà sempre vero: "se 1 è minore di 2, o 1 minore di 3, o ... 1 minore di 12"

Testo quotato


Ripeto...piu o meno..visti come aspetti singoli so come fare...ma nell insieme nn riesco a gestirli...nn mi aspetto una risposta "Ok...questo è il codice....copiatelo" ma delle accortezze per riuscire a gestire tt queste cose. Ringrazio tt in anticipo!!!



Dovresti fare qualche esercizio su questi aspetti singoli: qualche esercizio sugli array, qualcuno sulle stringhe ecc...

PM Quote