![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Lập trình trò chơi Caro bằng ngôn ngữ C++
Số trang: 6
Loại file: doc
Dung lượng: 4.00 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Loạt bài viết này sẽ hướng dẫn bạn phân tích, thiết kế, và viết chương trình chơi trò chơi Caro bằng ngôn ngữ C++
Nội dung trích xuất từ tài liệu:
Lập trình trò chơi Caro bằng ngôn ngữ C++Loạt bài viết này sẽ hướng dẫn bạn phân tích, thiết kế, và viết chươngtrình chơi trò chơi Caro bằng ngôn ngữ C++- Trò chơi đối kháng (two-agent,conflicting game (?)) : Gồm 2 người chơi, đối thủ nàysẽ tìm cách dành chiến thắng trước đối thủ kia trong một số hữu hạn nước đi, mỗinước đi đuợc tạo ra dựa từ 1 trạng thái bất kỳ của trận đấu. Nếu sau 1 số giới hạnnước đi, nếu chưa ai dành chiến thắng thì xem như hoà. Ngoài ra, thông tin về trậnđấu là hoàn toàn biết đuợc (perfect information) đối với cả 2 đối thủ.- Cờ Carô (hay còn gọi là Gomoku ) cũng là 1 loại trò chơi đối kháng, trong đó mỗi đốithủ trong mỗi lượt đi của mình sẽ chọn 1 ô trống còn lại trên bàn cờ (kẻ sẵn các ôlưới ) sao cho tạo thành n con liên tiếp để chiến thắng ... Nếu n = 3 thì nó có 1 tên kháclà Tic Tac Toe , nếu bổ sung thêm luật cho nó thì có thể đổi tên là Penta,Pentix (có ănquân) ... Ngoài ra, có luật thi đấu mà người ta đã chứng minh đuợc người đi truớc baogiờ cung có thuật toán để thắng, do đó để hạn chế thuận lợi của người đi trước,người ta đã đặt ra luật rừng sau1. Giới thiệuPhát triển chương trình ) :+ Bàn cờ có kích thước tuỳ ý NxN, chọn n = 16;+ Quân cờ đầu tiên phải đánh chính giữa lưới bàn cờ.+ Nếu tồn tại đúng 5 con liên tiếp trên 1 hàng là thắng (chéo,ngang,dọc). [*]+ Nếu hết chỗ đi thì 2 bên hoà.+ Và 1 số luật khác, nhưng để đon giản, em không đề cập ... (%c,c1);#include #include #include const dong=25,cot=50,x=cot/2,y=dong/2;/* Thu tuc ve 1 dong */void Ve_1d(int x2,char c1++)c{printf(%c%c,c2,c3);cprintf(%c%c,c2,c4);,char c2,char c3,char c4)cprintf for (int i=1;i//============================================/* Thu tuc nhap ho ten nguoi choi */void Nhap_HoTen(char *Ten[]){for (int k=0;kD,int >C){int i,j,m;for (i=k-1,j=l-1,m=1;i>=k-5;i--,j--)if (A[y+k][x+l]==A[y+i][x+j])m++;else{GTD=A[y+i][x+j];break;}for (i=k+1,j=l+1;iD,int >C){int i,m;for (i=k-1,m=1;i>=k-5;i--)if (A[y+k][x+l]==A[y+i][x+l])m++;else{GTD=A[y+i][x+l];break;}for (i=k+1;iD,int >C){int i,j,m;for (i=k-1,j=l+1,m=1;i>=k-5;i--,j++)if (A[y+k][x+l]==A[y+i][x+j])m++;else{GTD=A[y+i][x+j];break;}for (i=k+1,j=l-1;i}//============================================/* Ham kiem tra duong ngang */int Ktra_DuongNgang(int A[dong][cot],int k,int l,int >D,int >C){int j,m;for (j=l-1,m=1;j>=l-5;j--)if (A[y+k][x+l]==A[y+k][x+j])m++;else{GTD=A[y+k][x+j];break;}for (j=l+1;jint So,mau;So=(Co==X ) ? 1:2;mau=(Co==X ) ? 12:14;if (A[y+k][x+l]==0){A[y+k][x+l]=So;textcolor(mau);putch(Co);if (Ktra_Thang(A,k,l)!=1)switch (Co){case X:Co=O;break;case O:Co=X;break;}}return Co;}void main(){int A[dong][cot],k,l,K_Tra,flag;const dx=2,dy=1;char *Ten[2];char ch,Co;start:textattr(0x07);clrscr();Nhap_HoTen(Ten);printf(Ban %s chon quan co di truoc (X/O)=,Ten[0]);Co=toupper(getch());flag=(Co==X ) ? 0:1;/* Tao gia tri 0 cho mang A[][] */for (k=0;kif (ch==27) goto thoat;if (ch== ){ch=getch();switch (ch){case K:Qua_Trai(l,dx);break; // Traicase M:Qua_Phai(l,dx);break; // Phaicase H:Di_Len(k,dy);break; // Lencase P:Di_Xuong(k,dy);break; // Xuong}} // if (ch== )elseif (ch==13)switch (Co){case X:Co=LuuXuat_QuanCo(A,k,l,Co);case O:Co=LuuXuat_QuanCo(A,k,l,Co);} // switch (Co)K_Tra=Ktra_Thang(A,k,l);}while ((ch!=27) && (K_Tra!=1));gotoxy(50,23);textcolor(13);if ((K_Tra==1) && (flag==0))cprintf(Ban %s da thang !,Ten[A[y+k][x+l]-1]);if ((K_Tra==1) && (flag==1))cprintf(Ban %s da thang !,Ten[2-A[y+k][x+l]]);thoat:gotoxy(50,25);textcolor(11);cprintf(Ban co tiep tuc khong ? ) ;textcolor(7);ch=getch();if (toupper(ch)==Y )goto start;}
Nội dung trích xuất từ tài liệu:
Lập trình trò chơi Caro bằng ngôn ngữ C++Loạt bài viết này sẽ hướng dẫn bạn phân tích, thiết kế, và viết chươngtrình chơi trò chơi Caro bằng ngôn ngữ C++- Trò chơi đối kháng (two-agent,conflicting game (?)) : Gồm 2 người chơi, đối thủ nàysẽ tìm cách dành chiến thắng trước đối thủ kia trong một số hữu hạn nước đi, mỗinước đi đuợc tạo ra dựa từ 1 trạng thái bất kỳ của trận đấu. Nếu sau 1 số giới hạnnước đi, nếu chưa ai dành chiến thắng thì xem như hoà. Ngoài ra, thông tin về trậnđấu là hoàn toàn biết đuợc (perfect information) đối với cả 2 đối thủ.- Cờ Carô (hay còn gọi là Gomoku ) cũng là 1 loại trò chơi đối kháng, trong đó mỗi đốithủ trong mỗi lượt đi của mình sẽ chọn 1 ô trống còn lại trên bàn cờ (kẻ sẵn các ôlưới ) sao cho tạo thành n con liên tiếp để chiến thắng ... Nếu n = 3 thì nó có 1 tên kháclà Tic Tac Toe , nếu bổ sung thêm luật cho nó thì có thể đổi tên là Penta,Pentix (có ănquân) ... Ngoài ra, có luật thi đấu mà người ta đã chứng minh đuợc người đi truớc baogiờ cung có thuật toán để thắng, do đó để hạn chế thuận lợi của người đi trước,người ta đã đặt ra luật rừng sau1. Giới thiệuPhát triển chương trình ) :+ Bàn cờ có kích thước tuỳ ý NxN, chọn n = 16;+ Quân cờ đầu tiên phải đánh chính giữa lưới bàn cờ.+ Nếu tồn tại đúng 5 con liên tiếp trên 1 hàng là thắng (chéo,ngang,dọc). [*]+ Nếu hết chỗ đi thì 2 bên hoà.+ Và 1 số luật khác, nhưng để đon giản, em không đề cập ... (%c,c1);#include #include #include const dong=25,cot=50,x=cot/2,y=dong/2;/* Thu tuc ve 1 dong */void Ve_1d(int x2,char c1++)c{printf(%c%c,c2,c3);cprintf(%c%c,c2,c4);,char c2,char c3,char c4)cprintf for (int i=1;i//============================================/* Thu tuc nhap ho ten nguoi choi */void Nhap_HoTen(char *Ten[]){for (int k=0;kD,int >C){int i,j,m;for (i=k-1,j=l-1,m=1;i>=k-5;i--,j--)if (A[y+k][x+l]==A[y+i][x+j])m++;else{GTD=A[y+i][x+j];break;}for (i=k+1,j=l+1;iD,int >C){int i,m;for (i=k-1,m=1;i>=k-5;i--)if (A[y+k][x+l]==A[y+i][x+l])m++;else{GTD=A[y+i][x+l];break;}for (i=k+1;iD,int >C){int i,j,m;for (i=k-1,j=l+1,m=1;i>=k-5;i--,j++)if (A[y+k][x+l]==A[y+i][x+j])m++;else{GTD=A[y+i][x+j];break;}for (i=k+1,j=l-1;i}//============================================/* Ham kiem tra duong ngang */int Ktra_DuongNgang(int A[dong][cot],int k,int l,int >D,int >C){int j,m;for (j=l-1,m=1;j>=l-5;j--)if (A[y+k][x+l]==A[y+k][x+j])m++;else{GTD=A[y+k][x+j];break;}for (j=l+1;jint So,mau;So=(Co==X ) ? 1:2;mau=(Co==X ) ? 12:14;if (A[y+k][x+l]==0){A[y+k][x+l]=So;textcolor(mau);putch(Co);if (Ktra_Thang(A,k,l)!=1)switch (Co){case X:Co=O;break;case O:Co=X;break;}}return Co;}void main(){int A[dong][cot],k,l,K_Tra,flag;const dx=2,dy=1;char *Ten[2];char ch,Co;start:textattr(0x07);clrscr();Nhap_HoTen(Ten);printf(Ban %s chon quan co di truoc (X/O)=,Ten[0]);Co=toupper(getch());flag=(Co==X ) ? 0:1;/* Tao gia tri 0 cho mang A[][] */for (k=0;kif (ch==27) goto thoat;if (ch== ){ch=getch();switch (ch){case K:Qua_Trai(l,dx);break; // Traicase M:Qua_Phai(l,dx);break; // Phaicase H:Di_Len(k,dy);break; // Lencase P:Di_Xuong(k,dy);break; // Xuong}} // if (ch== )elseif (ch==13)switch (Co){case X:Co=LuuXuat_QuanCo(A,k,l,Co);case O:Co=LuuXuat_QuanCo(A,k,l,Co);} // switch (Co)K_Tra=Ktra_Thang(A,k,l);}while ((ch!=27) && (K_Tra!=1));gotoxy(50,23);textcolor(13);if ((K_Tra==1) && (flag==0))cprintf(Ban %s da thang !,Ten[A[y+k][x+l]-1]);if ((K_Tra==1) && (flag==1))cprintf(Ban %s da thang !,Ten[2-A[y+k][x+l]]);thoat:gotoxy(50,25);textcolor(11);cprintf(Ban co tiep tuc khong ? ) ;textcolor(7);ch=getch();if (toupper(ch)==Y )goto start;}
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kỹ thuật lập trình thủ thuật máy tính Lập trình trò chơi Caro ngôn ngữ C++Tài liệu liên quan:
-
52 trang 444 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 334 0 0 -
74 trang 312 0 0
-
96 trang 310 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 300 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 296 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 295 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 283 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 282 0 0 -
Tài liệu hướng dẫn sử dụng thư điện tử tài nguyên và môi trường
72 trang 277 0 0