/* * // 指定された位置のタイルがウイルスに感染しているならtrueを返す * private bool IsVirus(Vector2Int pos) * { * var cell = tileList[pos.x, pos.y]; * return (cell == TileType.VIRUS_1) || (cell == TileType.VIRUS_2) || (cell == TileType.VIRUS_3) || (cell == TileType.VIRUS_4); * } */ // 指定された方向にプレイヤーが移動できるか検証 // 移動できる場合は移動する private void TryMovePlayer(ActionType direction, GameObject player) { // プレイヤーの現在地を取得 var currentPlayerPos = playerPosTable[player]; // 任意のプレイヤーの現在地を取得 // プレイヤーの移動先の位置を計算 var nextPlayerPos = GetNextPositionAlong(currentPlayerPos, direction); // プレイヤーの移動先がステージ内ではない場合無視 if (!IsValidPosition(nextPlayerPos)) { return; } // プレイヤーの移動先に他のプレイヤーがいる場合、無視 if (IsOtherPlayer(nextPlayerPos)) { return; } // プレイヤーの移動 player.transform.position = GetDisplayPosition(nextPlayerPos.x, nextPlayerPos.y); // プレイヤーの位置を更新 playerPosTable[player] = nextPlayerPos; OnlyPositionList[TurnPlayerManagerScript.getTurnPlayerNum() - 1] = nextPlayerPos; IsSuccessAction = 1; }
// Start is called before the first frame update void Start() { LoadTileData(); CreateStage(); LoadMyMoney(); if (IsInitial == 1) { InitialCreatePlayerList(); } else { Debug.Log("OK"); CreatePlayerList(); } // ターンプレイヤーの取得 turnPlayer = playerlist[TurnPlayerManagerScript.getTurnPlayerNum() - 1]; // 初期値はあと3歩に設定 Text atotext = atonannpo.GetComponent <Text>(); atotext.text = "あと3歩"; countMove = 0; countAttachMoney = 0; }
public void OnClickCenterButton() { if (1 <= countMove && countMove <= 3 && countAttachVirus == 0) // 一歩でも歩いていたら { Vector2Int turnPlayerPos; turnPlayerPos = playerPosTable[turnPlayer]; AttachVirus(turnPlayerPos, TurnPlayerManagerScript.getTurnPlayerNum()); countAttachVirus += 1; } }
// 自分のウイルスのタイルをロードする private void LoadMyVirus() { int i = 1; foreach (var pair in posVirusTable) { if (pair.Value == TurnPlayerManagerScript.getTurnPlayerNum()) { GameObject myVirus = new GameObject("myVirus_" + i); var sr = myVirus.AddComponent <SpriteRenderer>(); sr.sprite = virusSprite[TurnPlayerManagerScript.getTurnPlayerNum() - 1]; sr.sortingOrder = 3; myVirus.transform.position = GetDisplayPosition(pair.Key.x, pair.Key.y); i += 1; Debug.Log("aaa" + pair.Key.x); } } }
// 自分の財産のタイルをロードする private void LoadMyMoney() { int i = 1; foreach (var pair in posMoneyTable) { if (pair.Value == TurnPlayerManagerScript.getTurnPlayerNum()) { GameObject myMoney = new GameObject("myMoney_" + i); posMoneyObjectTable.Add(new Vector2Int(pair.Key.x, pair.Key.y), myMoney); var sr = myMoney.AddComponent <SpriteRenderer>(); sr.sprite = MoneySprite[TurnPlayerManagerScript.getTurnPlayerNum() - 1]; sr.sortingOrder = 3; myMoney.transform.position = GetDisplayPosition(pair.Key.x, pair.Key.y); i += 1; Debug.Log("aaa" + pair.Key.x); } } }
// Start is called before the first frame update void Start() { LoadTileData(); CreateStage(); LoadMyVirus(); if (IsInitial == 1) { InitialCreatePlayerList(); } else { Debug.Log("OK"); CreatePlayerList(); } // ターンプレイヤーの取得 turnPlayer = playerlist[TurnPlayerManagerScript.getTurnPlayerNum() - 1]; countMove = 0; countAttachVirus = 0; }
public void OnClickCenterButton() { if (1 <= countMove && countMove <= 3 && countAttachMoney == 0) // 一歩でも歩いていたら { Vector2Int turnPlayerPos; IsSuccessAction = 0; int IsPreAttached = 0; // すでに自分が置いた場所には置けないようにする foreach (var pair in posMoneyTable) { if (playerPosTable[turnPlayer] == pair.Key && pair.Value == TurnPlayerManagerScript.getTurnPlayerNum()) { IsPreAttached = 1; } } if (IsPreAttached == 0) { turnPlayerPos = playerPosTable[turnPlayer]; AttachMoney(turnPlayerPos, TurnPlayerManagerScript.getTurnPlayerNum()); countAttachMoney += 1; } } }