Sunday, June 11, 2017
#PROGAM GAME TEKA TEKI SILANG DENGAN ACAK
#Author - AHMAD HANIFUL AULI
#NRP: 2116100129
#DENGAN MENAMPILKAN GAMBAR DAN PETA DARI KATA YANG ADA KEMUDIAN PEMAIN AKAN MENEBAKNYA
#STRUKTUR ALGORITMA YANG DIPAKAI
# 1. PRINT WELLCOME DAN PETA GAMBAR
# 2. MENGACAK KATA-KATA YANG ADA
# 3. MENYAMPAIKAN KATA YANG HARUS DITEBAK
# 4. PEMAIN MENEBAK
# a. JIKA JAWABAN SALAH MAKA AKAN DITAMPILKAN PESAN SALAH
# b. JIKA BENAR MAKA AKAN DITANYAKAN MAU MAIN LAGI ATAU TIDAK
# 5. JIKA SETELAH MENEBAK TETAP SALAH
# a. MAKA AKAN DITAMPILKAN KEMUNGKINAN JAWABAN
# b. JIKA BENAR MAKA AKAN DIAPRESIASI
# 6. JIKA MENJAWAB KE TIGA
# a. JIKA SALAH MAKA AKAN DITAMPILKAN PERMINTAAN MAAF
# b. JIKA BENAR LANJUT KE SESI SELANJUTNYA
# 7. MENANYAKAN KEMBALI APAKAH PEMAIN MAU MAIN LAGI
#mengimpor fungsi acak pada progam python
import random
#kata sambutan untuk memperindah tampilan
#menampilkan gambar serta petunjuk pengerjaan
welcome = [' ',
'AAAAAAA UU UU LL II MMM MMM EEEEE II TTTTTTTT SSSSSS',
'AA AA UU UU LL II MM M M MM EE II TT SS',
'AAAAAAA UU UU LL II 00 MM M MM EEEEE 00 II TT SSSSSS',
'AAA AAA UU UU LL II MM MM EE II TT SS',
'AA AA UUUUUUU LLLLLL II MM MM EEEEE II TT SSSSSS',
' ',
' 2 1 1 6 1 0 0 1 2 9 ',
' ___',
' |_3_|',
' ________________________|___|',
' |_1_|___|_2_|___|___|___|___|___________',
' |___| |___| |10_|___|___|___| ',
' |___| |___|_______________________',
' |___| |_3_|___|___|_|___|_4_|___| ___',
' |___| |___| |_9_|',
' |___|_______ |___|___________________________|___|',
' |_7_|___|_8_| |_5_|_6_|___|___|___|___|_5_|___|___|',
' ___________|___|___ |___| |___| |___|',
'|_2_|10_|___|___|___| |___|___________ |___| |___|',
' |___| |___| |_6_|___|___|_7_| |___|',
' |___|_______________ |___|',
' |_9_|___|___|___|___| ___|___|___________',
' |_4_|___|___|___|_4_|',
' |___| |___|',
' |___|___________',
' |_8_|___|___|___|',
'Mendatar:1.Nama ke dua rektor ITS 2017 Menurun:1.Raja hutan',
' 2.Univ Tujuh Belas Agustus 2.bahasa indonesia dari king',
' 3.Kata lain dari langit 3.Kana terbalik',
' 4.Hari setelah rabu 4.Hewan kurban',
' 5.Nama negara kita 5.akus dibalik',
' 6.Manusia mempunyai..dan pikiran 6.panggilan wanita',
' 7.Ujian Tengah Semester 7.Yang dirasakan saat puasa',
' 8.Hidup di air 8.sapi menghasilkan',
' 9.Manusia dewasa 9.berasal dari alam',
' 10.kabupaten? 10. super kecil',
' ',
' ',
]
for line in welcome:
print(line, sep='\n')
#Membuat daftar dictionary yang akan digunakan dalam game
words = {'hermana':'Nama ke dua rektor ITS 2017',
'untag':'Universitas Tujuh Belas Agustus',
'angkasa':'Kata lain dari langit',
'kamis':'Hari setelah rabu',
'indonesia':'Nama negara kita',
'akal':'Manusia mempunyai..... dan pikiran',
'uts':'Ujian Tengah Semester',
'ikan':'Hidup di air',
'orang':'manusia dewasa',
'kota':'Kabupaten?',
'harimau':'Raja hutan',
'raja':'bahasa indonesia dari king',
'anak':'Kana terbalik',
'sapi':'Hewan kurban',
'suka':'akus dibalik',
'nona':'panggilan wanita',
'lapar':'Yang dirasakan saat puasa',
'susu':'sapi menghasilkan',
'nano':'super kecil',
'alami':'berasal dari alam'}
#fungsi tampilan yang akan memberitahukan cara main
def Intro():
print('SELAMAT DATANG DI TEKA TEKI SILANG OLA-OLE\n')
print('TEKA TEKI SILANG INI BERHADIAH 5 MILYAR!\n')
print('COCOK KAN DENGAN PETUNJUK YANG ADA\n')
print('SELAMAT MENCOBA DAN JANGAN PATAH SEMANGAT')
print('TENANG SAJA, JIKA KAMU TIDAK BISA MAKA AKAN DIBANTU\n')
#Fungsi pemilihan kata yang akan digunakan dari daftar dictionary, kemudian diacak menjadi junggle
def getWord(word):
wordKey = random.choice(list(word.keys()))
return wordKey
#Fungsi definisi kata agar pemain mendapatkan bantuan ketika salah dalam memainkan permainan
#FUNGSI INPUT DATA PERTAMA MASUKAN DARI PEMAIN
def getGuess1():
guess = input('\nSILAKAN TEBAK KATA APAKAH INI: ')
while True:
if guess.isalpha():
return guess
else:
guess = input('\nSILAKAN MASUKKAN KATA APAKAH INI: ')
#FUNGSI BILA PEMAIN SALAH KEMUDIAN MEMASUKKAN DATA INPUT YANG KEDUA
def getGuess2():
guess = input('\nMASUKKAN TEBAKAN KEDUAMU: ')
while True:
if guess.isalpha():
return guess
else:
guess = input('\nSILAKAN MASUKKAN KATA APAKAH INI: ')
#APABILA KESEMPATAN KEDUA SALAH MAKA MEMASUKKAN DATA KETIGA, DENGAN FUNGSI INPUT
def getGuess3():
guess = input('\nWOW, KESEMPATAN TERAKHIR! SILAKAN MASUKKAN KATA APAKAH INI: ')
while True:
if guess.isalpha():
return guess
else:
guess = input('\nSILAKAN MASUKKAN KATA APAKAH INI: ')
#MENDEFINISIKAN FUNGSI BANTUAN
def cheatCode(yes, werd):
x = werd[0]
y = werd[1]
print(x, end = '')
print(y)
return x, y
#==============================PROGAM UTAMA======================================#
#MENGENALKAN FUNGSI VARIABEL Y, DAN LOOPING PADA PERMAINAN.
ans = 'y'
guesses = 0
while ans == 'y':
Intro()
w0rd = getWord(words)
#DEFINISI FUNGSI KATA ACAK
scramWord = list(w0rd)
#FUNGSI ACAK KATA
random.shuffle(scramWord)
#FUNGSI PENAMPIL KATA PADA TAMPILAN AWAL
sWord = ''.join(scramWord)
print('KATA YANG HARUS KAMU TEBAK DALAM TEKA TEKI SILANG ADALAH ' +sWord)
#APABILA JAWABAN DARI PEMAIN BENAR MAKA AKAN menampilkan
guessed = getGuess1()
if guessed == w0rd:
print('SELAMAT BOSKUU! ANDA MENDAPAT 5 MILYAR RUPIAH!')
ans = 'y'
if guessed != w0rd:
print('MAAF BOS, KATA YANG ANDA MASUKKAN SALAH')
#TAWARAN FUNGSI PENAMPIL BANTUAN
guesses = guesses + 1
cheat = input('MAU MENERIMA SEDIKIT BANTUAN? [y/n] ')
if cheat == 'y' or cheat == 'Y':
cheatInput = input('KETIK "HELPME ATAU HELP": ')
cheatCode(cheatInput, w0rd)
#JIKA JAWABAN KEDUA BENAR MAKA AKAN DITAMPILKAN
guessed2 = getGuess2()
if guessed2 == w0rd:
print('SELAMAT BOSKUU! ANDA MENDAPAT 5 MILYAR RUPIAH!')
ans = 'y'
if guessed2 != w0rd:
print('MAAF BOS, KATA YANG ANDA MASUKKAN SALAH')
guesses = guesses + 1
cheat = input('MAAF BOS, KATA YANG ANDA MASUKKAN SALAH, COBA LAGI? ')
if cheat == 'y' or cheat == 'Y':
cheatInput = input('KETIK "HELPME ATAU HELP"')
cheatCode(cheatInput, w0rd)
#FUNGSI PENAMPIL KATA BANTUAN JIKA JAWABAN KEDUA SALAH
while guesses == 2:
hint = words[w0rd]
print('BANTUAN DATANGG ===> '+hint)
guesses = guesses + 1
guessed3 = getGuess3()
if guessed3 == w0rd:
print('\nSELAMAT BOSKUU! ANDA MENDAPAT 5 MILYAR RUPIAH\n')
else:
if guessed3 != w0rd:
print('\nMAAF TEBAKANMU MASIH SALAH, INI YANG BENAR \''+w0rd+'\'\ SEMOGA LAIN KALI BENAR YA BOS')
guesses = 0
#KODE PENAWARAN MAIN LAGI ATAU TIDAK, LOOPING
print('\nAPAKAH KAMU MAU MAIN LAGI?[y/n]', end = ' ')
ans = input()
if ans == 'n' or ans == 'N':
print('\nSELAMAT TINGGAL, SEMOGA MAIN LAGI')
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment
SIlahkan berkomentar, mari berdiskusi. Untuk bantuan atau permintaan bisa email kami. Semoga bermanfaat :)