2005-07-09, 11:03 PM
|
#3 (permalink)
|
長老會員
|
語法:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
String num;
int n=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
ServerSocket1->Active=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)
{
String sh;
if(InputQuery("連線","輸入 電腦名稱: ",sh));
if(sh.Length()>0)
{
ClientSocket1->Host=sh;
ClientSocket1->Active=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->RemoteHost+"上來了");
ToolButton1->Enabled=false;
while(1){
InputQuery("輸入","輸入 您的數字(4位數): ",num);
for(int i=1;i<=num.Length()-1;i++)
for(int j=i+1;j<=num.Length();j++)
if(num.SubString(i,1)==num.SubString(j,1)) {
ShowMessage("數字不合,請重新輸入");
num="";
}
if(num.Length()==4) break;
}
Memo1->Lines->Add("您的數字是"+num);
Memo1->Lines->Add("您先猜");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Connect(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add("已連到"+Socket->RemoteHost);
ToolButton1->Enabled=false;
while(1){
InputQuery("輸入","輸入 您的數字(4位數): ",num);
for(int i=1;i<=num.Length()-1;i++)
for(int j=i+1;j<=num.Length();j++)
if(num.SubString(i,1)==num.SubString(j,1)) {
ShowMessage("數字不合,請重新輸入");
num="";
}
if(num.Length()==4) break;
}
Memo1->Lines->Add("您的數字是"+num);
SpeedButton1->Enabled=false;
Edit1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
if(ServerSocket1->Active)
ServerSocket1->Socket->Connections[0]->SendText(Edit1->Text);
else
ClientSocket1->Socket->SendText(Edit1->Text);
SpeedButton1->Enabled=false;
Edit1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
int an=0,bn=0;
String s=Socket->ReceiveText();
if(n==1){
Memo1->Lines->Add(Socket->RemoteHost+" 猜: "+s);
for(int i=1;i<=4;i++){
if(s.SubString(i,1)==num.SubString(i,1)) an++;
for(int j=1;j<=4;j++)
if(s.SubString(i,1)==num.SubString(j,1)) if(i!=j)bn++;
}
if(an==4) {
ServerSocket1->Socket->Connections[0]->SendText("4A");
Memo1->Lines->Add(Socket->RemoteHost+" 猜對了...");
SpeedButton1->Enabled=false;
Edit1->Enabled=false;
}else{
ServerSocket1->Socket->Connections[0]->SendText(s+" => "+IntToStr(an)+"A"+IntToStr(bn)+"B");
Edit1->Text="";
Memo1->Lines->Add("換您猜... ");
SpeedButton1->Enabled=true;
Edit1->Enabled=true;
n=0;
}
}else{
Memo1->Lines->Add(s);
n=1;
if(s=="4A"){
Memo1->Lines->Add("您猜對了");
SpeedButton1->Enabled=false;
Edit1->Enabled=false;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
int an=0,bn=0;
String s=Socket->ReceiveText();
if(n==0){
for(int i=1;i<=4;i++){
if(s.SubString(i,1)==num.SubString(i,1)) an++;
for(int j=1;j<=4;j++)
if(s.SubString(i,1)==num.SubString(j,1)) if(i!=j)bn++;
}
Memo1->Lines->Add(Socket->RemoteHost+" 猜: "+s);
if(an==4) {
ClientSocket1->Socket->SendText("4A");
Memo1->Lines->Add(Socket->RemoteHost+" 猜對了...");
SpeedButton1->Enabled=false;
Edit1->Enabled=false;
}else{
ClientSocket1->Socket->SendText(s+" => "+IntToStr(an)+"A"+IntToStr(bn)+"B");
Edit1->Text="";
Memo1->Lines->Add("換您猜... ");
SpeedButton1->Enabled=true;
Edit1->Enabled=true;
n=1;
}
}else{
Memo1->Lines->Add(s);
n=0;
if(s=="4A"){
Memo1->Lines->Add("您猜對了");
SpeedButton1->Enabled=false;
Edit1->Enabled=false;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
if(ServerSocket1->Active)
ServerSocket1->Active=false;
else
ClientSocket1->Active=false;
ToolButton1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientDisconnect(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->RemoteHost+"離線");
ToolButton1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ClientSocket1Disconnect(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->RemoteHost+"離線");
ToolButton1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
ServerSocket1->Close();
ClientSocket1->Close();
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
for(int i=1;i<Edit1->Text.Length();i++)
if(Edit1->Text.SubString(Edit1->Text.Length(),1)==Edit1->Text.SubString(i,1)){
Edit1->Text=Edit1->Text.Delete(Edit1->Text.Length(),1);
Edit1->SelStart=Edit1->Text.Length();
}
}
//---------------------------------------------------------------------------
|
__________________
地獄變現記
[人身得來不易,願大家能尊重生命--勿傷胎命][好淫者請好自為之吧--割鳥]
南泉禪師道:
「道不屬知,不屬不知。知是妄覺,不知是無記。若真達不疑之道,猶如太虛,廓然蕩豁,豈可強是非邪?」
德山宣鑒禪師:
「如果明白無事,則勿妄求,妄求而得,亦非得也。汝但無事於心,無心於事,則虛而靈,空而妙。若毛端許,言之本末者,皆為自欺。何故?毫氂繫念,三塗業因。瞥爾情生,萬劫羈鎖。聖名凡號,盡是虛聲。殊相劣形,皆是幻色。汝欲求之,得無累乎?」
|
|
送花文章: 5469,
收花文章: 5341 篇, 收花: 24549 次
|