Ein neues Spässchen
Ein neuer Spaß steht in den Startlöchern!
Ich muß mir nur noch etwas zu essen und zu trinken holen, dann kann ich hier gleich genüßlich weiter dran werkeln ( und es scheint gar nicht mehr viel zu tun )*:
#!/usr/bin/perl
# struktur-creator.pl
use strict;
use warnings;
# Variablen
my @muster = ('AB','ABC','AAB','ABA');
my @zahlenreihe;
map { push @zahlenreihe, $_ } 1..22;
# Programm
## Kontrollausdrucke
print "\nZahlenreihe:\n\n";
print map { $_, "\n" } @zahlenreihe;
print "\nMuster:\n\n";
print map { $_, "\n" } @muster;
print "\n";
## Zahlenreihe nach Mustern umformen
foreach ( @muster ) {
my @zahlenreihe_temp = @zahlenreihe;
my @zahlenreihe_neu;
my %unitblocks;
my @units = split ("",$_);
print "\nDie Units:\n";
foreach ( @units ) {
print $_, "\n";
if ( not exists $unitblocks{$_} ) { $unitblocks{$_} = 'Bitte füllen!' }
}
until ( scalar @zahlenreihe_temp < 5 ) {
foreach ( sort { $a cmp $b } keys %unitblocks ) {
$unitblocks{$_} = $zahlenreihe_temp[0];
shift @zahlenreihe_temp;
}
my $wiederholungen = int rand(4) + 1;
print "\nEs sind $wiederholungen Wiederholungen ausgelost!\n";
for ( my $i = 1; $i < $wiederholungen + 1; $i++ ) {
foreach ( @units ) {
push @zahlenreihe_neu, $unitblocks{$_}
}
}
}
print "\nDie neue Zahlenreihe:\n";
print map { $_, "\n" } @zahlenreihe_neu;
}
Zahlenreihe:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Muster:
AB
ABC
AAB
ABA
Die Units:
A
B
Es sind 4 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Die neue Zahlenreihe:
1
2
1
2
1
2
1
2
3
4
3
4
3
4
3
4
5
6
5
6
5
6
7
8
7
8
9
10
11
12
13
14
13
14
13
14
15
16
15
16
17
18
17
18
17
18
Die Units:
A
B
C
Es sind 1 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Die neue Zahlenreihe:
1
2
3
4
5
6
4
5
6
4
5
6
7
8
9
7
8
9
7
8
9
10
11
12
...
15
15
16
15
15
16
17
17
18
17
17
18
17
17
18
17
17
18
Die Units:
A
B
A
Es sind 4 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Die neue Zahlenreihe:
1
2
1
1
2
1
1
2
1
1
2
1
3
4
3
5
6
5
...
Soviel kann ich schon verraten: Es wird wieder grausam für die Ohren werden ( die sich das Endergebnis dann anhören /wollen/müssen ).
;-)
* Bin selbst überrascht, wie zügig mir das alles momentan so von der Hand geht. Bis vorgestern hatte ich einen fast zweiwöchigen Durchhänger mit fast Null Motivation.
Ich muß mir nur noch etwas zu essen und zu trinken holen, dann kann ich hier gleich genüßlich weiter dran werkeln ( und es scheint gar nicht mehr viel zu tun )*:
Code
#!/usr/bin/perl
# struktur-creator.pl
use strict;
use warnings;
# Variablen
my @muster = ('AB','ABC','AAB','ABA');
my @zahlenreihe;
map { push @zahlenreihe, $_ } 1..22;
# Programm
## Kontrollausdrucke
print "\nZahlenreihe:\n\n";
print map { $_, "\n" } @zahlenreihe;
print "\nMuster:\n\n";
print map { $_, "\n" } @muster;
print "\n";
## Zahlenreihe nach Mustern umformen
foreach ( @muster ) {
my @zahlenreihe_temp = @zahlenreihe;
my @zahlenreihe_neu;
my %unitblocks;
my @units = split ("",$_);
print "\nDie Units:\n";
foreach ( @units ) {
print $_, "\n";
if ( not exists $unitblocks{$_} ) { $unitblocks{$_} = 'Bitte füllen!' }
}
until ( scalar @zahlenreihe_temp < 5 ) {
foreach ( sort { $a cmp $b } keys %unitblocks ) {
$unitblocks{$_} = $zahlenreihe_temp[0];
shift @zahlenreihe_temp;
}
my $wiederholungen = int rand(4) + 1;
print "\nEs sind $wiederholungen Wiederholungen ausgelost!\n";
for ( my $i = 1; $i < $wiederholungen + 1; $i++ ) {
foreach ( @units ) {
push @zahlenreihe_neu, $unitblocks{$_}
}
}
}
print "\nDie neue Zahlenreihe:\n";
print map { $_, "\n" } @zahlenreihe_neu;
}
Output
Zahlenreihe:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Muster:
AB
ABC
AAB
ABA
Die Units:
A
B
Es sind 4 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Die neue Zahlenreihe:
1
2
1
2
1
2
1
2
3
4
3
4
3
4
3
4
5
6
5
6
5
6
7
8
7
8
9
10
11
12
13
14
13
14
13
14
15
16
15
16
17
18
17
18
17
18
Die Units:
A
B
C
Es sind 1 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 3 Wiederholungen ausgelost!
Die neue Zahlenreihe:
1
2
3
4
5
6
4
5
6
4
5
6
7
8
9
7
8
9
7
8
9
10
11
12
...
15
15
16
15
15
16
17
17
18
17
17
18
17
17
18
17
17
18
Die Units:
A
B
A
Es sind 4 Wiederholungen ausgelost!
Es sind 1 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 4 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Es sind 2 Wiederholungen ausgelost!
Die neue Zahlenreihe:
1
2
1
1
2
1
1
2
1
1
2
1
3
4
3
5
6
5
...
Soviel kann ich schon verraten: Es wird wieder grausam für die Ohren werden ( die sich das Endergebnis dann anhören /wollen/müssen ).
;-)
* Bin selbst überrascht, wie zügig mir das alles momentan so von der Hand geht. Bis vorgestern hatte ich einen fast zweiwöchigen Durchhänger mit fast Null Motivation.
Kommentare
Kommentar veröffentlichen