All pastes #2051007 Raw Edit

Kris Thomsen

public text v1 · immutable
#2051007 ·published 2011-04-26 21:26 UTC
rendered paste body
public class MainClass : Object {
	public static void main(string[] args) {
		bool done = false;
		int tries = 10;
		int result = 3;
		
		string[,] board = create_board();
		
		show_board(board);
		
		do {
			string guess = make_guess();
			bool valid = validate_input(guess);
		
			if (valid == true) {
				string text = check_guess(guess, board);
				stdout.printf("%s\n", text);
				
				if (text == "You hit..!") {
					result--;
					if (result == 0) {
						stdout.printf("You won..!\n");
						break;
					}
				}
				
				tries--;
				done = count_tries(tries);				
			}
		} while (!done);
	}
	
	public static string[,] create_board() {
		string[,] game_board = new string[5, 5] { {"false", "false", "false", "false", "false"},
												{"false", "false", "false", "false", "false"},
												{"false", "true", "true", "true", "false"},
												{"false", "false", "false", "false", "false"},
												{"false", "false", "false", "false", "false"} };
											
		return game_board;
	}
	
	public static void edit_board(int x, int y, string[,] board) {
		board[x, y] = "false";
	}
	
	public static void show_board(string[,] board) {
		stdout.printf("  ");
		
		for (int num = 1; num <= 5; num++) {
			stdout.printf("%-6d", num);
		}
		
		stdout.printf("\n");
	
		for (int x = 0; x < board.length[0]; x++) {
			stdout.printf("%d ", x + 1);
			for (int y = 0; y < board.length[1]; y++) {
				stdout.printf("%-6s", board[x, y]);
			}
			stdout.printf("\n");
		}
	}
	
	public static string make_guess() {
		stdout.printf("Enter a coordinate: ");
		string guess = stdin.read_line();
		
		return guess;
	}
	
	public static bool validate_input(string guess) {
		bool valid = true;
		int x = guess.substring(0,1).to_int();
		int y = guess.substring(2,1).to_int();
		
		if (x < 1 || x > 5 || y < 1 || y > 5) {
			stdout.printf("Your coordinate have to be between 1,1 and 5,5...\n");
			valid = false;
		}
		
		return valid;
	}
	
	public static string check_guess(string guess, string[,] board) {
		int x = guess.substring(0,1).to_int() - 1;
		int y = guess.substring(2,1).to_int() - 1;
		string text = "";
		
		if (board[y, x] == "true") {
			text = "You hit..!";
			edit_board(y, x, board);
			show_board(board);
		}
		else {
			text = "You miss..!";
		}
		
		return text;
	}
	
	public static bool count_tries(int tries) {
		bool done = false;
		
		if (tries == 0) {
			stdout.printf("You have lost...\n");
			done = true;
		}
		else if (tries == 1) {
			stdout.printf("You have %d try left...\n", tries);
		}
		else {
			stdout.printf("You have %d tries left...\n", tries);
		}
		
		return done;
	}
}