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

3 website hay để bắt đầu học lập trình C++

3 website hay để bắt đầu học lập trình C++

Khi mới bắt đầu học lập trình, việc lựa chọn một tài liệu hay một cuốn sách tốt để đọc là điều hết sức quan trọng. Có nhiều bạn tỏ ra khá thích những cuốn sách kiểu “mì ăn liền” như “Học C++ trong 21…

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

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

Video ngày hôm nay sẽ tiếp tục phần 2 của overload, có thắc mắc các bạn có thể để lại bình luận, mình sẽ giải đáp thắc mắc nếu biết, hehe.

Một số bài tập và hướng dẫn lập trình hệ thống Assembly (Phần 1)

Một số bài tập và hướng dẫn lập trình hệ thống Assembly (Phần 1)

Hôm nay mình xin chia sẻ với các bạn một vài bài tập lập trình hệ thống Assembly và code của nó. Chúc các bạn học tập tốt, nếu có thắc mắc các bạn có thể để lại bình luận để cùng mọi người trao…

Những website viết code trực tuyến cho dân lập trình

Những website viết code trực tuyến cho dân lập trình

Ngoài cách viết code bằng các phần mềm soạn thảo thông thường, bạn có thể sử dụng các công cụ trực tuyến. Lúc đó, bạn sẽ dễ dàng có thể chia sẻ code cho bạn bè mình thông qua các URL. Jsbin.com JS Bin là…

Bình luận ()