Comments (8)
This is a good point -
From the initialisation side of things - we've been anticipating this too. But rather than adding classes we thought that you may want to expand your agent constructor and we don't think it would be hard to do, so using AbstractCountry as a minimum you could use your own agent to add more fields.
Then on construction time I imagine it would look something like this:
new EUAgent(id,"France", etc, target, eu_political_will);
new NonAnnex(id,"Bangladesh", etc, farhan_superpower);
new USAgent(id,"USA", etc, political_start_party);
Perhaps as you say, modfiy A.C. so EU has a target, the others aren't required.
from kyoto.
Annex 1 sustain countries (e.g. Russia) also need all the functionality needed for kyoto and they have different behaviour than EU countries.
I think adding a new class that extends from Abstract Country and implements kyoto-related functionality would make sense. Having it:
- EU inherits from AbstractKyotoCountry
- Sustain inherits from AbstractKyotoCountry
- NonAnnex inherits from AbstractCountry
- US inherits from AbstractCountry
from kyoto.
And I agree that each type of a country type can introduce their own parameters if they wish to, but this is not what I was concerned about here.
from kyoto.
As there in no one against this change and I consider it quite an important one, I will work on it
from kyoto.
Sorry, I sorta need to oppose this change. If countries that are part of/not part of Kyoto inherit from different classes, then countries can't join or leave the protocol. (Which is the defined case for Canada.)
from kyoto.
I can see that Tom has come up with a different solution to this problem, can you explain what?
from kyoto.
Basically, as far as I know, the AbstractCountry has a field that says whether or not the country is a member of Kyoto. The Kyoto-only stuff like monitor tax just checks that the country is a member before executing.
from kyoto.
nice and simple.
Ok, if all the countries may be kyoto then I don't consider it an issue anymore.
from kyoto.
Related Issues (20)
- Re-joining Kyoto defaults to Annex 1 membership HOT 1
- Non-Annex One Countries Never report their carbon emissions
- Trade Transaction Data
- Yearly function happening before new targets are set HOT 3
- KyotoUI - carbonOutput1990 is not added from UI
- TradeProtocol behaviour HOT 3
- Class kyoto/services/Economy#updateEconomyState uses a new Random in each invocation HOT 2
- NullPointerException: For NonAnnexOne Sims HOT 3
- TradeProtocol is unpredictable HOT 1
- Carbon Absorption added to Sanctioning
- Carbon Absorption added to carbon Targeting
- Carbon reduction handler runtime exception
- NonAnnexOne countries respond to all trade broadcast messages HOT 1
- Canada agent has copied code from non annex one HOT 1
- SOME ONE SORT OUT THE F*&^IN EMAIL HOT 1
- Kyoto UI breaking Presage CLI HOT 4
- Added exception to CarbonAbsorptionHandler(), some people's code needs fixing HOT 4
- Simulations on server GDPs are 6 orders of magnitude incorrect HOT 4
- Behaviours completion HOT 7
- Cyprus keeps failing at investing in arable land HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kyoto.