Vishwas1 commited on
Commit
c7fb69f
·
verified ·
1 Parent(s): ca7fb07

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -19
app.py CHANGED
@@ -14,14 +14,12 @@ def update_player_position(player_pos, dice, board, message_placeholder):
14
  if player_pos in board:
15
  player_pos = board[player_pos]
16
  if player_pos > original_pos:
17
- message = "Yay! You climbed a ladder. "
18
  elif player_pos < original_pos:
19
- message = "Oops! You encountered a snake. "
20
- if message:
21
- with message_placeholder:
22
- st.write(message)
23
- time.sleep(2)
24
- message_placeholder.empty()
25
  return player_pos
26
 
27
  def draw_board(player_position, board):
@@ -29,15 +27,13 @@ def draw_board(player_position, board):
29
  board_size = 10
30
  board_squares = []
31
  for i in range(100):
32
- row = i // board_size
33
  col = i % board_size
34
- square_number = i + 1
35
 
36
- # Adjust the number according to the row odd or even
 
37
  if row % 2 == 1:
38
- square_number = (row * board_size) + (board_size - col)
39
- else:
40
- square_number = (row * board_size) + col + 1
41
 
42
  square_content = str(square_number)
43
  if square_number in board:
@@ -51,6 +47,7 @@ def draw_board(player_position, board):
51
  square_style = "background-color: red; padding: 10px; border: 1px solid black; text-align: center; color:white; font-weight: bold;"
52
  board_squares.append(f"<div style='{square_style}'>{square_content}</div>")
53
 
 
54
  # create a layout of 10 rows each with 10 columns
55
  for row in range(board_size):
56
  cols = st.columns(board_size)
@@ -58,6 +55,7 @@ def draw_board(player_position, board):
58
  cols[col].markdown(board_squares[(row * board_size) + col], unsafe_allow_html=True)
59
 
60
 
 
61
  def snake_and_ladder():
62
  st.title("Snake and Ladder Game")
63
 
@@ -79,7 +77,6 @@ def snake_and_ladder():
79
  player_pos = st.session_state.player_pos
80
 
81
  message_placeholder = st.empty()
82
- draw_board(player_pos, board)
83
 
84
  if player_pos < 100:
85
  if st.button("Roll Dice"):
@@ -90,18 +87,16 @@ def snake_and_ladder():
90
 
91
  if player_pos > 100:
92
  player_pos -= dice
93
- with message_placeholder:
94
- st.write("You need to get to 100 to win, Try Again!")
95
- time.sleep(2)
96
- message_placeholder.empty()
97
  else:
98
  st.write(f"Your position is {player_pos}")
99
 
100
  st.session_state.player_pos = player_pos
101
  st.rerun()
102
  else:
103
- st.success("Congratulations! You won!")
104
  if st.button("Play Again"):
105
  st.session_state.player_pos = 1
106
  st.rerun()
 
107
  snake_and_ladder()
 
14
  if player_pos in board:
15
  player_pos = board[player_pos]
16
  if player_pos > original_pos:
17
+ message = "Yay! You climbed a ladder."
18
  elif player_pos < original_pos:
19
+ message = "Oops! You encountered a snake."
20
+
21
+ message_placeholder.write(message)
22
+
 
 
23
  return player_pos
24
 
25
  def draw_board(player_position, board):
 
27
  board_size = 10
28
  board_squares = []
29
  for i in range(100):
30
+ row = (99 - i) // board_size # Reversed row calculation
31
  col = i % board_size
 
32
 
33
+ # Adjust numbering for snake-ladder layout, start from bottom left
34
+ square_number = (row * board_size) + col + 1
35
  if row % 2 == 1:
36
+ square_number = (row * board_size) + (board_size - col)
 
 
37
 
38
  square_content = str(square_number)
39
  if square_number in board:
 
47
  square_style = "background-color: red; padding: 10px; border: 1px solid black; text-align: center; color:white; font-weight: bold;"
48
  board_squares.append(f"<div style='{square_style}'>{square_content}</div>")
49
 
50
+
51
  # create a layout of 10 rows each with 10 columns
52
  for row in range(board_size):
53
  cols = st.columns(board_size)
 
55
  cols[col].markdown(board_squares[(row * board_size) + col], unsafe_allow_html=True)
56
 
57
 
58
+
59
  def snake_and_ladder():
60
  st.title("Snake and Ladder Game")
61
 
 
77
  player_pos = st.session_state.player_pos
78
 
79
  message_placeholder = st.empty()
 
80
 
81
  if player_pos < 100:
82
  if st.button("Roll Dice"):
 
87
 
88
  if player_pos > 100:
89
  player_pos -= dice
90
+ message_placeholder.write("You need to get to 100 to win, Try Again!")
 
 
 
91
  else:
92
  st.write(f"Your position is {player_pos}")
93
 
94
  st.session_state.player_pos = player_pos
95
  st.rerun()
96
  else:
97
+ message_placeholder.success("Congratulations! You won!")
98
  if st.button("Play Again"):
99
  st.session_state.player_pos = 1
100
  st.rerun()
101
+ draw_board(player_pos, board)
102
  snake_and_ladder()