Exemplo n.º 1
0
        static void Main(string[] args)
        {
            using (StreamWriter writer = new StreamWriter("out.csv", false))
            {
                ModellingTile tile = new ModellingTile(new HexPoint());

                tile.InheritanceTaxRate = ModellingTile.TaxRate.LOW;
                tile.SalesTaxRate = ModellingTile.TaxRate.LOW;
                tile.IncomeTaxRate = ModellingTile.TaxRate.LOW;
                tile.CorporateTaxRate = ModellingTile.TaxRate.LOW;
                tile.PropertyTaxRate = ModellingTile.TaxRate.LOW;

                writer.WriteLine("Round; Citizen; Growth; Pollution; Revenue; Low; Mid; High; Poverty");
                for (int i = 0; i < 200; i++)
                {
                    Console.WriteLine(string.Format("{0} citizen: {1}\t growth: {2}\t pollution: {3}", i, tile.Citizen, tile.Growth, tile.Pollution));
                    writer.WriteLine("{0}; {1}; {2:0.000}; {3:0.000}; {4:0.000}; {5:0.000}; {6:0.000}; {7:0.000}; {8:0.000}", i, tile.Citizen, tile.Growth, tile.Pollution, tile.Revenue, tile.LowIncomePeople, tile.MidIncomePeople, tile.HighIncomePeople, tile.Poverty);
                    tile.Update();

                    if (i > 100)
                        tile.IncomeTaxRate = ModellingTile.TaxRate.FAIR;
                }
            }

            Console.ReadKey();
        }
 public GrossDomesticProduct(ModellingTile parent)
     : base(parent, RuleType.GDP, 0.4)
 {
     _effects.Add(RuleType.Productivity);
     _effects.Add(RuleType.CorporateTaxRate);
     _effects.Add(RuleType.Crime);
     _effects.Add(RuleType.EnergyCost);
     _effects.Add(RuleType.Immigration);
 }
Exemplo n.º 3
0
 public HappinessSystem(ModellingTile tile, double initialValue)
     : base(tile, RuleType.Happiness, initialValue)
 {
     _effects.Add(RuleType.Crime);
 }
Exemplo n.º 4
0
 public CitizenRuleSystem(ModellingTile parent, int currentValue)
     : base(parent, RuleType.Citizen, currentValue)
 {
     _effects.Add(RuleType.GrowthRate);
 }
 public HighIncomePeopleRuleSystem(ModellingTile tile)
     : base(tile,RuleType.HighIncomePeople,0.2)
 { 
 }
 public AbstractRuleSystem(ModellingTile parent, RuleType type, double currentValue)
 {
     _parent = parent;
     _type = type;
     _currentValue = currentValue;
 }
Exemplo n.º 7
0
 public CrimeSystem(ModellingTile modellingTile, double initialValue)
     : base(modellingTile, RuleType.Crime, initialValue)
 {
     _description = "An indicator of the level of general non violent crime in your nation. This includes crimes such as car crime, burglary etc, but also covers fraud and other similar crimes";
     _effects.Add(RuleType.Poverty);
 }
Exemplo n.º 8
0
 public AgricultureSystem(ModellingTile modellingTile, double initialValue)
     : base(modellingTile, RuleType.AgricultureLevel, initialValue)
 {
     
 }
 public PollutionRuleSystem(ModellingTile parent, double currentValue)
     : base(parent, RuleType.Pollution, currentValue)
 {
     _effects.Add(RuleType.Citizen);
 }
 public MidIncomePeopleRuleSystem(ModellingTile modellingTile)
     : base(modellingTile, RuleType.MidIncomePeople, 0.6)
 {
 }
Exemplo n.º 11
0
 public LowIncomeRuleSystem(ModellingTile tile)
     : base(tile,RuleType.LowIncome,1000)
 {
     _description = "The effective income of those people who are on low (or no) earnings in our society. If this value rises high enough (through benefits and tax exemptions for the poor), then more people will move out of poverty and in to the middle income group. Progressive taxation, combined with minimum income guarantees and state benefits are the most popular ways to 'lift people' out of poverty.";
 }
 public CorporateTaxRateSystem(ModellingTile modellingTile, double initialValue)
     : base(modellingTile, RuleType.CorporateTaxRate, initialValue)
  {
  }
 public LowIncomePeopleRuleSystem(ModellingTile modellingTile)
     : base(modellingTile, RuleType.LowIncomePeople, 0.3)
 {
 }
Exemplo n.º 14
0
 public EnergyCostSystem(ModellingTile tile)
     : base(tile,RuleType.EnergyCost,0)
 {
 }
Exemplo n.º 15
0
 public ProductivitySystem(ModellingTile parent, double currentValue)
     : base(parent, RuleType.Productivity, currentValue)
 {
 }
Exemplo n.º 16
0
 public FoodSystem(ModellingTile modellingTile, double initialValue)
     : base( modellingTile,RuleType.Food,initialValue)
 {
 }
Exemplo n.º 17
0
 public MidIncomeRuleSystem(ModellingTile tile)
     : base(tile, RuleType.MidIncome, 6000)
 {
     _description = "The effective income of those people on average earnings, not wealthy or poor. This is generally the largest group of people in the economy, so policies which affect this value can be big vote deciders. Middle income earners are expected to own their own homes (or be buying them), and often own one or more cars. They probably take holidays abroad at least once a year. Taxes that affect any of these will hit these people hardest, and may push some of them down into poverty";
 }
 public GrowthRateRuleSystem(ModellingTile parent, double currentValue)
     : base(parent, RuleType.GrowthRate, currentValue)
 {
     _effects.Add(RuleType.Pollution);
 }
Exemplo n.º 19
0
 public PovertyRuleSystem(ModellingTile tile)
     : base(tile, RuleType.Poverty,0)
 {}
 public HighIncomeRuleSystem(ModellingTile tile)
     : base(tile, RuleType.HighIncome, 30000)
 {
     _description = "The effective income of the top earners in society. It is easy to reduce this by punitive taxes on the wealthy, their property, inheritance and activities such as air travel that they often indulge in. It is also possible to benefit them by offering tax exemptions and loopholes for the rich, or by favouring regressive taxation such as sales tax, rather than progressive income taxes.";
 }