الكود اللي تحت هو لعبة XO (تيك تاك تو) بسيطة بلغة بايثون. اللعبة هذي تُلعب بين لاعبين،
ويهدف كل لاعب لعمل ثلاثة رموز متشابهة (X أو O) في صف، عمود، أو قطر على لوحة 3×3.
مميزات الكود:
- عرض اللوحة: الكود يعرض اللوحة بشكل بسيط باستخدام الرموز X وO، ويفصل بين الصفوف باستخدام خطوط.
- التحقق من الفائز: الكود يتحقق إذا كان فيه لاعب فاز، يعني إذا كان عنده ثلاث رموز على التوالي في أي صف، عمود، أو قطر.
- التحقق من التعادل: إذا كانت جميع الخلايا مليانة بدون فائز، الكود يعلن عن التعادل.
- تبديل اللاعبين: اللاعبين يلعبون بالتناوب، ويبدأ أحدهم بالـ X والآخر بالـ O.
def print_board(board):
for i in range(0, 9, 3):
print(” | “.join(board[i:i+3]))
if i < 6:
print("---------")
def check_winner(board, player):
win_conditions = [
[0, 1, 2], [3, 4, 5], [6, 7, 8], # Rows
[0, 3, 6], [1, 4, 7], [2, 5, 8], # Columns
[0, 4, 8], [2, 4, 6] # Diagonals
]
for condition in win_conditions:
if board[condition[0]] == board[condition[1]] == board[condition[2]] == player:
return True
return False
def is_full(board):
return ' ' not in board
def main():
board = [' '] * 9 # Empty board
current_player = 'X' # X starts first
while True:
print_board(board)
try:
move = int(input(f'Player {current_player}, choose a position (1-9): ')) - 1
if 0 <= move < 9 and board[move] == ' ':
board[move] = current_player
if check_winner(board, current_player):
print_board(board)
print(f'Player {current_player} wins!')
break
if is_full(board):
print_board(board)
print('It\'s a tie!')
break
current_player = 'O' if current_player == 'X' else 'X'
else:
print('Invalid move! Choose an empty position between 1 and 9.')
except (IndexError, ValueError):
print('Invalid input! Please enter a number between 1 and 9.')
print("Thanks for playing! Feel free to run the game again for another round.")
if __name__ == "__main__":
main()
كيف تلعب ؟
اللاعب يختار رقم من 1 إلى 9 ليدخل الرمز في الخانة اللي يحبها.
اللعبة تستمر حتى يفوز أحد اللاعبين أو تكون جميع الخانات مليانة وتعادل.
كده صارت عندك لعبة XO (تيك تاك تو) جاهزة بلغة بايثون! هالشرح يبيّن لك كيف تبني لعبة بسيطة، تعلمك أساسيات البرمجة زي التعامل مع القوائم والتحقق من الشروط.
قمت بكتابة تعليقك برأيك
قسم التعليقات