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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? evilpixie.java

?? good project for programmer,,
?? JAVA
字號:
package com.sillysoft.lux.agent;import com.sillysoft.lux.*;import com.sillysoft.lux.util.*;////  EvilPixie.java//  Lux////  Copyright (c) 2002-2007 Sillysoft Games. //	http://sillysoft.net//	lux@sillysoft.net////	This source code is licensed free for non-profit purposes. //	For other uses please contact lux@sillysoft.net//public class EvilPixie extends Pixie{public EvilPixie()	{	mustKillPlayer = -1;	outnumberBy = 1.3f;	borderForce = 7+rand.nextInt(15);	}public String name()	{	return "EvilPixie";	}public String description()	{	return "EvilPixie is Pixie's evil twin sister.";	}public void cardsPhase( Card[] cards )	{	super.cardsPhase(cards);	cashCardsIfPossible(cards);	}public void placeArmies( int numberOfArmies )	{	if (placeArmiesToKillDominantPlayer(numberOfArmies))		{		setupOurConts(0);		return;		}	super.placeArmies(numberOfArmies);	}protected void placeArmiesToTakeCont( int numberOfArmies, int wantCont )	{	// we want to place our armies strategically, in order to conquer <wantCont>	if (BoardHelper.playerOwnsContinent( ID, wantCont, countries))		{		// then we already own it, place on the weakest borders		int[] borders = BoardHelper.getContinentBorders(wantCont, countries);		int placed = 0;		while ( placed < numberOfArmies )			{			int leastArmies = 1000000, leastID = -1;			for (int i = 0; i < borders.length; i++)				{				if (countries[borders[i]].getArmies() < leastArmies && borderCountryNeedsHelp(countries[borders[i]]))					{					leastArmies = countries[borders[i]].getArmies();					leastID = countries[borders[i]].getCode();					}				}			board.placeArmies(1, leastID);			placed++;			}		return;		}	// Otherwise we don't own it	super.placeArmiesToTakeCont( numberOfArmies, wantCont );	}// EvilPixie will not waste time re-enforcing borders when she outnumbers everyone. Just place to attack.boolean placeHogWild(int numberOfArmies)	{	if (! hogWildCheck())		{		return false;		}	placeToOutnumberEnemies(numberOfArmies);	return true;	}void placeToOutnumberEnemies(int numberOfArmies)	{	// Find out all the enemies that we don't directly outnumber from neigbors	boolean[] outnumber = new boolean[countries.length];	for (int i = 0; i < countries.length; i++)		{	outnumber[i] = false;	}	for (int i = 0; i < countries.length; i++)		{		if (countries[i].getOwner() != ID)			{			// find out if we outnumber this guy from somewhere			Country[] neigbors = countries[i].getAdjoiningList();			for (int n = 0; n < neigbors.length; n++)				{				if (neigbors[n].getOwner() == ID && neigbors[n].getArmies() > countries[i].getArmies())					{	outnumber[i] = true;	}				}			}		else			{	// we own it, so just say we outnumber it			outnumber[i] = true;			}		}	// So now reenforce all the non-outnumbered countries that we can	for (int i = 0; i < countries.length && numberOfArmies > 0; i++)		{		if (! outnumber[i])			{			// Find our strongest country that borders it			int armies = 0;			Country us = null;			Country[] neigbors = countries[i].getAdjoiningList();			for (int n = 0; n < neigbors.length; n++) 				{				if (neigbors[n].getOwner() == ID && neigbors[n].getArmies() > armies)					us = neigbors[n];				}			if (us != null)				{				int numToPlace = countries[i].getArmies() - us.getArmies();				numToPlace = Math.max(numToPlace, 1);				board.placeArmies(numToPlace, us);				numberOfArmies -= numToPlace;				}			}		}	if (numberOfArmies > 0)		{		debug("placeToOutnumberEnemies didn't use up all the armies: "+numberOfArmies);		placeNearEnemies(numberOfArmies);		}	}protected void placeRemainder(int numberOfArmies)	{	debug("placeRemainder: "+numberOfArmies);	placeToOutnumberEnemies(numberOfArmies);	}// Our border countries shouldn't need help if we totally own all the continents around itboolean borderCountryNeedsHelp(Country border)	{	return (border.getArmies() <= borderForce) && ! weOwnContsArround(border);	}public void attackPhase( )	{	if (mustKillPlayer != -1)		{		// do our best to take out this guy		attackToKillPlayer( mustKillPlayer );		}	for (int i = 0; i < numContinents; i++)		{		if (ourConts[i])			{			attackInContinent(i);			}		takeOutContinentCheck( i );		}	int numPlayers = board.getNumberOfPlayers();	for (int p = 0; p < numPlayers; p++)		{		if (p != ID)			{			takeOutPlayerCheck(p);			}		}	// Only attack for a card if we outnumber someone 5:1	attackForCard(5);	attackHogWild();	attackStalemate();	}// End of attackPhase// A check to see if someone else owns this continent. If they do then we try to kill itprotected void takeOutContinentCheck( int cont )	{	if (BoardHelper.anyPlayerOwnsContinent( cont, countries ))		{		if (countries[BoardHelper.getCountryInContinent(cont, countries)].getOwner() != ID)			{			debug("enemy owns continent "+cont);			// then an enemy owns this continent.			// Check all of it's borders for a weak spot			int[] borders = BoardHelper.getContinentBorders(cont, countries);			for (int b = 0; b < borders.length; b++)				{				Country[] neigbors = countries[borders[b]].getAdjoiningList();				for (int n = 0; n < neigbors.length; n++)					{					if (neigbors[n].getOwner() == ID && neigbors[n].getArmies() > countries[borders[b]].getArmies() && neigbors[n].canGoto(countries[borders[b]]))						{						// kill him						debug("attacking to take out continent "+cont);						if (board.attack(neigbors[n], countries[borders[b]], true) > 0)							return;						}					}				}			}		}	}protected void takeOutPlayerCheck(int player)	{	if (BoardHelper.getPlayerArmies(ID, countries) > 5*BoardHelper.getPlayerArmies(player, countries))		{		// we outnumber them 10:1. Kill what we can		debug("try to eliminate player "+player);		for (int i = 0; i < countries.length; i++)			{			if (countries[i].getOwner() == player)				{				Country[] list = countries[i].getAdjoiningList();				for (int l = 0; l < list.length && (countries[i].getOwner() == player); l++)					{					if (list[l].getOwner() == ID && list[l].getArmies() > 1)						{						if (list[l].canGoto(i))							{   // this 'if' statement should only return false when single direction borders are on the map							board.attack(list[l], countries[i], true);							}						}					}				}			}		}	}protected void fortifyContinentScraps(int cont)	{	// First check to see if we should move any of these guys into a continent that we own, to make it stronger	CountryIterator e = new ContinentIterator(cont, countries);	while (e.hasNext())		{		Country c = e.next();		CountryIterator n = new NeighborIterator(c);		while (c.getOwner() == ID && c.getMoveableArmies() > 0 && n.hasNext())			{			// we could move guys from here. Is there a good place?			Country usToHelp = n.next();			if (usToHelp.getOwner() == ID && BoardHelper.playerOwnsContinent(ID, usToHelp.getContinent(), countries))				{				debug("fortifying armies to aid continent "+cont);				board.fortifyArmies( c.getMoveableArmies(), c, usToHelp);				}			}		}	super.fortifyContinentScraps(cont);	}protected void fortifyContinent( int cont )	{	super.fortifyContinent(cont);	// Now balance out any adjacent borders:	int[] borders = BoardHelper.getContinentBorders(cont, countries);	for (int i = 0; i < borders.length; i++)		for (int j = 0; j < borders.length; j++)			{			if (countries[borders[i]].canGoto(borders[j]))				{				int diff = Math.abs(countries[borders[i]].getArmies() - countries[borders[j]].getArmies())/2;				if (diff == 0)					continue;				if (countries[borders[i]].getArmies() > countries[borders[j]].getArmies())					{					int numberToMove = Math.min(countries[borders[i]].getMoveableArmies(), ((countries[borders[i]].getArmies() - countries[borders[j]].getArmies())/2));					if (numberToMove > 0)						board.fortifyArmies( numberToMove, borders[i], borders[j]);					}/*	It is possible that armies cannot be moved from j to i (if there are single-way links)				else					{					board.fortifyArmies( Math.min(countries[borders[j]].getMoveableArmies(), ((countries[borders[j]].getArmies() - countries[borders[i]].getArmies())/2)), borders[j], borders[i]);					}   */				}			}	}public String youWon()	{ 	String[] answers = { "You'd be evil too if you grew \nup in this wacko forest",		"Always look on the dark side on life",		"Vader ain't got nothin on me",		"mmmm... Your spleen is so tasty",		"Your failure is now complete",		"My powers are unrivaled in this quadrant of space-time",		"Time to go look for a new world to conquer",		"She chose fashion, \nand I chose evil",		"Your friends have failed you",		"You rebel scum",		"You can call me Pixie Worldwalker",		"Join me, and together we can rule the universe!\n \n Oh wait, you're dead",		"Fetch me the head of John Galt",		"Now you shall dance for my entertainment",		"You shall now become a part of my petting zoo",		"Evil shall always prevail,\nbecause good is dumb",		"All the best things come in evil packages"};	return answers[ rand.nextInt(answers.length) ];	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品三级| 欧美日韩一级片网站| 在线观看欧美日本| 精品理论电影在线| 五月天激情小说综合| 99久久精品国产导航| 久久―日本道色综合久久| 亚洲国产色一区| 99re亚洲国产精品| 久久品道一品道久久精品| 免费欧美日韩国产三级电影| 欧美日韩精品综合在线| 国产精品成人免费 | 久久综合色播五月| 亚洲国产精品综合小说图片区| 国产精品一品视频| 久久美女艺术照精彩视频福利播放| 亚洲成人精品影院| 在线免费观看日本欧美| 国产精品网友自拍| 国产成人福利片| 精品国产乱码久久久久久久| 亚洲综合一区在线| 91久久精品国产91性色tv | 成人av免费在线播放| 久久―日本道色综合久久| 久久99精品国产麻豆婷婷| 91精品综合久久久久久| 五月婷婷久久综合| 欧美日本一区二区在线观看| 亚洲一区二区综合| 欧美在线观看视频一区二区三区| 亚洲三级电影网站| 99久久精品国产毛片| 亚洲精品国产无套在线观| 91麻豆精品视频| 亚洲免费三区一区二区| 91免费看片在线观看| 亚洲精品日韩综合观看成人91| 色婷婷综合久久| 亚洲国产aⅴ天堂久久| 欧美精品日韩综合在线| 日本女优在线视频一区二区| 精品国产一区二区三区不卡| 精品一区二区三区在线观看| 精品对白一区国产伦| 国产原创一区二区三区| 国产精品久久久久影院亚瑟 | 亚洲精品综合在线| 欧美日韩在线播放三区四区| 日韩高清在线观看| 欧美成人乱码一区二区三区| 国产伦理精品不卡| 亚洲女厕所小便bbb| 欧美丰满嫩嫩电影| 国产乱子轮精品视频| 中文字幕制服丝袜一区二区三区| 一本一道综合狠狠老| 亚洲成人动漫精品| 国产亚洲一区二区在线观看| 99九九99九九九视频精品| 五月婷婷激情综合| 国产精品色在线观看| 欧美精品在线视频| 国产a级毛片一区| 亚洲成人tv网| 亚洲国产高清不卡| 欧美老肥妇做.爰bbww| 国产高清精品在线| 午夜影院久久久| 欧美激情一二三区| 69成人精品免费视频| 懂色av中文字幕一区二区三区| 亚洲一区二区欧美日韩| 久久久不卡影院| 欧美日韩电影一区| 成人妖精视频yjsp地址| 日韩高清一区二区| 亚洲人成影院在线观看| 精品国产自在久精品国产| av一区二区三区在线| 久久国产夜色精品鲁鲁99| 综合激情成人伊人| 久久夜色精品国产欧美乱极品| 一本一本大道香蕉久在线精品| 美女脱光内衣内裤视频久久网站| 一区二区三区中文字幕电影| 国产精品丝袜一区| 久久亚洲精华国产精华液 | 欧美日韩一区二区三区在线看| 国产一区999| 喷水一区二区三区| 亚洲美女免费视频| 国产精品少妇自拍| 久久九九99视频| 日韩精品一区二区在线| 欧美日韩mp4| 在线视频一区二区三| av色综合久久天堂av综合| 国v精品久久久网| 国产资源精品在线观看| 蜜桃视频在线一区| 午夜亚洲国产au精品一区二区| 一区二区三区影院| 亚洲男人的天堂在线观看| 中文在线一区二区| 欧美激情在线观看视频免费| 久久综合狠狠综合久久激情| 制服丝袜亚洲网站| 欧美精品在线一区二区三区| 欧美电影一区二区| 欧美一区二区福利视频| 欧美一区二区三区在| 7777精品伊人久久久大香线蕉完整版 | 亚洲乱码国产乱码精品精可以看| 中文字幕欧美日韩一区| 国产亚洲午夜高清国产拍精品| 精品久久久久久久久久久久久久久| 日韩一区二区在线观看视频| 91精品免费观看| 欧美一区二区三区影视| 日韩西西人体444www| 欧美成人精品福利| 久久久美女艺术照精彩视频福利播放 | ...xxx性欧美| 日韩伦理免费电影| 亚洲综合小说图片| 午夜精品久久久久久久久| 日韩高清不卡一区二区| 久久国产生活片100| 国产91高潮流白浆在线麻豆| 成人av动漫在线| 欧洲日韩一区二区三区| 51精品久久久久久久蜜臀| ww亚洲ww在线观看国产| 国产精品入口麻豆原神| 一卡二卡三卡日韩欧美| 日韩精品乱码免费| 韩日精品视频一区| 色综合夜色一区| 欧美一区二区日韩一区二区| 久久久另类综合| 一区二区三区在线播| 麻豆成人久久精品二区三区红 | 日本成人在线网站| 国产高清在线精品| 日本韩国欧美在线| 久久久亚洲午夜电影| 亚洲色图在线播放| 青青草91视频| www.日韩精品| 欧美一区二区三区色| 国产精品久久国产精麻豆99网站 | 亚洲婷婷综合色高清在线| 天天综合色天天综合色h| 国产精品一区二区在线播放| 91福利视频在线| 久久久亚洲午夜电影| 亚洲黄网站在线观看| 国产一区二区精品久久99| 91福利视频久久久久| 国产亚洲成年网址在线观看| 无码av中文一区二区三区桃花岛| 国产91在线|亚洲| 4hu四虎永久在线影院成人| 亚洲欧洲av色图| 精品一区二区三区不卡| 精品视频免费看| 最新日韩av在线| 国产精品自在在线| 69成人精品免费视频| 亚洲一区二区在线播放相泽| 成人丝袜视频网| 久久亚洲精品国产精品紫薇| 日韩主播视频在线| 在线免费观看一区| 国产精品国产三级国产a| 国产在线精品一区二区三区不卡 | 中文字幕一区av| 极品尤物av久久免费看| 在线成人午夜影院| 亚洲国产精品久久一线不卡| 成人理论电影网| 国产亚洲福利社区一区| 精品伊人久久久久7777人| 制服.丝袜.亚洲.另类.中文| 一区二区三区精密机械公司| av在线这里只有精品| 国产日韩成人精品| 国产又黄又大久久| 精品久久一区二区| 久久精品国产一区二区三区免费看 | 日本成人在线一区| 欧美日韩电影一区| 亚洲成人av资源| 欧美精品久久天天躁| 天堂一区二区在线| 日韩视频中午一区| 老司机午夜精品| 精品久久人人做人人爽|