Anda di halaman 1dari 7

UAS ALPRO PRAKTIKUM PROGRAM ULAR TANGGA

NAMA : ARI PRASETYO WIBOWO


NIM : 082011633083

FAKULTAS SAINS DAN TEKNOLOGI


PRODI SISTEM INFORMASI
UNIVERSITAS AIRLANGGA
2021
Buatlah program permainan Ular Tangga dengan menggunakan bahasa pemrograman Java atau Phyton dan
menentukan pemain yang menang.

Aturan permainan:

1. Tujuan permainan adalah mencapai kotak terakhir secepat-cepatnya. Pemain yang pertama mencapai
tepat kotak terakhir (kotak ke-100) dinyatakan sebagai pemenang
2. Permainan dilakukan dengan melempar dadu dan melangkah kotak demi kotak sesuai dengan angka
yang muncul pada dadu
3. Pemain yang akan mencapai kotak 100, namun mendapatkan dadu dengan nilai lebih dari 100, harus
berjalan mundur sebanyak angka kelebihannya
Misalkan posisi pemain saat ini 98, melakukan lemparan dan mendapat dadu angka 5, maka dia harus
jalan maju 2 langkah ke posisi 100 dan mundur 3 langkah, sehingga posisi pemain berada di kotak 97
4. Pertama kali masing-masing pemain harus melempar dadu untuk menentukan urutan pemain, pemain
dengan nilai dadu terbesar boleh jalan lebih dahulu
5. Apabila pemain berhenti di ujung Tangga, maka pemain boleh menaiki tangga
6. Apabila pemain berhenti di kepala Ular, maka pemain harus turun sampai ujung ekor ular
7. Pemain yang mendapat dadu angka 6, mendapatkan giliran jalan lagi
Ketentuan Program:

1. Board Ular Tangga terdiri dari 100 petak, bisa digunakan array untuk menandai nomor-nomor petak
2. Pemain terdiri dari 2 orang
3. Lemparan dadu bisa menggunakan math random
4. Posisi Tangga dan Ular ditentukan sebagai berikut:
Tangga={(3,21), (8,30), (28, 84), (58,77), (75,86), (80,100), (90,91)}
Ular={(17,12), (52,29), (57,40), (62,22), (88,18), (95,51), (97,79)}
Pasangan nilai tersebut menunjukkan posisi kotak pemain dan kotak akhir yang dituju, misalkan: Tangga
(3,21) artinya posisi pemain di kotak 3, naik ke posisi kotak 21
5. Program menghasilkan output: Pemain yang menang dan posisi pemain tiap langkah
Misal: Time 0
Pemain 1 posisi = 0
Pemain 2 posisi = 0
Time 1
Dadu = 3
Pemain 1 posisi = 3

Pemain 2 posisi = 0

Time 2
Di Sini saya menggunakan Bahasa Phyton untuk menyelesaikan soal tersebut berikut adalah Source
code nya :

import random
#Untuk memasukan nama pemain
nama1 =str(input('Siapa nama = '))
nama2 = str (input ('Siapa nama = '))
#Pengundian untuk meenentukan siapa terlebih dahulu
print ("Di undi dulu ")
undi1 = random.randint(1,6)
print ("Hasil undi player ke 1 =",undi1)
undi2 = random.randint(1,6)
print ("Hasil undi player ke 2 =",undi2)
if undi1>undi2:
player1 = nama1
player2 = nama2
else:
player1 = nama2
player2 = nama1
print("")
print ("Times = 0")
print("Angka dadu = 0")
print (player1,"Kamu ada di 0")
print("")
print("Angka Dadu = 0")
print(player2,"Kamu ada di 0")
menang = False
posisi = 0
posisiB = 0

#Function untuk mengacak dadu


def roll_die():
roll = random.randint(1, 6)
return roll

#Function untuk menentukan dimana saja ular dan tangga


def angkaadadu(dadu):
angka = roll_die()
print ("Angka dadu = ", angka)
dadu = dadu+angka
#Misalkan pemain mendapat dadu 3 dia masuk ke kotak ke 3 dan akan ada tangga y
ang membuat dia naik ke 21
#Ini adalah ketentuan untuk tangga dan ular
if dadu == 3:
print ("Ada tangga ")
return 21
elif dadu == 8:
print ("Ada tangga ")
return 30
elif dadu == 28:
print("Ada tangga")
return 84
elif dadu == 58:
print("Ada Tangga")
return 77
elif dadu == 75:
print ("Ada tangga")
return 86
elif dadu == 80:
print ("Ada tangga")
return 100
elif dadu == 90:
print ("Ada Tangga")
return 91
elif dadu == 17:
print ("Ada Ular ")
return 12
elif dadu == 52:
print ("Ada ular ")
return 29
elif dadu == 57:
print ("Ada ular ")
return 40
elif dadu == 62:
print ("Ada ular ")
return 22
elif dadu == 88:
print ("Ada ular ")
return 18
elif dadu == 95:
print ("Ada ular ")
return 51
elif dadu == 97:
print ("Ada ular ")
return 79
else:
return dadu

i =0
#While ini akan terus berjalan jika kondisi nya = False
#Di sini akan menampilkan dimana poisis para player berada
while menang == False:
print ("==================")
i += 1
print ("Times =",i)
posisi = angkaadadu(posisi)
print(player1,"Kamu ada di ",posisi)
print("-------------")
if posisi<100:
menang = False
posisiB =angkaadadu(posisiB)
print(player2,"Kamu ada di",posisiB)
#Syarat masuk finish Player 2
if posisiB>100:
posisiB = 100-(posisiB-100)
if posisiB<100:
menang = False
if posisiB==100:
menang = True
print(player2,"Selamat Kamu menang")
#Syarat Player 1 untuk finish
if posisi>100:
posisi = 100-(posisi-100)
if posisi==100:
menang = True
print(player1,"Selamat Kamu menang")

di sini saya mnecoba untuk mengerjakan tidak menggunakan array dan berikut adalah output dari
program yang telah saya buat
nanti jika player 1 maupun player 2 terkena ular atau mendapatkan tangga ada notifikasi bahwa
berupa : jika mendaat tangga “Ada tangga” jika mendapat ular “Ada ular”

untuk ketentuan ketentuan pada soal sudah saya cantumkan pada comment di source code milik saya

Berikut hasil akhir Dapat di tampilkan siapa pemenang dalam program ular tangga :

Anda mungkin juga menyukai