Advertisement
Guest User

Untitled

a guest
Jan 10th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 9.08 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. function ekraniTemizle(){
  4.     for (( i = 0; i < 50; i++ )); do
  5.         echo ""
  6.     done
  7. }
  8.  
  9. ekraniTemizle
  10.  
  11. ###--Bilinen açıklar/sorunlar----###
  12.  
  13. ###------------------------------###
  14.  
  15.  
  16. ## Eklenecekler
  17. #Helos satın alma sistemi
  18. #Basit eşya sistemi
  19. #Canavalardan para düşme sistemi --Eklendi
  20.  
  21.  
  22. ##Yedek değişken sistemi
  23. #declare -A canavarlar
  24. #baslangicSatiri=$LINENO
  25. #canavarlar[isim,0]="Zombi"
  26. #canavarlar[isim,1]="iskelet"
  27. #bitisSatiri=$LINENO
  28. #canavarlar[can,0]=10
  29. #echo $(($bitisSatiri-$baslangicSatiri))
  30. ##Yedek değişken sistemi
  31.  
  32.  
  33. ## Bölümler
  34. #1. Mağara
  35. #2. Hellos
  36.  
  37. #renkler
  38. renkKirmizi=`tput setaf 1`
  39. renkYesil=`tput setaf 2`
  40. renkReset=`tput sgr0`
  41.  
  42.  
  43. dusmanlar=(İskelet Zombi Savaşçı Ninja)
  44. dusmanHasarlar=(15 18 25 20)
  45. dusmanCanlar=(25 45 50 30)
  46. dusmanTecrubeler=(12 22 25 15)
  47. dusmanParalar=(150 250 300 170)
  48.  
  49.  
  50. #echo ${dusmanlar[*]}
  51. #echo ${dusmanHasar[*]}
  52. #echo ${dusmanCan[*]}
  53.  
  54. levelTecrube=(30 60 100 150 200 300 450 650)
  55.  
  56. ##Karakter Değişkenleri
  57. can=100
  58. para=0
  59. tecrube=0
  60. seviye=1
  61. hasar=50
  62. canIksiri=3
  63.  
  64.  
  65. canIksiriYenilemesi=30
  66.  
  67. ##Mağara Değişkenleri##
  68. magara=false
  69. oldurulenDusman[magara]=0
  70. magaraKalanDusman=4
  71.  
  72. ##Helos Değişkenleri##
  73. helos=true
  74. oldurulenDusman[helos]=0
  75. #Giriş Değişkenleri
  76. helosGiris=true
  77. helosGirisKalanDusman=2
  78. helosSehirMerkezi=true
  79.  
  80. function girisYap(){
  81.     username=$1
  82.     password=$2
  83.     gelenveri="$(curl -s --request POST 'http://test.fozbek.com/curl.php' --data 'username=fatih&password=1234')"
  84.     isim="$(echo $gelenveri | grep -Po '(?<=\"username\":\")[^\"]*')"
  85.     can="$(echo $gelenveri | grep -Po '(?<=\"can\":\")[^\"]*')"
  86.     tecrube="$(echo $gelenveri | grep -Po '(?<=\"tecrube\":\")[^\"]*')"
  87.     iksirSayisi="$(echo $gelenveri | grep -Po '(?<=\"iksirSayisi\":\")[^\"]*')"
  88.     oldurulenDusman="$(echo $gelenveri | grep -Po '(?<=\"oldurulenDusman\":\")[^\"]*')"
  89.     echo "$isim $can $tecrube $iksirSayisi $oldurulenDusman"
  90.     echo "func"
  91. }
  92.  
  93. function sovalye(){
  94.     echo -n ${renkKirmizi}
  95.     echo $'      _,.'
  96.     echo $'    ,` -.)'
  97.     echo $'   \'( _/\'-\\\\-.'
  98.     echo $'  /,|`--._,-^|          '
  99.     echo $'  \\_| |`-._/||          ,\'|'
  100.     echo $'    |  `-, / |         /  /'
  101.     echo $'    |     || |        /  /'
  102.     echo $'     `r-._||/   __   /  /'
  103.     echo $' __,-<_     )`-/  `./  /'
  104.     echo $'\'  \\   `---\'   \\   /  /'
  105.     echo $'    |           |./  /'
  106.     echo $'    /           //  /'
  107.     echo $'\\_/\' \\         |/  /'
  108.     echo $' |    |   _,^-\'/  /'
  109.     echo $' |    , ``  (\\/  /_'
  110.     echo $'  \\,.->._    \\X-=/^'
  111.     echo $'  (  /   `-._//^`'
  112.     echo $'   `Y-.____(__}'
  113.     echo $'    |     {__)'
  114.     echo $'          ()`'
  115.     echo -n ${renkReset}
  116. }
  117.  
  118. echo "Mağara hoşgeldin. Mağarada toplam $magaraKalanDusman düşman var"
  119. echo "Bu mağaradan çıkman için en az 2 düşman öldürmen gerekiyor."
  120.  
  121. function seviyeGuncelle(){
  122.     if (( $tecrube > ${levelTecrube[0]} )); then
  123.         seviye=2
  124.     fi
  125.     if (( $tecrube > ${levelTecrube[1]} )); then
  126.         seviye=3
  127.     fi
  128.     if (( $tecrube > ${levelTecrube[2]} )); then
  129.         seviye=4
  130.     fi
  131.     if (( $tecrube > ${levelTecrube[3]} )); then
  132.         seviye=5
  133.     fi
  134.     if (( $tecrube > ${levelTecrube[4]} )); then
  135.         seviye=6
  136.     fi
  137.     if (( $tecrube > ${levelTecrube[5]} )); then
  138.         seviye=7
  139.     fi
  140.     if (( $tecrube > ${levelTecrube[6]} )); then
  141.         seviye=8
  142.     fi
  143.     if (( $tecrube > ${levelTecrube[7]} )); then
  144.         seviye=9
  145.     fi
  146. }
  147.  
  148. function dusmeSansi(){ ##İksir ve para düşme şansı.
  149.     if [[ $(($RANDOM%2)) -eq 1 ]]; then
  150.         echo 1
  151.     fi
  152. }
  153.  
  154. function canIksiriKullan(){ ##Can iksiri kullan
  155.     if (( $canIksiri > 0 )); then
  156.         ((canIksiri--))
  157.         echo "Can iksiri kullandın. Kalan can iksiri $canIksiri"
  158.         ((can=can+canIksiriYenilemesi))
  159.     else
  160.         echo "Can iksirin kalmadı."
  161.     fi
  162. }
  163.  
  164. function olunce(){ ##Ölünce olacaklar
  165.     echo "Çok fazla hasar aldın, devam etmek için çok zayıfsın"
  166.     echo "Düşmandan kaçmayı başardın, kendine gelmen için 10 saniye dinlenmen gerekiyor."
  167.     sleep 2 #Ölünce beklenecek süre
  168.     can=50 #Ölünce başlangıç canı
  169. }
  170.  
  171. function karakterBilgileri(){ ##Karakter bilgisini bas
  172.     echo ${renkKirmizi}
  173.     echo "#--Karakter Bilgileri--#"
  174.     echo "Tecrüben: $tecrube"
  175.     echo "Seviyen: $seviye"
  176.     echo "Senin Canın: $can"
  177.     echo "#--Karakter Bilgileri--#"
  178.     echo ${renkReset}
  179. }
  180.  
  181. function dusmanOldurunce(){
  182.     dusmanVerdigiTecrube=${dusmanTecrubeler[$1]}
  183.     echo -n ${renkYesil}
  184.     echo "Bir düşman öldürdün."
  185.     ((tecrube=tecrube+dusmanVerdigiTecrube))
  186.     seviyeGuncelle
  187.     if [[ $(dusmeSansi) -eq 1 ]]; then
  188.         ((canIksiri++))
  189.         echo "Düşmandan bir adet can iksiri düştü."
  190.         echo "Toplam can iksiri miktarı: $canIksiri"
  191.     fi
  192.     if [[ $(dusmeSansi) -eq 1 ]]; then
  193.         echo "Düşmandan $dusmanVerdigiPara para düştü."
  194.     fi
  195.     echo -n ${renkReset}
  196. }
  197.  
  198. function bolumMagara(){
  199.     while [ $magara == "true" ]; do
  200.         dusmanIndis=$((RANDOM%${#dusmanlar[@]}))
  201.         dusman=${dusmanlar[$dusmanIndis]}
  202.         dusmanCan=${dusmanCanlar[$dusmanIndis]}
  203.         dusmanHasar=${dusmanHasarlar[$dusmanIndis]}
  204.         dusmanVerdigiPara=$((RANDOM%${dusmanParalar[$dusmanIndis]}))
  205.  
  206.         echo "Karşınıza $dusman çıktı!"
  207.        
  208.         while (( $dusmanCan > 1 )); do #Düşman ölmedikçe döner
  209.             karakterBilgileri
  210.             echo "$dusman adlı düşmanın canı $dusmanCan"
  211.             echo "Ne yapmak istersin ?"
  212.             echo "1. Saldır"
  213.             echo "2. Can iksiri kullan"
  214.             if [[ ${oldurulenDusman[magara]} -gt 1 ]]; then
  215.                 echo "3. Mağaradan çık"
  216.             fi
  217.             read secim
  218.             case $secim in
  219.                 1 ) #Saldır
  220.                     verilenHasar=$((RANDOM%$hasar))
  221.                     alinanHasar=$((RANDOM%$dusmanHasar))
  222.  
  223.                     ((dusmanCan=dusmanCan-verilenHasar))
  224.                     ((can=can-alinanHasar))
  225.                     echo ""
  226.                     echo "$dusman adlı düşmana $verilenHasar hasar verdin."
  227.                     echo "$alinanHasar hasar aldın."
  228.  
  229.                     if (( "$dusmanCan" <= 0 )); then
  230.                         ((oldurulenDusman[magara]++))
  231.                         dusmanOldurunce dusmanIndis #fonksiyona parametre olarak dusman indisi gönderiyorum
  232.                         ((magaraKalanDusman--))
  233.                         if [[ $magaraKalanDusman -eq 0 ]]; then
  234.                             echo "Mağarada daha fazla düşman kalmadı, mağaradan çıkıyorsun..."
  235.                             magara=false
  236.                             break
  237.                         fi
  238.                         if [[ ${oldurulenDusman[magara]} -eq 1 ]]; then
  239.                             echo "Mağaradan çıkman için 1 düşman daha öldürmen gerekiyor."
  240.                         elif [[ ${oldurulenDusman[magara]} -eq 2 ]]; then
  241.                             echo -n ${renkYesil}
  242.                             echo "Mağarada 2 düşman kaldı, istersen çıkabilirsin."
  243.                             echo -n ${renkReset}
  244.                         fi
  245.                     fi
  246.  
  247.                     if (( $can < 1 )); then
  248.                         echo "Çok fazla hasar aldın, devam etmek için çok zayıfsın"
  249.                         echo "Düşmandan kaçmayı başardın, kendine gelmen için 10 saniye dinlenmen gerekiyor."
  250.                         sleep 2
  251.                         can=50
  252.                         echo "Kendine gelmeye başladın, görevini yerine getirip bu mağaradan bir an önce çıkmalısın."
  253.                         break
  254.                     fi
  255.                 ;;
  256.                 2 ) #Can iksiri
  257.                     canIksiriKullan
  258.                 ;;
  259.                 3 ) #Mağaradan çık
  260.                     if [[ ${oldurulenDusman[magara]} -gt 1 ]]; then
  261.                         echo "Görevini tamamlayıp mağaradan çıkmayı başardın."
  262.                         magara=false
  263.                         break
  264.                     else
  265.                         echo "Hatalı giriş."
  266.                     fi
  267.                 ;;
  268.                 * )
  269.                     echo "Hatalı giriş."
  270.                 ;;
  271.             esac
  272.         done
  273.     done
  274.     ekraniTemizle
  275.     echo "Köy merkezine doğru ilerliyorsun."
  276. }
  277.  
  278. function bolumHellos(){
  279.     sovalye
  280.     echo "Köy merkezinin girişinde 2 iskeletin muhafızlarla savaştığını görüyorsun,"
  281.     echo "ne yapmak istersin ?"
  282.  
  283.     while [ $helos == "true" ]; do
  284.  
  285.         while [ $helosGirisKalanDusman == "true" ]; do
  286.             hasar=${dusmanHasarlar[0]}
  287.             dusmanCan=${dusmanCanlar[0]}
  288.             dusmanHasar=${dusmanHasarlar[0]}
  289.  
  290.             while (( $dusmanCan > 1 )); do #Düşman ölmedikçe döner
  291.                 karakterBilgileri
  292.                 echo "$dusman adlı düşmanın canı $dusmanCan"
  293.                 echo "Ne yapmak istersin ?"
  294.                 echo "1. Saldır"
  295.                 echo "2. Can iksiri kullan"
  296.                 echo "3. Şehre gir"
  297.                 read secim
  298.                 case $secim in
  299.                     1 ) #Saldır
  300.                         verilenHasar=$((RANDOM%$hasar))
  301.                         alinanHasar=$((RANDOM%$dusmanHasar))
  302.  
  303.                         ((dusmanCan=dusmanCan-verilenHasar))
  304.                         ((can=can-alinanHasar))
  305.                         echo ""
  306.                         echo "İskelete $verilenHasar hasar verdin."
  307.                         echo "$alinanHasar hasar aldın."
  308.  
  309.                         if (( "$dusmanCan" <= 0 )); then
  310.                             ((girisKalanDusman--))
  311.                             dusmanOldurunce 0 # 0 iskeletin indisi
  312.                             if [[ $girisKalanDusman -eq 0 ]]; then
  313.                                 echo "Daha fazla düşman kalmadı, şehir merkezine doğru ilerliyorsun."
  314.                                 helosGirisKalanDusman=false
  315.                                 break
  316.                             fi
  317.                             if [[ $girisKalanDusman -eq 1 ]]; then
  318.                                 echo "1 iskelet kaldı, istersen görmezden gelip şehir merkezine girebilirsin."
  319.                             fi
  320.                         fi
  321.  
  322.                         if (( $can < 1 )); then
  323.                             olunce
  324.                             echo "Kendine gelmeye başladın, görevini yerine getirip bu mağaradan bir an önce çıkmalısın."
  325.                             break
  326.                         fi
  327.                     ;;
  328.                     2 ) #İksir kullan
  329.                         canIksiriKullan
  330.                     ;;
  331.                     3 ) #Görmezden gel
  332.                         if [[ $girisKalanDusman -eq 2 ]]; then
  333.                             echo "İskeletleri görmezden gelip şehre girdin."
  334.                         elif [[ $girisKalanDusman -eq 1 ]]; then
  335.                             echo "İskeleti görmezden gelip şehre girdin."
  336.                         fi
  337.                         helos=false
  338.                         break
  339.                     ;;
  340.                     * )
  341.                         echo "Hatalı giriş."
  342.                     ;;
  343.                 esac
  344.             done
  345.         done
  346.     done
  347. }
  348.  
  349. bolumMagara
  350. bolumHellos
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement