山をつぶして宇宙船が着陸できるようにするゲーム。
毎回位置情報やら山の高さやらを全部取ってるけど、最初にガバっと取得してループ内でチョコチョコ処理すればいいんじゃないかなと思ったり。
山の位置や高さがモリモリ動くわけじゃないし……。
とりあえず私はこんな感じ。
using System; using System.Linq; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; /** * Auto-generated code below aims at helping you parse * the standard input according to the problem statement. **/ class Player { static void Main(string[] args) { // game loop while (true) { string[] inputs = Console.ReadLine().Split(' '); int SX = int.Parse(inputs[0]); int SY = int.Parse(inputs[1]); string mode = "HOLD"; //船の状態(飛行モード) int MHst = 0; //一番高い山 int atkPoint = 0; //攻撃する山の番号 for (int i = 0; i < 8; i++) { int MH = int.Parse(Console.ReadLine()); // represents the height of one mountain, from 9 to 0. Mountain heights are provided from left to right. if(MH > MHst) { //一番高い山を比較して探す MHst = MH; //更新 atkPoint = i; //高い山が見つかったら攻撃地点に設定 } } if(SX == atkPoint) mode ="FIRE"; //船の位置と攻撃位置が合えば攻撃 // Write an action using Console.WriteLine() // To debug: Console.Error.WriteLine("Debug messages..."); Console.WriteLine(mode); // either: FIRE (ship is firing its phase cannons) or HOLD (ship is not firing). } } }
SYで船の高さ位置を取得してるけど、別につかわなくてもいけるよねぇ。
何か便利な使い道あるんだろうか。
- 作者: 藤田日出男
- 出版社/メーカー: 新潮社
- 発売日: 2005/09/21
- メディア: 単行本
- 購入: 2人 クリック: 7回
- この商品を含むブログ (4件) を見る