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 29: Import

[Java cơ bản] Bài 29: Import

Ngày hôm chúng ta bước vào bài 29, tìm hiểu từ khóa import trong Java. Hãy xem video và nếu có thắc mắc hãy để lại bình luận cho mình.

[Java cơ bản] Bài 7: Từ khóa trong Java

[Java cơ bản] Bài 7: Từ khóa trong Java

Từ khóa (key word) là các từ mà ta không thể dùng để đặt tên. Primitive data: char, byte, short, int, long, float, double, boolean. Modifier: Access modifier: public, protected, private. Non- Access modifier: final, stactic, abstract, transient, volatile. Other: for,while, do, if, else, void,…

Các ngôn ngữ lập trình được trả lương cao nhất hiện tại

Các ngôn ngữ lập trình được trả lương cao nhất hiện tại

Hiện nay, lập trình là một trong những nghề hot nhất và đồng thời mặt bằng lương của lập trình viên luôn ở top trên so với những nghề khác. Nhưng, mỗi ngôn ngữ khác nhau đều có những nhu cầu khác nhau và mức…

[Java cơ bản] Bài 27: Static

[Java cơ bản] Bài 27: Static

Giới thiệu từ khóa Static ở trong Java. Trong class của Java có hai thành phần là thuộc tính và phương thức. Thuộc tính và phương thức phụ thuộc vào đối tượng tạo ra.

Bình luận ()