Welcome to HBH V2 ! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.
program written in Turbo Pascal 7.0 - Other Code Bank
program written in Turbo Pascal 7.0
simple program - it is text-based, simple , short math game ( 8 levels )
probably won't work on modern Windows so use DOSBOX emulator instead ( abailable also on Linux )
( Etap means Level in Polish )
program kalkulator;
uses crt;
var
lancuch:string;
znak:char;
czy_jest_minus:boolean;
rekurencja_start:boolean;
liczba_startowa:integer;
licznik_dolarow:integer;
liczba_lancuch:string;
pozycja_startowa:integer;
liczba:real;
kod_bledu:integer;
wynik:real;
licznik,licznik2,kupa,i:integer;
uzyto:boolean;
begin
clrscr;
writeln('Welcome in program devil calculator 666');
writeln('It is a demo of the game. Only first 8 levels');
writeln('The rules of game are simple');
writeln('I hide a mathematical function under $ symbol');
writeln('You can test it: write $number for example $2');
writeln('You win when the result of function will be equal 666');
writeln;
writeln('3 notes:');
writeln('1. Program is not idiot proof - write properly the statement');
writeln('2. You can use minus before and after $ sign');
writeln('3 You can use $ sign several times - recursion works here');
writeln;writeln;writeln;
writeln('It is version 2.0 - corrected');
writeln('1. If u want exit the game just write exit and press enter');
writeln('Let us begin? - enter key');
readln;
clrscr;
writeln('Etap 1');
repeat
readln(lancuch);
if lancuch='exit' then break;
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba+4;
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
writeln(wynik:10:3);
until wynik=666;
if lancuch<>'exit' then
begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 2');
repeat
readln(lancuch);
if lancuch='exit' then break;
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba*100;
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
writeln(wynik:10:3);
until wynik=666;
if lancuch<>'exit' then
begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 3');
repeat
readln(lancuch);
if lancuch='exit' then break;
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba*(-0.5);
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
writeln(wynik:10:3);
until wynik=666;
if lancuch <> 'exit' then begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 4');
repeat
readln(lancuch);
if lancuch='exit' then break;
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba*2+6;
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
writeln(wynik:10:3);
until wynik=666;
if lancuch<>'exit' then begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 5');
writeln('In this level you are not allowed to use 5 digit');
repeat
repeat
readln(lancuch);
if lancuch='exit' then break;
uzyto:=false;
licznik:=1;
repeat
znak:=lancuch[licznik];
if znak='5' then uzyto:=true;
licznik:=licznik+1;
until licznik>length(lancuch);
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba+11;
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
if uzyto=true then writeln('You used forbidden digit !');
until uzyto=false;
writeln(wynik:10:3);
until wynik=666;
if lancuch <>'exit' then begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 6');
writeln('In this level you are not allowed to use 3 digit');
repeat
repeat
readln(lancuch);
if lancuch='exit' then break;
uzyto:=false;
licznik:=1;
repeat
znak:=lancuch[licznik];
if znak='3' then uzyto:=true;
licznik:=licznik+1;
until licznik>length(lancuch);
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba*(-2);
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
if uzyto=true then writeln('You used forbidden digit !');
until uzyto=false;
writeln(wynik:10:3);
until wynik=666;
if lancuch <> 'exit' then begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 7');
writeln('In this level you are not allowed to use 3 digit');
repeat
repeat
readln(lancuch);
if lancuch='exit' then break;
uzyto:=false;
licznik:=1;
repeat
znak:=lancuch[licznik];
if znak='3' then uzyto:=true;
licznik:=licznik+1;
until licznik>length(lancuch);
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
repeat
wynik:=liczba*2+6;
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
if uzyto=true then writeln('You used forbidden digit !');
until uzyto=false;
writeln(wynik:10:3);
until wynik=666;
if lancuch <> 'exit' then begin
writeln('Congratulations! You have beaten the level !');
readln;
clrscr;
writeln('Etap 8');
writeln('It is not algebraic function. Check it yourself !');
repeat
readln(lancuch);
if lancuch='exit' then break;
uzyto:=false;
licznik:=1;
repeat
znak:=lancuch[licznik];
if znak='3' then uzyto:=true;
licznik:=licznik+1;
until licznik>length(lancuch);
znak:=lancuch[1];
if znak='-' then czy_jest_minus:=true else if znak<>'-' then czy_jest_minus:=false;
if czy_jest_minus=true then
begin
if lancuch[2]='$' then rekurencja_start:=true else if lancuch[2]<>'$'
then writeln('Blad skladni');
end;
if czy_jest_minus=false then
begin
if lancuch[1]='$' then rekurencja_start:=true else if lancuch[1]<>'$'
then writeln('Blad skladni');
end;
(* liczymy ilosc dolarow *);
if czy_jest_minus=true then liczba_startowa:=2;
if czy_jest_minus=false then liczba_startowa:=1;
licznik_dolarow:=0;
repeat
begin
licznik_dolarow:=licznik_dolarow+1;
liczba_startowa:=liczba_startowa+1;
end;
until lancuch[liczba_startowa]<>'$';
(* probujemy wyluskac liczbe *)
pozycja_startowa:=licznik_dolarow+1;
if czy_jest_minus=true then pozycja_startowa:=pozycja_startowa+1;
liczba_lancuch:=Copy(lancuch,pozycja_startowa,length(lancuch)-pozycja_startowa+1);
VAL(liczba_lancuch,liczba,kod_bledu);
licznik:=1;
licznik2:=length(liczba_lancuch);
kupa:=1;
repeat
wynik:=liczba;
for i:=1 to licznik2 do
begin
wynik:=wynik-3*kupa;
kupa:=kupa*10;
end;
licznik:=licznik+1;
liczba:=wynik;
until licznik>licznik_dolarow;
if czy_jest_minus=true then wynik:=wynik*(-1);
writeln(wynik:10:3);
until wynik=666;
if lancuch <>'exit' then begin
writeln('Congratulations! You have beaten the level !');
writeln;
writeln('The end of the game');
writeln('Press enter key');
readln;
end;
end;
end;
end;
end;
end;
end;
end;
end.
Comments
Sorry but there are no comments to display