⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 idiomlink.pl

📁 一个成语接龙的PERL程序
💻 PL
字号:
open(In,"IdiomPY.txt");
while(<In>){
	chomp;
	($idiom,$PY)=split(" ",$_);
	$HashDict{$idiom}=$PY;
	($FirstPY)=split("_",$PY);
	if ( defined $HashLastPY{$FirstPY} ){
		$HashLastPY{$FirstPY}.="@".$idiom;
	}else{
		$HashLastPY{$FirstPY}=$idiom;
	}
	push(@AllIdiom,$idiom);
}
close(In);

$INo=int(rand()*@AllIdiom);
if ( $INo == @AllIdiom ){
	$INo--;
}
$SysIdiom=$AllIdiom[$INo];

print "$SysIdiom\n";
while(1){
	unless ( defined $HashDict{$SysIdiom} ){
		last;
	}
	$IsOK=0;
	print "pls ...(q to exit)\n";	
	$Useridiom=<stdin>;
	chomp($Useridiom);
	if ( $Useridiom eq "q" ){
		last;
	}
	$PY=$HashDict{$SysIdiom};
	@SysPYArray=split("_",$PY);
	$LastPY=$SysPYArray[-1];
	
	if ( defined $HashDict{$Useridiom} ){
		$PY=$HashDict{$Useridiom};
		($FirstPY)=split("_",$PY);
		if ( $FirstPY eq $LastPY){
			print "OK!\n";
			$IsOK=1;
		}
	}
	if ( $IsOK == 0){
		@AllAnswer=split("@",$HashLastPY{$LastPY});
		for ( $i=0;$i<@AllAnswer;$i++){
			print "$i:$AllAnswer[$i]\t\t";
			if ( $i>0 && $i%3 == 0 ){
				print "\n";
			}
		}
		print "\nSelect:";
		$Num=<stdin>;
		chomp($Num);
		if ( $Num <0 || $Num >= @AllAnswer ){
			$Num=0;
		}
		$Useridiom=$AllAnswer[$Num];
		print "User:$Useridiom\n";
	}
	unless ( defined $HashDict{$Useridiom} ){
		last;
	}
	$PY=$HashDict{$Useridiom};
	@UserPYArray=split("_",$PY);
	$LastPY=$UserPYArray[-1];
	@AllAnswer=split("@",$HashLastPY{$LastPY});
	
	$INo=int(rand()*@AllAnswer);
	if ( $INo == @AllAnswer ){
		$INo--;
	}
	$SysIdiom=$AllAnswer[$INo];
	print "Sys:$SysIdiom\n";
	
	
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -