Forse è un vecchio cavallo da battere (non ancora morto?), ma mi chiedo se OCL consenta di modellare il problema delle regole di business per la costruzione di case e hotel nel gioco di Monopoli in un modello di dominio (diagramma di classe concettuale , separato da un'implementazione).
Ho fornito le regole dopo il mio ingenuo tentativo, ma non sono sicuro di come catturare gli aspetti dell'ordine in OCL. Cioè, si devono possedere tutte le proprietà di un gruppo di colori, quindi costruire le case su tali proprietà "in modo uniforme" (vedi sotto), quindi sostituire le 4 case in una proprietà con un hotel, ecc. C'è anche il caso di un "carenza di alloggi" perché ci sono solo un totale di 32 case e 8 hotel nel gioco. Mi rendo conto che questa domanda è ambiziosa, ma sto cercando di capire se è possibile in OCL e di avere alcune indicazioni su dove andare.
Finora, sono riuscito a specificare il fatto che una proprietà non può avere case e hotel contemporaneamente con l'opzione {xor}
tra due associazioni.
Modellofattocon
Ecco le regole riguardanti Case e Alberghi, citate da un sito di fan .
HOUSES
When a player owns all the properties in a colour-group they may buy houses from the Bank and erect them on those properties.
If you buy one house, you may put it on any one of those properties. The next house you buy must be erected on one of the unimproved properties of this or any other complete colour-group you may own.
The price you must pay the Bank for each house is shown on your Title Deed card for the property on which you erect the house. The owner still collects double rent from an opponent who lands on the unimproved properties of there complete colour-group.
Following the above rules, you may buy and erect at any time as many houses as your judgement and financial standing will allow. But you must build evenly, i.e., you cannot erect more than one house on any one property of any colour-group until you have built one house on every property of that group. You may then begin on the second row of houses, and so on, up to a limit of four houses to a property. For example, you cannot build three Houses on one property if you have only one house on another property of that group.
As you build evenly, you must also break down evenly if you sell houses back to the Bank (see SELLING PROPERTY).
HOTELS
When a player has four houses on each property of a complete colour-group, they may buy a hotel from the Bank and erect it on any property of the colour-group. They return the four houses from that property to the Bank and pay the price for the hotel as shown on the Title Deed card. Only one hotel may be erected on any one property.
NB. Questo non è un compito a casa, anche se potrebbe essere un grande forse per un corso di specializzazione?