diff options
Diffstat (limited to 'Aufgabe4/buchstabenraetzel.pl')
| -rw-r--r-- | Aufgabe4/buchstabenraetzel.pl | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/Aufgabe4/buchstabenraetzel.pl b/Aufgabe4/buchstabenraetzel.pl new file mode 100644 index 0000000..a32100a --- /dev/null +++ b/Aufgabe4/buchstabenraetzel.pl @@ -0,0 +1,99 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: buchstabenraetzel.pl +# +# USAGE: ./buchstabenraetzel.pl +# +# DESCRIPTION: Erstellt ein Buchstabenrätzel zu einenem lösungswort +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Martin Talarczyk (MT), martin@talarczyk.de +# ORGANIZATION: Fachhochschule Südwestfalen, Iserlohn +# VERSION: 1.0 +# CREATED: 05.11.2015 10:10:27 +# REVISION: --- +#=============================================================================== + +use strict; +use warnings; +use utf8; + + +binmode (STDIN, ":encoding(UTF-8)"); +binmode (STDOUT, ":encoding(UTF-8)"); +binmode (STDERR, ":encoding(UTF-8)"); +use open ":encoding(UTF-8)"; + + +#=============================================================================== +# Variabelen Deklarasion +#=============================================================================== +my $loesung = "Grünkohl"; + +my $vertauschen = 10; + +print "\n"; + +print $loesung. "\n"; + +foreach (0..4) +{ +print verwuerfeln($loesung,$_) ; +print "\n"; +} + +#print @erb ; +print "\n"; + + +#=== FUNCTION ================================================================ +# NAME: verwuerfeln +# PURPOSE: +# PARAMETERS: +# $word +# String der vertauscht wird. +# $vertasuchen +# anzahl der vertauschungen +# RETURNS: +# @ergebnis +# Vertasuchter String in einem Feld. +# DESCRIPTION: +# übernimmt eine String desswen buchsteben beliebig oft miteinader +# vertauscht werden. +# THROWS: no exceptions +# COMMENTS: none +# SEE ALSO: n/a +#=============================================================================== + +sub verwuerfeln { + my ( $word , $vertauschen ) = @_; + + defined $word or die "Es wurde keien String übergeben.\n"; + defined $vertauschen or die "Es wurde keine Anzahl der vertauschung übergeben.\n"; + my @ergebnis = split //, uc $word; + + my $laenge = int @ergebnis; + + my $index1 = 0; + + my $index2 = 0; + + for ( my $count = 0 ; $count < $vertauschen ;$count++ ) { + + + do { + $index1 = int rand $laenge; + $index2 = int rand $laenge; + } while ( $index1 eq $index2 ); # ----- end do-while ----- + + @ergebnis[$index1,$index2] = @ergebnis[$index2,$index1]; + + } + return @ergebnis; +} ## --- end sub verwuerfeln + + |
