Lập trình I LOVE YOU trên Graphics C/C++ - Lập trình tỏ tình Crush

Lập trình I LOVE YOU trên Graphics CC++  Lập trình tỏ tình Crush
DANH SÁCH BÀI VIẾT
Lập trình tỏ tình người yêu trên Graphics C/C++ – I LOVE YOU
Lập trình Demo Ai Là Triệu Phú trên Graphics C/C++
Lập Trình C/C++ Vẽ và Tô Màu Trái Tim bằng Thư Viện Graphics
Lập trình Đồng Hồ Thời Gian & Bấm Giờ Trên Graphics C/C++ 
Lập trình Game Flappy Bird Trên Graphics C/C++
Lập trình Demo ứng dụng Học lập trình trên Graphics C/C++
Lập trình I LOVE YOU trên Graphics C/C++ – Lập trình tỏ tình Crush
Bóng bay lên trời – Lập trình Happy Birthday  trên C/C++
Tỏ tình Crush bằng code C/C++ – I LOVE YOU ngôn ngữ C/C++
Cách tạo menu game trên thư viện Graphics C/C++
Lập trình game Cờ Caro trên C/C++ màn hình Console(Demo Game)
Lập trình ứng dụng giúp bé học toán trên C/C++ màn hình Console
Lập trình game Rắn săn mồi trên C/C++ màn hình Console(Demo Snake)
Xây dựng demo Code Vượt vật cản trên màn hình Console C/C++

Trong loạt bài chia sẻ các demo và Source code, hôm nay mình sẽ chia sẻ code Lập trình I LOVE YOU trên Graphics C/C++ – Lập trình tỏ tình Crush trên thư viện Graphics C/C++.

Bạn nào chưa có người yêu mà đang crush ai đó thì tải ngay code này về gửi tặng bạn ấy luôn nhé@@ Nếu có thành người yêu luôn nhớ quay lại đây cảm ơn mình một câu cũng như để mình chúc mừng lại bạn nhá..hahahah.

Lập trình I LOVE YOU trên Graphics C/C++

Video dưới đây là demo mà mình đã xây dựng và sẽ chia sẻ source code trong bài viết hôm nay, bạn xem qua nhé.

https://www.youtube.com/embed/KDWCopiBJB0

Chương trình được xây dựng cũng tương đối đơn giản, mình sẽ giải thích một số hàm như sau:

void Khoi_tao() - Hàm này có nhiệm vụ là khởi tạo ban đầu.

void Khoi_tao()
{
	initwindow(900,510);//Đặt màn hình có kích thước rộng 900px và cao 510px
	setcolor(15); setlinestyle(1,2,4); //Đặt màu sắc và kiểu nét vẽ
	line(0,430,900,430);//Vẽ đường thẳng dưới chân
	setfillstyle(1,7); bar(0,430,900,510); //Đặt kiểu tô màu và vẽ nền khu vực chứa "Code by tanchan679"
	setcolor(1); setbkcolor(7); settextstyle(3,0,5); //Đặt màu chữ, màu nền văn bản, kiểu chữ
	outtextxy(260,445,"Code by Tanchan679"); //Out đoạn văn bản ra màn hình có tọa độ (260,445)
}

void Boy_Di_chuyen(int &luu, int &x, int &y, int &c1, int &c2,int &c3,int &c4) - Hàm này có nhiệm vụ vẽ nhân vật chàng trai và tạo hiệu ứng di chuyển của chàng trai

void Boy_Di_chuyen(int &luu, int &x, int &y, int &c1, int &c2,int &c3,int &c4)
{

	//Xóa nhân vật -> Tạo hiệu ứng di chuyển bằng cách xóa đi hình ảnh nhân vật cũ, thay đổi tọa độ và vẽ nhân vật mới
	setlinestyle(1,2,2);setcolor(0); setfillstyle(1,0);
	pieslice(x+10,y-20,0,180,60);// Chiec o
	setlinestyle(1,2,2); line(x+10,y-20,x+10,y+60);  // tay cam chiec o
	setfillstyle(1,0); circle(x-30,y+30,20);  //Dau
	line(x-30,y+50,x-30,y+140);//Than
	line(x-30,y+70,x-10,y+100);line(x-10,y+100,x+10,y+60);//Tay 
	line(x-30,y+80,x-10,y+105);line(x-10,y+105,x+10,y+60);  //Tay
	line(c4,c2,c1,c2+50);//Chan trai
	line(c4,c2,c3,c2+50); //Chan Phai

	//Kiểm tra nếu nhân vật đã tới vị trí cô gái, thì cho nhân vật dừng lại và hiện thêm dòng chữ I LOVE YOUU trên màn hình
	if(c1<=670) {c1-=1;c3+=1;}
	else{
		int m = rand()%14+1;
		settextstyle(1,0,5);setcolor(m);setbkcolor(0);
		outtextxy(250,30,"I  LOVE  YOU");
	}

//Thay đổi tọa độ nhân vật(vị trí nhân vật)
	if(c1<=luu)
	{
		c1+=35; c3-=5;c4+=15;
		x=x+15;
		luu=c1-20;
	}

//Vẽ lại nhân vật
	setlinestyle(1,2,2);setcolor(15); setfillstyle(1,15);
	pieslice(x+10,y-20,0,180,60);// Chiec o
	setlinestyle(1,2,2); line(x+10,y-20,x+10,y+60);  // tay cam chiec o
	setfillstyle(1,0); circle(x-30,y+30,20);  //Dau
	line(x-30,y+50,x-30,y+140);//Than
	line(x-30,y+70,x-10,y+100);line(x-10,y+100,x+10,y+60);//Tay 
	line(x-30,y+80,x-10,y+105);line(x-10,y+105,x+10,y+60);  //Tay
	line(c4,c2,c1,c2+50);//Chan trai
	line(c4,c2,c3,c2+50); //Chan Phai
}

void girl() - Hàm này rất đơn giản là là vẽ hình cô gái đứng yên đó

void girl()
{
	int a[6]={700,380,780,380,740,340};//Tạo mảng tọa độ để vẽ cô gái
	setfillstyle(1,12); settextstyle(1,1,1); fillpoly(3,a);
	line(740,340,740,290); circle(740,275,18);
	line(740,380,720,420); 	line(740,380,760,420);
	line(740,315,720,325);
	line(740,310,710,300);line(710,300,725,265);
}

void Bau_troi(int a[], int b[], int c1) - Vẽ hiệu ứng bầu trời, sao lấp lánh

void Bau_troi(int a[], int b[], int c1)
{
//Vòng lặp để vẽ 100 ngôi sao khác nhau
	for(int i =0; i<100; i++)
	{
	  settextstyle(0,0,1); setbkcolor(0);//Đặt kiểu và màu nền văn bản
      outtextxy(a[i],b[i]," ");//Sử dụng ký tự dấu cách tượng trưng các ngôi sao
	}

//Random lại tọa độ(vị trí) của 100 ngôi sao
    for(int i =0;i<100;i++)
    {
    a[i]=rand()%900;
	b[i]=rand()%400;
	settextstyle(0,0,1); setbkcolor(0);
	if(c1<=670) setcolor(15);
	else setcolor(12);
	outtextxy(a[i],b[i],"*");
	}
}

int main() - Hàm chính

int main()
{
//Khởi tọa các giá trị cần thiết
	int a[100],b[100], dem=0;
    int luu=100, x=150, y=230,c1=120,c2=370,c3=120,c4=120;
   Khoi_tao();

   while(1)//Vòng lặp vô hạn
   {
//Mỗi 10 lần lặp thì hiệu ứng bầu trời thay đổi
   	 if(dem==10){ Bau_troi(a,b,c1); dem=0;}
	 dem++;

//Mỗi lần lặp nhân vật con trai sẽ di chuyển
     Boy_Di_chuyen(luu, x,y,c1,c2,c3,c4);
     girl();
     delay(50);//Tạm dừng 50ms sau mỗi lần lặp
   }
 return 0;	
}

Chương trình

Nếu như bạn đang vẫn chưa cài đặt thư viện Graphics hoặc chưa biết cách chạy chương trình trên màn hình Grpahics C/C++ thì hãy xem thêm bài viết này: Cài đặt thư viện Graphics trên IDE Dev C++.

Bạn không hiểu được ý nghĩa, cách dùng và tác dụng của các hàm đồ họa sử dụng trong chương trình dưới thì đọc tiếp bài viết này: Một số hàm đồ họa trong thư viện Graphics C/C++.

MÃ NGUỒN CHƯƠNG TRÌNH

#include <graphics.h>
#include <conio.h>
#include <stdlib.h>

void Khoi_tao();
void girl();
void Boy_Di_chuyen(int &luu, int &x, int &y, int &c1, int &c2,int &c3,int &c4);
void Bau_troi(int a[], int b[],int c1);

int main()
{
	int a[100],b[100], dem=0;
    int luu=100, x=150, y=230,c1=120,c2=370,c3=120,c4=120;
   Khoi_tao();
   while(1)
   {
   	 if(dem==10){ Bau_troi(a,b,c1); dem=0;	}
	 dem++;
     Boy_Di_chuyen(luu, x,y,c1,c2,c3,c4);
     girl();
     delay(50);
   }
 return 0;	
}

void Khoi_tao()
{
	initwindow(900,510);
	setcolor(15); setlinestyle(1,2,4);
	line(0,430,900,430);
	setfillstyle(1,7); bar(0,430,900,510);
	setcolor(1); setbkcolor(7); settextstyle(3,0,5);
	outtextxy(260,445,"Code by Tanchan679");
}
void Boy_Di_chuyen(int &luu, int &x, int &y, int &c1, int &c2,int &c3,int &c4)
{

	//remove boy
	setlinestyle(1,2,2);setcolor(0); setfillstyle(1,0);
	pieslice(x+10,y-20,0,180,60);// Chiec o
	setlinestyle(1,2,2); line(x+10,y-20,x+10,y+60);  // tay cam chiec o
	setfillstyle(1,0); circle(x-30,y+30,20);  //Dau
	line(x-30,y+50,x-30,y+140);//Than
	line(x-30,y+70,x-10,y+100);line(x-10,y+100,x+10,y+60);//Tay 
	line(x-30,y+80,x-10,y+105);line(x-10,y+105,x+10,y+60);  //Tay
	line(c4,c2,c1,c2+50);//Chan trai
	line(c4,c2,c3,c2+50); //Chan Phai
	//color boy
	if(c1<=670) {c1-=1;c3+=1;}
	else{
		int m = rand()%14+1;
		settextstyle(1,0,5);setcolor(m);setbkcolor(0);
		outtextxy(250,30,"I  LOVE  YOU");
	}
	if(c1<=luu)
	{
		c1+=35; c3-=5;c4+=15;
		x=x+15;
		luu=c1-20;
	}
	setlinestyle(1,2,2);setcolor(15); setfillstyle(1,15);
	pieslice(x+10,y-20,0,180,60);// Chiec o
	setlinestyle(1,2,2); line(x+10,y-20,x+10,y+60);  // tay cam chiec o
	setfillstyle(1,0); circle(x-30,y+30,20);  //Dau
	line(x-30,y+50,x-30,y+140);//Than
	line(x-30,y+70,x-10,y+100);line(x-10,y+100,x+10,y+60);//Tay 
	line(x-30,y+80,x-10,y+105);line(x-10,y+105,x+10,y+60);  //Tay
	line(c4,c2,c1,c2+50);//Chan trai
	line(c4,c2,c3,c2+50); //Chan Phai
}
void girl()
{
	int a[6]={700,380,780,380,740,340};
	setfillstyle(1,12); settextstyle(1,1,1); fillpoly(3,a);
	line(740,340,740,290); circle(740,275,18);
	line(740,380,720,420); 	line(740,380,760,420);
	line(740,315,720,325);
	line(740,310,710,300);line(710,300,725,265);
}
void Bau_troi(int a[], int b[], int c1)
{
	for(int i =0; i<100; i++)
	{
	  settextstyle(0,0,1); setbkcolor(0); outtextxy(a[i],b[i]," ");
	}
    for(int i =0;i<100;i++)
    {
    a[i]=rand()%900;
	b[i]=rand()%400;
	settextstyle(0,0,1); setbkcolor(0);
	if(c1<=670) setcolor(15);
	else setcolor(12);
	outtextxy(a[i],b[i],"*");
	}
}

Cảm ơn bạn đã đọc bài viết!! CHÚC BẠN CÓ NGƯỜI YÊU! Đừng loser như mình!

XÊM THÊM
Tỏ tình Crush bằng code C/C++ – I LOVE YOU ngôn ngữ C/C++
Lập trình game Cờ Caro trên C/C++ màn hình Console(Demo Game)
Lập trình game Rắn săn mồi trên C/C++ màn hình Console(Demo Snake)
Xây dựng demo Code Vượt vật cản trên màn hình Console C/C++