Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- [ENGLISH] Dogee, turn-based game w/ random choice & random integer
- Player get to choose between 3 options, A, D, S, Q (Attack, Defend, Special, Quit)
- Same rules also applied to bot
- When any of the both side's hp is 0, the game's over.
- Player + Bot :
- Attack + Attack = Both attack
- Attack + Defend = Player's atk/2
- Attack + Special = Bot atk*2
- Defend + Attack = Bot atk/2
- Defend + Defend = Nothing happen
- Defend + Special = Bot atk/2, player has atk*2 buff
- Special + Attack = Bot atk=0
- Special + Defend = Atk/2, bot has atk*2 buff
- Special + Special = Both attack
- Atk*2 buff gained when someone chooses attack,
- Buff deplete when player/bot uses Attack.
- Attack buff cannot be stacked with special which is not written in the code.
- Please note that this is a college project | I've been told to make this only by a descriptive instruction aas shown in line 2 - 4 above.
- '''
- # Code starts here
- import random
- import time
- buff = False #Buff jika mendapat serangan Special dari bot ketika bertahan
- ebuff = False #Buff ketika bot bertahan dari serangan Special
- hp = int(input('Silakan masukkan jumlah hp (10 - 20) : '))
- eHP = 20 #Health point bot, berlaku sama seperti hp
- #eHP = random.randint(10, 20)
- while True:
- bot = ["attack", "defend", "special"] #Perintah yang digunakan bot
- dmg = random.randint(1,9) #Serangan acak dari 1 hingga 9
- eDMG = random.randint(1,9) #Serangan bot
- if hp > 0 and eHP> 0:
- perintah = input('\n'
- ' Dogee\n'
- 'HP kamu : {}\n'.format(hp)+
- 'HP musuh : {}\n'.format(eHP)+
- '=============\n'
- '[A] - Attack - Menyerang musuh\n'
- '[D] - Bertahan - Tidak menyerang\n'
- '[S] - Ngamuk - Mengeluarkan serangan spesial\n'
- '[Q] - Menyerah - Keluar dari permainan\n'
- '\nMasukkan perintah : ').upper()
- if perintah not in 'ADSQ' or len(perintah) != 1:
- time.sleep(1)
- print('\nMaaf, perintah yang anda masukkan salah.')
- time.sleep(1)
- continue
- if perintah == 'A': # Perintah A mulai
- print('\nKamu memilih menyerang bot')
- time.sleep(1)
- if buff is True:
- print('Kamu mendapat buff bertahan! Seranganmu menjadi special!')
- dmg = dmg*2
- pbot = random.choice(bot) # BOT
- if pbot == 'attack':
- print ('\nBot menyerang balik!')
- if ebuff is True: # Buff bot setelah bertahan dari Special
- eDMG = eDMG*2
- time.sleep(1)
- print('Bot menyerang dengan buff bertahan! Serangan bot x2!')
- time.sleep(1)
- hp = hp - eDMG
- time.sleep(1)
- print ('\nKamu menerima {} dmg dari bot!'.format(eDMG))
- time.sleep(1)
- eHP = eHP - dmg
- if pbot == 'special': # Special
- print('\nBot melakukan special!')
- time.sleep(1)
- print('\nDmg bot {} x2!'.format(eDMG))
- hp = hp - eDMG*2
- time.sleep(1)
- print ('\nKamu menerima {} dmg dari bot!'.format(eDMG*2))
- eHP = eHP - dmg
- time.sleep(1)
- print('\nKamu menyerang bot dengan {} dmg!'.format(dmg))
- time.sleep(1)
- if pbot == 'defend':
- eDMG = 0
- print('\nBot bertahan!')
- eHP = eHP - dmg/2
- time.sleep(1)
- print ('\nKamu hanya menyerang bot dengan {} dmg!'.format(dmg / 2))
- continue # Perintah A selesai
- buff = False
- ebuff = False
- if perintah == 'D': # Perintah D mulai
- print('\nKamu memilih bertahan')
- time.sleep(1)
- pbot = random.choice(bot) # BOT
- if pbot == 'attack':
- print ('\nBot menyerang!')
- if ebuff is True: # Buff bot setelah bertahan dari Special
- eDMG = eDMG*2
- time.sleep(1)
- print('Bot mendapat buff bertahan! Serangan bot x2!')
- time.sleep(1)
- hp = hp - eDMG/2 # Defend = eDMG/2
- time.sleep(1)
- print ('\nKamu menerima {} dmg dari bot!'.format(eDMG/2))
- ebuff = False #Buff hilang setelah terpakai
- time.sleep(1)
- if pbot == 'special':
- print('\nBot melakukan special!')
- hp = hp - eDMG # Special tdk berpengaruh pd defend
- time.sleep(1)
- print ('\nKamu menerima {} dmg dari bot!'.format(eDMG*2))
- time.sleep(1)
- buff = True
- print('Kamu mendapat buff special setelah bertahan!')
- time.sleep(1)
- if pbot == 'defend':
- print('\nBot bertahan!')
- time.sleep(1)
- print ('\nTidak ada yang terluka')
- time.sleep(1)
- continue # Perintah D selesai
- if perintah == 'S': # Perintah A mulai
- print('\nKamu memilih Special!')
- time.sleep(1)
- pbot = random.choice(bot) # BOT
- if pbot == 'defend': # Defend
- eDMG = 0
- print('\nBot bertahan!')
- eHP = eHP - dmg #Special tidak berpengaruh karena bot bertahan
- time.sleep(1)
- print ('\nKamu hanya menyerang bot dengan {} dmg!'.format(dmg)) #Dmg tdk berubah krn bot defend
- time.sleep(1)
- ebuff = True
- print('Bot mendapat buff special setelah bertahan!')
- time.sleep(1)
- continue
- if pbot == 'attack':
- print ('\nBot menyerang balik!')
- if ebuff is True: # Buff bot setelah bertahan dari Special
- eDMG = eDMG*2
- time.sleep(1)
- print('\nBot mendapat buff bertahan! Serangan bot x2!')
- time.sleep(1)
- time.sleep(1)
- buff = False
- print ('\nSerangan bot tidak berpengaruh!')
- time.sleep(1)
- eHP = eHP - dmg*2
- if pbot == 'special': # Special
- print('\nBot melakukan special!')
- time.sleep(1)
- print('\nDmg bot {} x2!'.format(eDMG))
- hp = hp - eDMG*2
- time.sleep(1)
- print ('\nKamu menerima {} dmg dari bot!'.format(eDMG*2))
- eHP = eHP - dmg*2
- time.sleep(1)
- print('\nKamu berhasil menyerang bot dengan {} dmg!'.format(dmg*2))
- time.sleep(1)
- continue # Perintah S selesai
- if perintah == 'Q': # Perintah Q mulai
- perintah = input('\nApakah kamu ingin menyerah?\n'
- '[Y] - Ya | [T] - Tidak : ').upper()
- if perintah == 'Y':
- time.sleep(1)
- print('\nTerimakasih telah bermain')
- time.sleep(1)
- exit()
- if perintah == 'T':
- time.sleep(1)
- print('\nKemenangan hanya untuk mereka yang berusaha.')
- time.sleep(1)
- continue
- break # Perintah Q selesai
- continue # Kembali ke Main Menu
- else: # Jika hp atau eHP = 0
- time.sleep(1)
- print('\nPermainan berakhir\n'
- 'HP kamu : {}\n'.format(hp)+
- 'HP musuh : {}\n'.format(eHP))
- if hp < 0: # Mati, kalah
- print('\nKamu kalah')
- else: # Menang
- print('Selamat! Kamu menang!')
- perintah = input('\nApakah kamu ingin bermain lagi?\n' #Ngulang kl mati
- '[Y] - Ya | [T] - Tidak : ').upper()
- if perintah == 'Y': # Permainan diulang, mereset hp masing-masing
- hp = 20
- eHP = 20
- continue
- if perintah == 'T': # Permainan berakhir, exit program
- time.sleep(1)
- print('Terimakasih telah bermain')
- time.sleep(1)
- exit()
- while perintah not in 'YT' or len(perintah) != 1: # Jika perintah bukan Y atau T
- print('\nMaaf, perintah yang anda masukkan salah.')
- time.sleep(1)
- break
Advertisement
Add Comment
Please, Sign In to add comment