亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wealthagent.java

?? 創(chuàng)新系統(tǒng)仿真模型代碼
?? JAVA
字號:
/*$$ * packages uchicago.src.* * Copyright (c) 1999, Trustees of the University of Chicago * All rights reserved. * * Redistribution and use in source and binary forms, with  * or without modification, are permitted provided that the following  * conditions are met: * *	 Redistributions of source code must retain the above copyright notice, *	 this list of conditions and the following disclaimer. * *	 Redistributions in binary form must reproduce the above copyright notice, *	 this list of conditions and the following disclaimer in the documentation *	 and/or other materials provided with the distribution. * *	 Neither the name of the University of Chicago nor the names of its *   contributors may be used to endorse or promote products derived from *   this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRUSTEES OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Nick Collier * nick@src.uchicago.edu * * packages cern.jet.random.* * Copyright (c) 1999 CERN - European Laboratory for Particle * Physics. Permission to use, copy, modify, distribute and sell this * software and its documentation for any purpose is hereby granted without * fee, provided that the above copyright notice appear in all copies * and that both that copyright notice and this permission notice appear in * supporting documentation. CERN makes no representations about the  * suitability of this software for any purpose. It is provided "as is"  * without expressed or implied warranty.  * * Wolfgang Hoschek * wolfgang.hoschek@cern.ch *$$*/package tom.edu.csustan.astarte;import tom.edu.csustan.astarte.*;import cern.jet.random.Uniform;import cern.jet.random.Normal;import uchicago.src.sim.gui.*;import java.lang.Math;// If an agent, or any other object is to be displayed in a display it// needs to implement at least the drawable interface which has one method:// draw(SimGraphics g)public class WealthAgent implements Drawable {  int x, y;                  // my coordinates  double wealth;                // amount of wealth I own  double smart = 0.0;      // how much smarter am I?  int age;                 // how old I am  int maxAge;              // how old can I get?  private WealthSpace space;  private WealthModel model;  public WealthAgent(WealthSpace ss, WealthModel model) {    space = ss;    this.model = model;  }  public void setXY(int x, int y) {    this.x = x;    this.y = y;  }  public int getX() {    return x;  }  public int getY() {    return y;  }  // Just as the model needs get and set accessor methods in order for  // its initial parameters to be displayed and thus subject to modification,  // an agent (or any other object) can be probed through similar get and set  // methods.  //  // Probing consists of clicking on an object in the display, causing that  // object's current state to be displayed. What is displayed depends on  // the various get and set methods implemented by the object. For example,  // if an object has a setMetabolism and a getMetabolism method, a Metabolism  // field will be displayed providing the current value of the metabolism  // variable and allowing the user to change the value by entering a new value  // and pressing enter. As of this release only number, String, and boolean  // fields can be displayed. Of course a user can use the get and set methods  // to turn a Vector, for example, into a String or whatever is appropriate.  public void setWealth(double wealth) {    this.wealth = wealth;  }  public double getWealth() {    return wealth;  }    public void setAge(int age) {    this.age = age;  }  public int getAge() {    return age;  }    public void setSmart(double smartness) {	  this.smart = smartness;  }    public double getSmart() {	  return smart;  }    public void setMaxAge(int maxAge) {    this.maxAge = maxAge;  }  public int getMaxAge() {    return maxAge;  }  // step() is called by the scheduler once per tick.  public void step() {    if (WealthModel.Sync) {    if (wealth < WealthModel.SyncMax)        wealth = wealth + 1;    else if (!WealthModel.SyncRegion) {        for(int i = 0; i < WealthModel.agentList.size(); i++) {            WealthAgent agent = (WealthAgent)WealthModel.agentList.get(i);            if (agent.getWealth() > WealthModel.SyncLatency)                agent.setWealth(agent.getWealth() + 0.03); // 0.05        }        wealth = 0.001;    }    else {        for (int dX = -8; dX <= 8; dX++)            for (int dY = -8; dY <= 8; dY++)                if ((dX != 0) || (dY != 0)) {                    int newX = (x + dX + space.getXSize()) % space.getXSize();                    int newY = (y + dY + space.getYSize()) % space.getYSize();                    WealthAgent agent = WealthModel.getAgentAt(newX, newY);                    if (agent != null)                        if (agent.getWealth() > WealthModel.SyncLatency)                            if (WealthModel.Moving)                                agent.setWealth(agent.getWealth() + 0.925); // 1.25                            else                                agent.setWealth(agent.getWealth() + 0.925); // 1.45                }        wealth = 0.001;    }    if (WealthModel.Moving) {        int dX = Uniform.staticNextIntFromTo(-1, 1);        int dY = Uniform.staticNextIntFromTo(-1, 1);        int newX = (x + dX + space.getXSize()) % space.getXSize();        int newY = (y + dY + space.getYSize()) % space.getYSize();        WealthAgent agent = WealthModel.getAgentAt(newX, newY);        if (agent == null)            WealthModel.moveAgent(this, newX, newY);    }  }    if (WealthModel.ROI || WealthModel.Both) {       /* double r = Normal.staticNextDouble(WealthModel.ROIMean, WealthModel.ROIStdDev);       wealth = wealth * (1 + r);	  /**/	  	  double r = Normal.staticNextDouble(WealthModel.ROIMean - (WealthModel.ROIStdDev * WealthModel.ROIStdDev) / 2.0,										 WealthModel.ROIStdDev);	  	   wealth = wealth * Math.exp(r + smart);       /**/  }    if (WealthModel.Moving && (WealthModel.Exchange || WealthModel.Both)) {    int dX = Uniform.staticNextIntFromTo(-1, 1);    int dY = Uniform.staticNextIntFromTo(-1, 1);    int newX = (x + dX + space.getXSize()) % space.getXSize();    int newY = (y + dY + space.getYSize()) % space.getYSize();    WealthAgent agent = WealthModel.getAgentAt(newX, newY);    if (agent != null) {      if (wealth >= 1.0) {        agent.setWealth(agent.getWealth() + 1.0);        wealth = wealth - 1.0;      }    }    else      WealthModel.moveAgent(this, newX, newY);    }  if (WealthModel.RandomWalk) {      if (wealth < 1)        wealth = 1;      else {        int i = Uniform.staticNextIntFromTo(0, 1);        if (i == 0) {          wealth = wealth - 1.0;        }        else          wealth = wealth + 1.0;      }    } if ((WealthModel.Exchange || WealthModel.Both) && (wealth > 1.0) && !WealthModel.Moving) {       int i = Uniform.staticNextIntFromTo(0, WealthModel.agentList.size() - 1);       WealthAgent agent = (WealthAgent)WealthModel.agentList.get(i);       agent.setWealth(agent.getWealth() + 1.0);       wealth = wealth - 1.0;  }  if (WealthModel.DeathTax) {    age = age + 1;    if (age >= maxAge) {      age = 0;      double currentWealth = wealth;      while (wealth > (((100 - WealthModel.TaxPCT) * currentWealth) / 100)) {        int i = Uniform.staticNextIntFromTo(0, WealthModel.agentList.size() - 1);        WealthAgent agent = (WealthAgent)WealthModel.agentList.get(i);        agent.setWealth(agent.getWealth() + 1);        wealth = wealth - 1;      }    }  }  if (wealth < WealthModel.MinWealth)	  wealth = WealthModel.MinWealth; }  // drawable implementation  // draw() is called whenever the display is updated, assuming the agent  // is part of what is being displayed.  public void draw(SimGraphics g) {    if (wealth > 250)      g.drawFastRoundRect(java.awt.Color.magenta);    else if (wealth > 200)      g.drawFastRoundRect(java.awt.Color.pink);    else if (wealth > 150)      g.drawFastRoundRect(java.awt.Color.red);    else if (wealth > 125)      g.drawFastRoundRect(java.awt.Color.orange);    else if (wealth > 100)      g.drawFastRoundRect(java.awt.Color.yellow);    else if (wealth > 75)      g.drawFastRoundRect(java.awt.Color.green);    else if (wealth > 50)      g.drawFastRoundRect(java.awt.Color.cyan);    else if (wealth > 40)      g.drawFastRoundRect(java.awt.Color.blue);    else if (wealth > 30)      g.drawFastRoundRect(java.awt.Color.lightGray);    else if (wealth > 20)      g.drawFastRoundRect(java.awt.Color.gray);    else if (wealth > 10)      g.drawFastRoundRect(java.awt.Color.darkGray);    else      g.drawFastRoundRect(java.awt.Color.black);  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人avav影音| 亚洲天堂网中文字| 国产美女在线精品| 亚洲色图制服诱惑| 国产一区二区免费看| 国产成人亚洲综合色影视| 99麻豆久久久国产精品免费| 一区二区久久久久| 青青草一区二区三区| 国产不卡高清在线观看视频| 色八戒一区二区三区| 91精品国产综合久久精品性色 | 精品成人一区二区三区四区| 国产精品女上位| 午夜电影久久久| 国产成人免费av在线| 在线免费不卡电影| 2020国产精品| 亚洲国产精品久久人人爱| 国产美女视频91| 欧美日韩成人高清| 亚洲国产高清不卡| 日韩高清国产一区在线| 成人动漫一区二区在线| 欧美久久一区二区| 国产精品久久久久aaaa樱花| 免费观看久久久4p| 91小宝寻花一区二区三区| 日韩欧美国产综合在线一区二区三区| 国产精品三级电影| 另类小说欧美激情| 欧美日韩视频第一区| 国产精品欧美一区二区三区| 蜜桃视频免费观看一区| 在线观看欧美黄色| 中文字幕av不卡| 精品一区二区国语对白| 欧美视频一区二区在线观看| 亚洲国产经典视频| 黄网站免费久久| 欧美日韩1234| 亚洲精品少妇30p| 国产高清亚洲一区| 日韩一卡二卡三卡四卡| 亚洲国产毛片aaaaa无费看| 成人福利视频网站| 久久久久国产免费免费| 美女一区二区视频| 欧美午夜视频网站| 亚洲伦理在线精品| av在线一区二区| 久久日韩粉嫩一区二区三区| 日本视频在线一区| 欧美嫩在线观看| 亚洲自拍偷拍图区| 日本精品视频一区二区| 国产精品色哟哟网站| 国产精品996| 精品处破学生在线二十三| 日本一不卡视频| 91麻豆精品国产91久久久资源速度 | 欧美成人一区二区三区| 日韩中文字幕av电影| 欧美日韩视频专区在线播放| 亚洲一区在线视频观看| 色婷婷av一区二区三区之一色屋| 国产精品色哟哟网站| 国产91丝袜在线播放九色| 欧美精品一区二区在线播放| 精品一区二区三区免费毛片爱| 日韩手机在线导航| 六月丁香婷婷色狠狠久久| 日韩一级大片在线观看| 日韩av成人高清| 日韩欧美一级二级| 看国产成人h片视频| 欧美成人欧美edvon| 老司机午夜精品| 久久中文字幕电影| 国产成人欧美日韩在线电影| 欧美国产丝袜视频| www.亚洲激情.com| 亚洲欧美日韩成人高清在线一区| 91麻豆国产香蕉久久精品| 亚洲蜜桃精久久久久久久| 色婷婷综合五月| 一区二区三区四区在线免费观看 | 欧美一级日韩免费不卡| 毛片av一区二区| 欧美精品一区二区在线观看| 国产精品自产自拍| 国产精品第一页第二页第三页| 91丨九色丨蝌蚪丨老版| 亚洲综合免费观看高清完整版在线 | 91毛片在线观看| 亚洲午夜一二三区视频| 欧美福利一区二区| 精品一区二区日韩| 欧美韩国日本一区| 色综合一个色综合亚洲| 天天操天天色综合| 精品福利视频一区二区三区| 国产精品一二二区| 亚洲欧美一区二区久久| 欧美色视频在线| 美女看a上一区| 国产视频亚洲色图| 91久久一区二区| 美女脱光内衣内裤视频久久影院| 久久久噜噜噜久久中文字幕色伊伊| 成人精品视频.| 伊人一区二区三区| 欧美成人艳星乳罩| 91丨porny丨在线| 婷婷一区二区三区| 国产清纯白嫩初高生在线观看91| 91色在线porny| 日本伊人色综合网| 欧美国产日韩精品免费观看| 欧美日韩亚洲高清一区二区| 国产成人一区在线| 亚洲国产精品一区二区久久| 欧美大胆人体bbbb| 色又黄又爽网站www久久| 免费精品视频在线| 亚洲色图丝袜美腿| 日韩欧美视频在线| 色婷婷亚洲精品| 国产一区亚洲一区| 亚洲国产成人av网| 亚洲国产精品av| 欧美一级片在线看| 91免费在线视频观看| 美美哒免费高清在线观看视频一区二区 | 国产亚洲综合av| 精品污污网站免费看| 国产一区二区按摩在线观看| 亚洲一卡二卡三卡四卡无卡久久| 国产午夜精品久久久久久久| 91精品国产91久久综合桃花| 波多野结衣精品在线| 免费在线观看一区二区三区| 一区二区三区美女视频| 国产欧美一区二区精品性色| 3d动漫精品啪啪1区2区免费| 色综合中文字幕国产| 久久99久久久欧美国产| 亚洲免费高清视频在线| 久久精品网站免费观看| 4438x亚洲最大成人网| 91国产免费观看| 成人性生交大片免费看视频在线| 日本伊人午夜精品| 亚洲成人自拍网| 国产精品成人在线观看| 精品国产亚洲一区二区三区在线观看| 欧美性感一区二区三区| www..com久久爱| 国产精品一区二区久激情瑜伽| 日本美女一区二区| 亚洲一二三区视频在线观看| 一区在线观看免费| 国产婷婷色一区二区三区在线| 欧美电影免费提供在线观看| 欧美久久久久久蜜桃| 色综合一个色综合亚洲| 99久久婷婷国产| 成人美女视频在线观看| 国产美女精品在线| 国产一区二区三区黄视频 | 久久99国产精品麻豆| 香蕉影视欧美成人| 亚洲香肠在线观看| 一个色在线综合| 亚洲精品videosex极品| 最新日韩在线视频| 国产精品私人影院| 中文字幕免费一区| 国产喷白浆一区二区三区| 久久久亚洲综合| 久久网这里都是精品| 精品剧情在线观看| 精品三级在线看| 日韩精品一区二区三区四区| 欧美一区二区三区视频在线 | 久久99精品一区二区三区三区| 青青草原综合久久大伊人精品| 免费日本视频一区| 麻豆91免费观看| 精品一区二区综合| 国产精品正在播放| 成人动漫在线一区| 色综合天天综合色综合av| 色诱视频网站一区| 欧美三级电影在线看| 欧美一级片在线观看| 久久亚洲精品小早川怜子| 国产午夜久久久久| 综合色天天鬼久久鬼色| 夜色激情一区二区|