Indonesia adalah negara dengan berbagai budaya dan tradisi, salah satunya adalah permainan Snake dan Ladder. Permainan ini telah menjadi bagian dari kehidupan sehari-hari masyarakat Indonesia, terutama di kalangan anak-anak dan remaja.
Sejarah Permainan Snake dan Ladder
Permainan Snake dan Ladder berasal dari India, yang dikenal sebagai "Saap-Sidi". Permainan ini pertama kali diperkenalkan oleh para pedagang dan pujangga Hindu pada zaman dahulu. Permainan ini sangat populer di India dan dikategorikan sebagai bagian dari kebudayaan rakyat.
Perbedaan dengan Ludo
Permainan Snake dan Ladder memiliki perbedaan signifikan dengan Ludo, yaitu game lain yang juga berasal dari India. Perbedaan utama antara keduanya adalah adanya unsur ular (Snake) dan anak panah (Ladder) di dalam permainan Snake dan Ladder.
Ciri-Ciri Permainan Snake dan Ladder
Permainan Snake dan Ladder memiliki beberapa ciri-ciri yang membuatnya menjadi sangat menarik. Beberapa ciri-cirinya adalah:
- Permainan ini dimainkan oleh 2-6 orang.
- Masing-masing pemain mempunyai tujuan untuk mencapai garis finish terakhir, yaitu nomor 100.
- Setiap langkah yang diambil akan berpengaruh pada hasil akhir permainan.
- Terdapat unsur keberuntungan dan strategi dalam permainan ini.
Contoh Kode Java Snake dan Ladder
Berikut adalah contoh kode Java untuk permainan Snake dan Ladder:
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
class SnakeNLadder {
final static int WINPOINT = 100;
static Map<Integer, Integer> snake = new HashMap<>();
static Map<Integer, Integer> ladder = new HashMap<>();
{
snake.put(99, 54);
snake.put(70, 55);
snake.put(52, 42);
snake.put(25, 2);
snake.put(95, 72);
ladder.put(6, 25);
ladder.put(11, 40);
ladder.put(60, 85);
ladder.put(46, 90);
ladder.put(17, 69);
}
public int rollDice() {
int n = 0;
Random r = new Random();
n = r.nextInt(7);
return (n == 0 ? 1 : n);
}
public int calculatePlayerValue(int player, int diceValue) {
player = player + diceValue;
if (player > WINPOINT) {
player = player - diceValue;
return player;
}
if (snake.get(player) != null) {
System.out.println("swallowed by snake");
player = snake.get(player);
}
if (ladder.get(player) != null) {
System.out.println("climb up the ladder");
player = ladder.get(player);
}
return player;
}
public boolean isWin(int player) {
return WINPOINT == player;
}
public void startGame() {
int player1 = 0, player2 = 0;
int currentPlayer = -1;
Scanner s = new Scanner(System.in);
String str;
int diceValue = 0;
do {
System.out.println(currentPlayer == -1 ? "\n\nFIRST PLAYER TURN" : "\n\nSECOND PLAYER TURN");
System.out.println("Press r to roll Dice");
str = s.next();
diceValue = rollDice();
if (currentPlayer == -1) {
player1 = calculatePlayerValue(player1, diceValue);
System.out.println("First Player :: " + player1);
System.out.println("Second Player :: " + player2);
System.out.println("------------------");
if (isWin(player1)) {
System.out.println("First player wins");
return;
}
} else {
player2 = calculatePlayerValue(player2, diceValue);
System.out.println("First Player :: " + player1);
System.out.println("Second Player :: " + player2);
System.out.println("------------------");
if (isWin(player2)) {
System.out.println("Second player wins");
return;
}
}
currentPlayer = -currentPlayer;
} while ("r".equals(str));
}
}
Permainan Snake dan Ladder telah menjadi bagian dari kehidupan sehari-hari masyarakat Indonesia. Permainan ini sangat menarik karena memiliki unsur keberuntungan dan strategi, serta dapat dimainkan oleh orang-orang berbagai umur. Dalam artikel ini, kami juga telah menampilkan contoh kode Java untuk permainan Snake dan Ladder, yang dapat dijadikan referensi bagi para pengembang game dan programmer.