thiet ke website

[Lập trình C++] Bài toán rơi chữ và bắt chữ!

Đây là một bài toán dạng game đơn giản, từng chữ cái 1 rơi xuống, và công việc của chúng ta là nhập vào chữ cái đang rơi trước khi nó chạm vào vạch… và tất nhiên là phải nhập đúng rồi, các bạn có thể tham khảo đoạn code dưới đây của mình… Nếu có thắc mắc gì có thể để lại bình luận bên dưới và mình sẽ giải đáp 🙂

rơi chữ c++

c++ bài toán rơi chữ

Sau đây là source code của em nó

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <ctime>

using namespace std;

void gotoxy(short x,short y)
{
	HANDLE hConsoleOutput;
	COORD Cursor_an_Pos = {x,y};
	hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hConsoleOutput,Cursor_an_Pos);
}

void layout(){
	gotoxy(0,0);
	for(int i=0;i<=5;i++) cout << "              \n";
	gotoxy(0,0);
	cout << " ";
	for(char i='A';i<='Z';i++)
		cout << " " << i;
	gotoxy(0,20); cout << "_______________________________________________________";
}

int chardown(int s){
	srand(time(NULL));
	int col=rand()%26+1;
	int i=0;
	while(i<20&&!kbhit()){
		gotoxy(col*2,i);
		cout << " ";
		gotoxy(col*2,i+1);
		cout << char(64+col);
		Sleep(s);
		i++;
	}
	gotoxy(col*2,i); cout << " ";
	gotoxy(col*2,0); cout << char(64+col);
	if(i<20){
		char check=getch();
		if(check==char(96+col)||check==char(64+col))
		return 1;
		else return 0;
	} else {
		gotoxy(col*2,20);
		cout << "_";
		return 0;
	}
}

int main(){
	int lv;
	cout << "1: Level 1\n2: Level 2\n3: Level 3\n4: Level 4\n5: Level 5\n";
	cout << "Nhap level: "; cin >> lv;
	layout();
	int d1=0,d2=0,speed=500/lv;
	while(d1<20&&d2<20&&speed>0){
		if(chardown(speed)==1){
			d1++;
			gotoxy(0,22);
			cout << "Ban duoc " << d1 << " diem!\n";
		}else{
			d2++;
			gotoxy(0,23);
			cout << "May duoc " << d2 << " diem!\n";
		}
		speed-=3;
	}
	gotoxy(0,24);
	system("pause");
	return 0;
}

Đây chỉ là thuật toán cơ bản, chưa hoàn thành tối ưu nên có góp ý hoặc thắc mắc gì các bạn bình luận bên dưới giúp mình nhé! cảm ơn ^^! Chúc các bạn học tập vui vẻ!

Thiet ke logo

Bài viết liên quan

[Java cơ bản] Bài 20: Hướng đối tượng OOP

[Java cơ bản] Bài 20: Hướng đối tượng OOP

Tóm tắt nội dung: Giới thiệu hướng đối tượng trong Java Nội dung: Trong lập trình hướng đối tượng thì có 3 đặc điểm cơ bản chính sau: – Thừa kế (Inheritance). – Đa hình (Polymorphism). – Đóng gói (Encapsulation). Thừa kế: Cho phép các…

[Java cơ bản] Bài 25: Access modifiers

[Java cơ bản] Bài 25: Access modifiers

Video clip này sẽ giới thiệu tới các bạn về Access modifiers trong lập trình Java, các bạn hãy coi video, nếu có thắc mắc gì có thể để lại comment, chúc các bạn vui vẻ!

[Java cơ bản] Bài 36: Override (Phần 2)

[Java cơ bản] Bài 36: Override (Phần 2)

Bữa nay các bạn sẽ được giới thiệu tiếp tục về Override, chúc các bạn học Java tốt.

[Java cơ bản] Bài 24: Interface

[Java cơ bản] Bài 24: Interface

Video clip này sẽ giới thiệu tới các bạn về Interface trong lập trình Java. Chúc các bạn học tốt.

Bình luận ()