Java - Viết chương trình chơi game đoán số.

Viết chương trình chơi game đoán số, mô tả game như sau:

  • Khởi tạo ban đầu người chơi có 5 điểm. Máy tự động Random ngẫu nhiên 1 số từ 1 -> 5 (số này sẽ không xuất ra, chỉ dùng để so sánh với số số mà người chơi đoán).
  • Người chơi đoán số, nếu đoán đúng thì + 1 điểm vào điểm khởi tạo, ngược lại -1 điểm (chú ý là có xuất thông báo khi người chơi đoán trúng hay đoán sai).
  • Khi người chơi không còn điểm nào thì thông báo "Game Over!", Nếu người chơi tích lũy được 10 điểm thì thông báo "Congratulations! You Win!". 

Bài giải

-------------------- ######## --------------------

Hướng dẫn: Để giải bài này, chúng ta sẽ sử dụng vòng lặp while với điều kiện lặp là true. Trong thân vòng lặp, chúng ta sẽ khởi tạo 1 đối tượng Random để sinh ra số cho người dùng đoán và chúng ta cũng sẽ dòng cấu trúc if... else để kiểm tra điều kiện dừng của vòng lặp: vòng lặp sẽ kết thúc nếu điểm của người chơi = 0 (thua) hoặc khi điểm = 10 (thắng).

Bài giải
public static void main(String[] args) {
	int score = 5;	// điểm khởi tạo = 5
	int soCuaMay, soNguoiChoiDoan;
	String ketQua = "";
	Scanner scanner = new Scanner(System.in);
	
	// Nếu bạn để điều kiện lặp là true 
	// thì vòng lặp while sẽ chạy đến khi 
	// biểu thức if có từ khóa break được thực thi
	while (true) {
		Random rd = new Random();
		// số máy ra được random từ 1 đến 5
		soCuaMay = 1 + rd.nextInt(5);

		System.out.print("Mời bạn đoán số: ");
		soNguoiChoiDoan = scanner.nextInt();
			
		if (soNguoiChoiDoan != soCuaMay) {
			ketQua = "==> Bạn đoán sai!";
			System.out.println(ketQua);
			score--;
		} else {
			ketQua = "==> Bạn đoán đúng!";
			System.out.println(ketQua);
			score++;
		}

		if (score == 0) {
			System.out.println("Game Over!");
			break;
		} 
			
		if (score == 10) {
			System.out.println("Congratulations! You Win!");
			break;
		}
	}
}

Kết quả sau khi biên dịch chương trình:

 

Nguồn: freetuts.net