PDA

View Full Version : Caro hai người chơi?



nguyen bao dang
23-08-2002, 22:03
Một số người cho rằng có thể viết chương trình Caro hai người chơi bằng C,nhưng cũng có một số người cho rằng C không đủ điều kiện để viết,phải cần đến một số chức năng của C++.Như vây có đúng không?Để viết chương trình này có cần đến đồ hoạ không?

CMT
26-08-2002, 09:00
C hoàn toàn có đủ khả năng và đủ mạnh để thực hiện chương trình này. Thực ra, nếu bạn có đầy đủ kỹ năng và kiến thức về lập trình về C thì hầu như mọi vấn đề đều có thể giải quyết bằng C.

Còn chương trình carô có cần đồ họa hay không thì đó phụ thuộc vào ý thích chủ quan của bạn, bạn có thể dùng giao diện text cũng có thể đáp ứng với chương trình này hoặc dùng đồ họa để có một giao diện đẹp.

Chúc bạn thành công.

MatKieng
08-09-2002, 11:24
De viet Caro cho 2 nguoi choi thi de hon la viet caro cho mot nguoi choi voi may (khoi can cac thuat toan Tri tue nhan tao) Ban chi can tao ra mot giao dien de cho 2 nguoi choi va them ham de kiem tra xem mot nuoc di nao do co la co hop le hay khong va them ham de kiem tra xem nuoc di nao do co dan den thang hay thua khong.
Theo minh, de viet chuong trinh nay, ban khong can dung den do hoa dau, chi can giao dien text la duoc roi. Con neu ban muon viet chuong trinh cho dep thi nen lap trinh trong Windows bang Visual Basic hay Delphi cho de.
Chao ban!

vietnamman
10-09-2002, 13:23
Các bác có tin là từ hồi năm thứ 2 em chưa biết gì về tri tuệ nhân tạo nhưng vẫn cho ra lò 1 thằng cờ caro (1 hay 2 người chơi đều được) bằng delphi không ? em làm trong 1 tháng .. bác nào cần check thì em đưa lên .. thuật toán em làm buồn cười lắm á

MatKieng
10-09-2002, 15:54
Vậy à! Bạn đưa lên đây xem thế nào nha. Tại vì theo mình nghĩ thì caro một người chơi hơi bị khó viết đấy.

quangvu
11-09-2002, 11:46
Nếu là Java thì tôi có sẳng Code

eyesoflife
14-09-2002, 16:14
Nay! moi nguoi a!
neu ai co code ve loai nay thi hay post len cho moi nguoi xem voi! de tui con co co hoi tim hieu them ty chut nha! minh con kem ve may cai khoan nay lam ! giup minh va moi nguoi nghe!

danceswithwolves
15-09-2002, 18:58
Bài viết được gửi bởi vietnamman
Các bác có tin là từ hồi năm thứ 2 em chưa biết gì về tri tuệ nhân tạo nhưng vẫn cho ra lò 1 thằng cờ caro (1 hay 2 người chơi đều được) bằng delphi không ? em làm trong 1 tháng .. bác nào cần check thì em đưa lên .. thuật toán em làm buồn cười lắm á

thuật toán buồn cười ? tớ tưởng nếu không dùng AI thì cậu sẽ dùng vét cạn chứ... cậu post lên "ý tưởng" được không ?

vo_danh_khach
21-09-2002, 19:04
tôi cũng quan tâm đến vấn đề này.
vietnamman pót bài lên đi chứ.
Thuật toán lạ là như thế nao?? đưa len cho anh em xe đi.
Viết cho 1 người chơi khó hơn hai người chơi nhiều

Duong Ba Nhan
23-09-2002, 15:16
Cung kha day nhi

MatKieng
23-09-2002, 16:45
Bây giờ mình đề nghị mỗi người tự viết một chương trình Caro một người chơi đơn giản (không được down từ mạng về nhé!), rồi sau đó sẽ trao đổi với nhau, các bạn đồng ý không?

danceswithwolves
23-09-2002, 16:59
đồng ý đi anh em... trừ tớ ra nhé, bận quá mà :)...

MatKieng
23-09-2002, 17:04
Tham gia luôn đi, chỉ cần "chơi" được thôi, không cần chơi hay đâu!

vo_danh_khach
26-09-2002, 20:13
vậy ai đó đưa lên trươc đi

MatKieng
27-09-2002, 08:02
Bây giờ mình đang bận, hẹn các bạn cuối tháng 10 nhé! Trong khi chờ đợi, có bạn nào đó gửi bài của chính các bạn đi, tụi mình chủ yếu là học hỏi, đâu có gì mà phải dấu! vietnamman gửi thuật toán của bạn lên đây đi!

gieniskhan
28-09-2002, 11:14
các bac cho em tham gia đề tài với nghen.
Gởi code cho em với : gieniskhan@yahoo.com

nhatsi
30-09-2002, 11:44
quangvu ơi
cho xem code di java cũng được

madcat
01-10-2002, 15:47
viet caro 2 nguoi choi qua easy , chuong trinh nay tui viet co 30 phut la xong , ma nguon C , giao dien text , duong nhien la co kiem tra thang - thua va xet luot di , tui dang tinh cai tien chuong trinh nay viet dau qua mang - dung VC ++ ( su dung CSocket ) , neu can tui post lien bai nay .... Ai co code viet dau voi may dau ??? post len cho moi nguoi tham khao coi ??? rieng cai vu caro dau voi may tui dang nghien cuu

phoenix
13-11-2002, 22:35
nói tới nói lui chẳng có ai post lên hết, làm tui chờ dài cổ :(

legolas
05-04-2003, 18:47
xin cho biết email của diễn đàn tin học

legolas
05-04-2003, 18:49
minh moi to te buoc vao hoc lap trinh , minh muon viet chuong trinh caro hai nguoi choi , xin cho biet giai thuat

th00
05-04-2003, 20:49
Trời, mấy bạn muốn lấy source bài caro hả? Dễ lắm, vào www.th00.net/forum , mục download source code có source bài caro đó (2,3 bài gì lận)

secoi
19-04-2003, 17:38
Mình mới học lập trình C++ nên cần thuật toán chơi cở caro giữa 2 người , bác nào có thể gửi cho mình qua email ngthanhquynh@fptnet.com.vn được không? xin đa tạ hi` hi`càng nhanh càng tốt

khanh_phunhuan
19-04-2003, 17:38
Chương trình caro 2 người chơi quá dễ viết . Vì vậy tôi không viết . Hiện tôi chỉ có chương trình caro người đấu với máy . Chương trình này viết bằng C++ theo nguyên lý Min-max . Xin post lên đây để các bạn thưởng lãm .

Chương trình được tôi viết trong vòng 20 tiếng đồng hồ . Mức độ thông minh của chương trình sẽ tuỳ thuộc vào nghệ thuật lượng giá của các bạn . Các bạn có thể sử dụng bảng lượng giá hiện có của tôi hay sửa nó để chương trình chạy hoàn hảo hơn . Tốt nhất các bạn nên xây dựng nhiều bảng lượng giá cho nhiều tình thế của bàn cờ . Với mỗi tình thế tấn công hay phòng thủ bạn hãy sử dụng một bảng lượng giá thích hợp .Bảng lượng giá được xây dựng bằng phương thức void CARO::creat_price(int a) .

Hình như Phoenix cũng quan tâm đến trò chơi này thì phải . Trên diễn đàn này có quá nhiều anh chàng hâm mộ bạn . Chắc bạn phải xinh đẹp và đáng yêu lắm . Tôi cũng xin được làm quen với bạn .

THIENAN
25-04-2003, 17:04
sao mình thấy các bạn chỉ nói mà không ai chịu post bài lên vậy, các bạn giấu nghề sao, chúng ta cần học hỏi là chính mà. thật sự tớ không nghĩ tới chuyện viết chuơng trình này,nên có lẽ không thể viết dược nên rất mong nhận dược bài của các bạn post lên dể cùng học hỏi. tớ cũng sẽ về suy nghĩ thử,khi nào xong sẽ post lên cho các bạn co ý kiến

TDCT
05-05-2003, 00:12
khanh_phunhuan đã post lên rồi đấy, theo tui thì C đã đủ để viếtm nhưng viết C++ có thể dùng hướng đối tượng, viết sướng hơn... :-)

minh thanh
05-05-2003, 10:20
hi!mình có chương trình caro 2 người chơi không dùng đồ họa bạn có cần không

Boy4is
12-06-2003, 15:08
Hèm ... Em mới tham gia cái diễn đàn này thui ... còn phải học hỏi nhiều ... nhưng riêng về cái lĩnh vực viết chương trình Game AI thì em cũng biết chút đỉnh ... Nếu bác nào muốn tự viết 1 chương trình Caro (Gomoku) mà chưa biết bắt đầu từ đâu thì có thể vào trang này Diễn đàn Tre Xanh-Box Tutorial (http://www.vninformatics.com/forum/?action=msg&msg=1023427661#1023427661) ... Đã có source code và yêu cầu để đọc hiểu là chỉ cần biết 1 chút về OOP with C++ ... Mời các bác xem qua. Do hiện nay em còn bận thi học kỳ nên chưa post tiếp được do đó bài này chưa hoàn chỉnh, mới có ít phần thui ... sẽ tiếp tục sau :rolleyes:

winternight
14-06-2003, 02:51
Caro người chơi với máy tui cũng đang tìm hiểu đây có ai biết thi post lên cho anh em coi với .Trong thời gian chờ đợi tui post bài hai người chơi lên trước nha. Cái này viết bằng C dể hiểu lắm nếu cao thủ nào coi thì đừng cười.
/* Chuc nang : tro choi caro */
#include <conio.h>
#include <stdio.h>
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define ENTER 13
#define ESC 27
#define DONG 20
#define COT 25
void ve_Oluoi(int x,int y,int dx,int dy,int nx,int ny,unsigned char *bokytu="ÉÍÑ»ÇÄŶÈÍϼº³º");
/*-------------------------------------------------------------------*/
void ve_ngang(int x,int y,int dx,int nx,unsigned char kytu[])
{
int i,j;
gotoxy(x,y);putch(kytu[0]);
for( i=1; i<nx; i++)
{
for(j=1; j<dx; j++)
putch(kytu[1]);
putch(i<nx-1?kytu[2]:kytu[3]);
}
}
/*-------------------------------------------------------------------*/
void ve_doc(int x,int y,int dy,int ny,unsigned char kytu)
{
for(int i=0; i<ny; i++)
for(int j=1;j<dy;j++)
{
gotoxy(x,y+dy*i+j);
putch(kytu);
}
}
/*-------------------------------------------------------------------*/
void ve_Oluoi(int x,int y,int dx,int dy,int nx,int ny,unsigned char *bokytu)
{
int i,j;
ve_ngang(x,y,dx,nx,bokytu);
for( i=1;i<ny;i++)
ve_ngang(x,y+dy*i,dx,nx,bokytu+4);
ve_ngang(x,y+dy*ny,dx,nx,bokytu+8);
ve_doc(x,y,dy,ny,bokytu[12]);
for( j=1;j<nx-1;j++)
ve_doc(x+dx*j,y,dy,ny,bokytu[13]);
ve_doc(x+dx*j,y,dy,ny,bokytu[14]);
}
/*------------------------------------------------------------*/
void khoi_tao(int A[][COT])
{
for(int i=0; i<DONG; i++)
for(int j=0; j<COT; j++)
A[i][j]=0;
}
/*--------------- XU LY NUOC CO ---------------------------------*/
int Di1Nuoc(int x,int y,int dx,int dy,int nx,int ny,int A[][COT],int q_co,int &i,int &j)
{
char s;
int key,tam;
do{
gotoxy(x+j*dx,y+i*dy); // Anh xa ra man hinh
key=getch();
if(key==0)
switch(getch())
{
case LEFT : if(j>1) j--; tam =0;
break;
case RIGHT : if(j<nx-2) j++; tam=0;
break;
case UP : if(i>1) i--; tam=0;
break;
case DOWN : if(i<ny-1) i++; tam=0;
break;
}
else switch(key)
{ case ENTER : if(A[i][j]==0)
{
tam=1; //ghi nhan xong 1 nuoc
A[i][j]=q_co; //--- ---- tren DL quan di
gotoxy(x+j*dx,y+i*dy);
if(q_co==1) { textcolor(2); cprintf("X"); }//--- ---- ghi nhan tren man hinh
else { textcolor(5); cprintf("O"); }
}
else tam=0; //ghi nhan chua xong 1 nuoc di
break;
case ESC :
return 3;
}
}while(!tam); //chua xong 1 nuoc di)
return tam; //xong/chua xong ban co
}
/*-----------------------------------------------------*/
int doc(int i,int j,int A[][COT],int qco)
{
int count=0,cot=i,dong=j;
do{
count++; dong++;
}while(A[cot][dong]==qco);
dong=j;
do{
count++; dong--;
}while(A[cot][dong]==qco);
count--;
return count;
}
/*-----------------------------------------------------*/
int ngang(int i,int j,int A[][COT],int qco)
{
int count=0,cot=i,dong=j;
do{
count++; cot++; dong++;
} while(A[cot][dong]==qco);
cot=i; //dong=j;
do{
count++; cot--;// dong--;
}while(A[cot][dong]==qco);
count--;
return count;
}
/*-----------------------------------------------------*/
int chinh(int i,int j,int A[][COT],int qco)
{
int count=0, cot=i, dong=j;
do{
count++; cot++; dong++;
}while(A[cot][dong]==qco);
cot=i; dong=j;
do{
count++; cot--; dong--;
}while(A[cot][dong]==qco);
count--;
return count;
}
/*-----------------------------------------------------*/
int phu(int i,int j,int A[][COT],int qco)
{
int count=0,cot=i,dong=j;
do{
count++; cot++; dong--;
}while(A[cot][dong]==qco);
cot=i; dong=j;
do{
count++; cot--; dong++;
}while(A[cot][dong]==qco);
count--;
return count;
}
/*-------------------------------------------*/
int ktra(int dong,int cot,int A[][COT],int qco)
{
if(doc(dong,cot,A,qco)>4) return 0; //chu y dong va cot
if(ngang(dong,cot,A,qco)>4) return 0;
if(chinh(dong,cot,A,qco)>4) return 0;
if(phu(dong,cot,A,qco)>4) return 0;
return 1;
}
/*-----------------------------------------------------*/
int Day(int A[][COT])
{
for (int i=0; i<DONG; i++)
for (int j=0; j<COT; j++)
if( A[i][j]==0) return 1;
return 0;
}
/*-----------------------------------------------------*/
void main()
{
int A[DONG][COT],count=0,qco,win,Di=0;
int x=25, y=3, ny=DONG, nx=COT, dx=2, dy=1, cot=10, dong=10;
clrscr();
gotoxy(20,2);
textcolor(6);
cprintf("TRO CHOI CARO su dung cho hai nguoi ");
textcolor(3);
ve_Oluoi(x, y, dx, dy, nx, ny); //ve ban co
gotoxy(2,12);
printf("\n Cach choi :\n-Quan X se di truoc \n-Nguoi co so con lien \n tuc hon 4 con truoc \n se thang");
khoi_tao(A);
do{
if(count%2==0) qco=1;
else qco=2;
Di=Di1Nuoc(x,y,dx,dy,nx,ny,A,qco,dong,cot);
if(Di==3) break;
win=ktra(dong,cot,A,qco); //kiem tra nguoi thang --> (0,1)
count+=1;
} while(win&&Di&&Day(A)); //DK : chua xong ban co &&chua thang &&con cho di
gotoxy(7,24);
textcolor(4);
if(Di==3) printf("Chua co nguoi thang ");
else
if(qco==1) cprintf("Quan co X da thang");
else cprintf("Quan co O da thang");
getch();
}

NHL(c)
14-06-2003, 03:11
Cool !

monord
16-06-2003, 14:56
Bạn có thể vào trang :
http:\\www.planet-source-code.com
Có mã nguồn cho các trò chơi trong đó.

Hoang Hai Van
24-06-2003, 18:15
mình cũng có source của trò chơi caro đó. Bạn nào cần thì mình sẻ gửi nha

Boy4is
26-06-2003, 22:53
Hèm ... thui để tui tặng cho 1 bản mới viết nè :-) Tui đã viết nhiều bản lắm ... nếu ai cần mail tui boy4is@hotmail.com rồi tui rảnh tui gửi cho ... còn không để thư thư tui up lên đây hết cho khoẻ ...
Có gì mời các bác xem thêm bên DDTH (http://www.vninformatics.com/forum/)
Các bác chơi xong cho ý kiến để tui cải tiến thêm nhe ... Cám ơn trước ...

superfolderk28
14-05-2005, 09:25
Minh can ban goi choi minh nha
superfolderk28@yahoo.com

risk720
14-05-2005, 10:41
gui cho minh dia chi nay nhe
trinhdongnam@yahoo.com cam on nhieu ! hay chia se kinh nghiem cho minh khi ban die

haichau_it
22-11-2005, 10:47
sao không viết băng mfc cho đơn giản

ngocthang.do
21-06-2007, 20:40
ban gui cho minh voi nha
ngocthang@gmail.com

Nguyen__hoang
26-06-2007, 20:55
sao tui down ve roi ma giai nen ko dc.

metquaroi
25-06-2008, 00:06
ai co code tro choi caro 2 nguoi share cho minh nhe
minh cam on nhieu
mail cua minh la saudong972002@yahoo.com

ntrongdangkhoa
26-06-2008, 00:24
2 người chơi là sao, online hay là offline, bản online mình đã xong rồi có cả cờ tướng luôn, còn cần off mình sẽ làm lại rồi send cho bạn bản off, liên lạc qua mail mình nhé

duydaichampion
02-12-2008, 00:11
trời dất ơi tôi cũng can code cho cho troi cờ caro ai co thi gui cho tui qua imail duydai1989@yahoo.com cam on nhieu

MtkSang
03-12-2008, 11:28
Cho mình xin với,gửi qua mail cho mình với!
Mình rất cần mà viết không được.
Cám on nhiều!
MtkSang
Doikhongphaithe@gmail.com

soicon1000
07-12-2008, 14:43
Xin chào , nghe bạn nói có code của Caro của C++, bạn có thể cho mình được không, có thể chuyển file cho minh qua email : lethanhbao79@yahoo.com.
mình cần gấp lắm .
cảm ơn bạn nhiều:

Kjng_IT
13-12-2008, 13:52
ai viet bai caro rui` thj` dua len cho moi ng` sem dj

lv_58
16-12-2008, 10:58
các bác không gửi lên chia sẻ cho anh em cứ làm anh em tò mò ko à!Người ta gọi đó là ki bo đó.haha

haimong1
10-03-2009, 23:08
mình cần code của trò chơi caro bằng C++
ai có thì gửi cho mình nhé theo địa chỉ:
nguyenvankhanh_h@yahoo.com
hoặc khanhbien5@yahoo.com

thangbom19840
24-08-2010, 20:48
các cậu júp mình với

[=========> Bổ sung bài viết <=========]

mình đang cần chương trình caro 2 người chơi qua mạng lan.

[=========> Bổ sung bài viết <=========]

2 bữa nữa là mình báo cáo rồi. các cậu júp mình với