Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict; # Pouzitie Var. Typu Strict
- my $iNumber1; #V Tejto Premmenej Bude Ulozene Prve Cislo s Prikladu na Overenie
- my $iNumber2; #V Tejto Premmenej Bude Ulozene Druhe Cislo s Prikladu na Overenie
- my $iUserNum; # Tu sa nacita Vstup Od Usera
- my $iTestType; # Tu sa neskor vygeneruje cislo a podla v rozsahu od 1 - 4 ( 1 - Krat; 2 - Deleno; 3 - Plus ; 4 - Minus)
- my $iWhile=1; # Premenna Pre While Cyklus
- my $iCorrectAns; # Tu budeme Ukladat pocet spravnych odpovedi
- my $iVysledok;
- # Uvitacia Sprava
- print "Ahoj, Ja som Bot Ktory Zisti ci si clovek alebo moj druh ... Blablbal Uvodna Spravicka\n";
- print "\t Test bude prebiehat nasledovne :\n";
- print "\t\t Dostanes 5 Matematickych prikladov, ja ti ich skontrolujem,a pokial budu aspon 4 spravne, tak... \n\n\n\n";
- SKUSANIE: # Toto je Tkzv Navestie, alebo po EN. myslim sa v programovani pouziva LABEL
- $iCorrectAns = 0; # Pocet Spravnuch odpovedi dame na 0, pretoze pokial by sa test opakoval tak by tram zostala stara hodnota
- $iWhile= 1; # Nadstavenie iWhile na 1 ..
- # Cyklus ..
- while($iWhile<=5){ # Pokial $iWhile nebude 5 tak sa bude opakovat nasledujuci cyklus
- $iTestType = int(rand(4))+1; # Vygenerovanie cisla 1 - 4 pre nahodnost typu prikladu
- # Pokial bude $iTestType == 1 tak sa vygeneruju cisla vhodne pre Nasobenie
- if($iTestType == 1){
- $iNumber1 = int(rand(10)); #Vygenerovanie Prveho Cisla
- $iNumber2 = int(rand(10))+1; #Vygenerovanie Druheho Cisla
- print "\n Question $iWhile : $iNumber1*$iNumber2 = ";
- chomp ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
- if($iNumber1*$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
- $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
- }
- }
- # Pokial bude $iTestType == 2 tak sa vygeneruju cisla vhodne pre Delenie
- if($iTestType == 2){
- $iNumber1 = int(rand(10))+1; #Vygenerovanie Prveho Cisla - Bude pouzite ako vysledok
- $iNumber2 = int(rand(10))+1; #Vygenerovanie Druheho Cisla
- print "\n Question $iWhile : ".$iNumber1*$iNumber2."/$iNumber2 = ";
- chomp ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
- if($iNumber1*$iNumber2/$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
- $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
- }
- }
- # Pokial bude $iTestType == 3 tak sa vygeneruju cisla vhodne pre Scitovanie
- if($iTestType == 3){
- $iNumber1 = int(rand(10)); #Vygenerovanie Prveho Cisla
- $iNumber2 = int(rand(10))+1; #Vygenerovanie Druheho Cisla
- print "\n Question $iWhile : $iNumber1+$iNumber2 = ";
- chomp ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
- if($iNumber1+$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
- $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
- }
- }
- # Pokial bude $iTestType == 4 tak sa vygeneruju cisla vhodne pre Odcitovanie
- if($iTestType == 4){
- $iNumber1 = int(rand(10))+1; #Vygenerovanie Prveho Cisla - Bude pouzite ako vysledok
- $iNumber2 = int(rand(10)); #Vygenerovanie Druheho Cisla
- $iVysledok= $iNumber1+$iNumber2;
- print "\n Question $iWhile : $iVysledok-$iNumber2 = ";
- chomp ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
- if($iVysledok-$iNumber2==$iUserNum){#Pokial bude Odpoved spravna tak ..
- $iCorrectAns ++;# Pricitame k hodnote $iCorrectAns 1
- }
- }
- $iWhile ++; # Pricitame k hodnote $iWhile 1
- }
- # Koniec Cyklusu
- # Vypisanie Vysledku
- if($iCorrectAns>=4){#Pokial bude pocet odpovedi dostatocny,vypisesa tato sprava
- print "\n \n Vas pocet spravnych odpovedi je : $iCorrectAns . Gratulujem , Uspeli Ste!\n";
- }else{#Pokial nebude pocet odpovedi dostatocny vypise sa nasledujuca sprava
- print "\n \n Vas pocet spravnych odpovedi je : $iCorrectAns . Lutujem , ale Vas pocet odpovedi neni dostatocny!\n";
- print "Pokial si prajete pokracovat napiste 1 ,pokial si prajete skoncit napiste 2 : ";
- chomp ($iUserNum = <STDIN>); # Pouzitie chomp na odstranenie pripadnych \n a nacitanie hodnoty od usera
- if($iUserNum==1){# Pokial User zada 1 tak sa zacne znovu testovanie
- sleep 3; # Pozastavenie na 3 Sekundy
- goto SKUSANIE; # presunutie sa na Label - Skusanie
- }
- }
- print "Dakujeme za Skusku CaptchaBota";
- sleep 3; # Pozastavenie na 3 Sekundy
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement