Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    Gestione db per gioco monopoli

    Salve ragazzi volvevo un informazione, per chi conosce il gioco da tavola del MONOPOLI.

    Stò cercando di progettare un database per il gioco, adesso però mi sono bloccato alla gestione dei cartoncini imprevisti e probabilità.

    In primis ho creato una tabella:

    CASELLA:
    posizione, nome

    Dove posizione=chiave primaria

    Adesso come posso gestire la parte relativa ai cartoncini? In realtà sono uguali solo che in base al testo es: "Tanti auguri di buon compleanno la banca ti regala 1000 lire", devo poter scatenare una funzione , cioè la banca deve dare al giocatore che ha effettuato quella mossa 1000 lire.
    Il mio problema è, come strutturare la tabella e con cosa mettere in relazione?

    Grazie anticipatamente
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Ciao

    prima di struttura la tabella cerca di prevedere tutti i tipi di eventi, se non ricordo male:

    banca attivo: es. avete vinto un terno al lotto
    banca passivo: es. tassa per la ristrutturazione degli immobili
    con giocatori: es. è il vostro compleanno... ogni giocatore vi regala 1000 lire
    spostamenti: fate 3 passi indietro con tanti auguri, andate al Parco della Vittoria ecc.

    non me ne vengono in mente altri, se inizi a progettare e salti qualcosa... riallineare la struttura della tabella ti richiederà il doppio del tempo.

  3. #3
    Utente di HTML.it L'avatar di ybla82
    Registrato dal
    Jan 2009
    Messaggi
    92
    Forse fare una tabella che ti gestisca tutte le casistiche dei cartonicini potrebbe risultare un po' complicato.

    Una cosa abbastanza semplice potrebbe essere questa:
    Definisci la tabella cartoncini in questo modo:
    IdCartoncino
    Testo
    IdFunzione.

    Dove idFunzione fa riferimento ad una tua funzione customizzata nel codice.
    In pratica quando prendi un cartoncino sai che devi chiamare quella funzione con quell'id.

    Da qualche parte dentro il codice fai un'associazione metodo - id.

    Facendo così ti eviti molte generalizzazione in cui ti potresti perdere.

  4. #4
    Si, in effetti la soluzione suggerita da ybla82 è più semplice e lineare.

    Volevo semplicemente dettagliare meglio la mia.
    Dividendo in due classi i cartoncini, movimento di denaro e spostamenti:

    Per movimento di denaro
    una tabella organizzata potrebbe essere:

    IdCartoncino
    Testo
    BancaEntrata
    BancaUscita
    GiocatoriEntrata
    GiocatoriUscita

    Si calcola il saldo del giocatore semplicemente come:

    saldo=saldo attuale+BancaEntrata+GiocatoriEntrata-BancaUscita-GiocatoriUscita

    indipendentemente dal cartoncino pescato ma... forse la distinzione Banca/Giocatori non serve e si potrebbe limitare i campi a Entrata/Uscita.

    Spostamenti
    Dividere in
    - salti diretti (Vai la Parco della Vittoria, ecc)
    - salti relativi (fai tre passi indietro con tanti auguri)

    Io, membro onorario UCAS, avrei adottato questa soluzione ma ritengo molto valida l'altra.

  5. #5
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    vitren54, scusami, però devo avere anche una tabella banca?
    E poi, per quanto riguardo i cartoncini, devo associare una tabella "casella" la quale contiene nome e posizione della casella???
    Con i sogni possiamo conoscere il futuro...

  6. #6
    Ciao gaten

    mi sa che ti sei infilato in un bel ginepraio complicato sia per la progettazione delle tabelle che per la programmazione... comunque è tutto risolvibile.

    Non mi è chiaro se il tuo compito si limita alla progettazione o punti al gioco effettivo.

    Partiamo dalle tabelle:

    Caselle:

    posizione (1-40)

    tipo (T_erreno, P_robabilità, I_mprevisti, S_tazioni, EA_energia/acqua, P_rigione, N_eutre (parcheggi/transito)

    nome (Vicolo Corto ecc.)

    Costo 1 casa
    Costo 2 case
    Costo 3 case
    Costo 4 case
    Costo Albergo
    N.B. i costi delle case sono da utilizzare anche per stazioni (tipo=S) e energia/acqua (tipo EA) rispettivamente se hai da 1-4 stazioni o 1-2 contratti EA

    Probabilità/Imprevisti

    IdCartoncino
    tipo (D_enaro, spostamento A_ssoluto, spostamento R_elativo)
    Testo
    BancaEntrata (D)
    BancaUscita (D)
    GiocatoriEntrata (D)
    GiocatoriUscita (D)
    Spostamento (A/R)

    Tipo D
    x Giocatore saldo=saldo attuale+BancaEntrata+GiocatoriEntrata-BancaUscita-GiocatoriUscita
    x Banca saldo=saldo attuale+BancaEntrata-BancaUscita

    Tipo A
    vai a casella Spostamento

    Tipo R
    posizione = posizione - Spostamento

    Banca:
    Saldo
    Case
    Alberghi

    Se la progettazione è limitata agli archivi il discorso, anche se abbozzato, potrebbe finire qui

    In questo struttura non si tiene conto del numero effettivo di giocatori, numero che andrebbe a modificare il conteggio del saldo giocatore (es. è il tuo compleanno ogni giocatore ti regala 1000 lire) ma serve solo se decidi di programmare il gioco.

  7. #7
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Scusami vitren54, potresti illustrarmi le relazioni, poichè quello che a me interessa è la progettazione concettuale. In pratica, stò creando il class diagram.

    Grazie anticipatamente, e grazie ancora per la tua risposta utilissima.
    Con i sogni possiamo conoscere il futuro...

  8. #8
    Ciao gaten

    graficamente non so come impostare i collegamenti tra gli archivi (è da un po' che non disegno diagrammi di flusso).

    Gli archivi sono quelli che ti ho indicato e limitando il problema alla progettazione e non al gioco puoi evitare di gestire i costi delle case e alberghi nell'archivio Caselle

    L'archivio principale è Caselle.

    I collegamenti diretti sono:

    Imprevisti/Probabilità: Caselle.Posizione <--> Imprevisti/Probabilità.Spostamento (A)
    Imprevisti/Probabilità: Caselle.Posizione <--> Imprevisti/Probabilità.Spostamento (R-Spostamento)

    Giocatore: Giocatore <--> Banca Imprevisti/Probabilità.Tipo (D)

    i tipi restanti di Caselle (T_erreno, S_tazioni, EA_energia/acqua, P_rigione, N_eutre (parcheggi/transito) sono da gestire tramite programmazione.

  9. #9
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Sinceramente non mi è chiara la tua rappresentazione. che entità è Imprevisti/Probabilità, è un'unica entità??? come la gestisci tu?
    Con i sogni possiamo conoscere il futuro...

  10. #10
    http://www.mvrsoft.it/forum.gif

    L'archivio principale è Caselle.

    Gli unici collegamenti tra archivi che vedo sono:
    Caselle con Probabilità/Imprevisti di spostamento
    A_ssoluto = es. andate al Parco della Vittoria - posizione = 39
    R_elativo = Posizione Attuale-Spostamento es. fai 3 passi indietro

    Caselle con Probabilità/Imprevisti con movimento di denaro (D)
    collegano il giocatore e il suo relativo saldo alla banca secondo quanto indicato sul cartoncino (entrata/uscita)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.