Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
496
Tıklama
0
Öne Çıkarma
Bu proje yeni başlayanlar için zor mu? Yoksa ben mi beceremedim?
T
5 yıl
Yarbay
Konu Sahibi

Udemy üzerinden Python kursu alıyorum. Daha önce yazılım geçmişim olmadı, bu projeye kadar pratikleri çatır çatır yapıyodum ve bir anda takılıp kaldım.Merak ettiğim bu proje cidden zorlayıcı mı yoksa çalıştığım konuları tekrar gözden mi geçirmeliyim? Kursun şuan %50'nini bitirmişim. Duruma göre bir süre (en azından 7-10 gün) kursa ara vererek ciddi manada tekrar yapmaya döneceğim.Kurs = 2020 Complete Python Bootcamp: From Zero to Hero in PythonNot: CodingBat sitesindeki soruları yapabiliyorum (yarısı bitti şimdiye kadar)Not 2: Eğer zorsa bana pratik için bir site önerir misiniz?SoruMilestone Project 1Your assignment: Create a Tic Tac Toe game. You are free to use any IDE you like.Here are the requirements:
  • 2 players should be able to play the game (both sitting at the same computer)
  • The board should be printed out every time a player makes a move
  • You should be able to accept input of the player position and then place a symbol on the board
Tamamen bağımsız bir şekilde çözemeyenler için adım adım neler yapmamız gerektiğini de başka bir dosyada göstermiş. Örnek olarak = https://ibb.co/Vxc4xqJFakat ben bu adımları söylemesine rağmen yine yapamadım. Neden bilmiyorum çook fazla kafam karıştı. Ha en son kodları inceleyince tamam bu bu işe yarıyor vs diyebiliyorum; fakat ilk başta 0 dan kendi aklımdan yazamıyorum.Kod Yığını
 def display_board(board):
    print('   |   |   ')
    print(' ' + board[7] + ' | ' + board[8] + ' | ' + board[9])
    print('   |   |   ')
    print('-----------')
    print('   |   |   ')
    print(' ' + board[4] + ' | ' + board[5] + ' | ' + board[6])
    print('   |   |   ')
    print('-----------')
    print('   |   |   ')
    print(' ' + board[1] + ' | ' + board[2] + ' | ' + board[3])
    print('   |   |')

def player_input():
    marker = ''
    while not (marker=="X" or marker=="O"):
        marker = input('Player 1: Do you want to be X or O? ').upper()
    if marker == 'X':
        return ("X","O")
    else:
        return ("O","X")

def place_marker(board, marker, position):
    board[position] = marker

def win_check(board,mark): 
    return ((board[7] == mark and board[8] == mark and board[9] == mark) or # across the top
    (board[4] == mark and board[5] == mark and board[6] == mark) or # across the middle
    (board[1] == mark and board[2] == mark and board[3] == mark) or # across the bottom
    (board[7] == mark and board[4] == mark and board[1] == mark) or # down the middle
    (board[8] == mark and board[5] == mark and board[2] == mark) or # down the middle
    (board[9] == mark and board[6] == mark and board[3] == mark) or # down the right side
    (board[7] == mark and board[5] == mark and board[3] == mark) or # diagonal
    (board[9] == mark and board[5] == mark and board[1] == mark)) # diagonal

import random

def choose_first():
    if random.randint(0, 1) == 0:
        return 'Player 2'
    else:
        return 'Player 1'

def space_check(board, position):
    
    return board[position] == ' '

def full_board_check(board):
    for i in range(1,10):
        if space_check(board, i):
            return False
    return True

def player_choice(board):
    position = 0
    
    while position not in [1,2,3,4,5,6,7,8,9] or not space_check(board, position):
        position = int(input('Choose your next position: (1-9) '))
        
    return position

def replay():
    return input('Do you want to play again? Enter Yes or No: ').lower().startswith('y')

print('Welcome to Tic Tac Toe!')


while True:
    # Reset the board
    theBoard = [' '] * 10
    player1_marker, player2_marker = player_input()
    turn = choose_first()
    print(turn + ' will go first.')
    
    play_game = input('Are you ready to play? Enter Yes or No.')
    
    if play_game.lower()[0] == 'y':
        game_on = True
    else:
        game_on = False


    while game_on:
        if turn == 'Player 1':
            # Player1's turn.
            
            display_board(theBoard)
            position = player_choice(theBoard)
            place_marker(theBoard, player1_marker, position)


            if win_check(theBoard, player1_marker):
                display_board(theBoard)
                print('Congratulations! You have won the game!')
                game_on = False
            else:
                if full_board_check(theBoard):
                    display_board(theBoard)
                    print('The game is a draw!')
                    break
                else:
                    turn = 'Player 2'


        else:
            # Player2's turn.
            
            display_board(theBoard)
            position = player_choice(theBoard)
            place_marker(theBoard, player2_marker, position)


            if win_check(theBoard, player2_marker):
                display_board(theBoard)
                print('Player 2 has won!')
                game_on = False
            else:
                if full_board_check(theBoard):
                    display_board(theBoard)
                    print('The game is a draw!')
                    break
                else:
                    turn = 'Player 1'


    if not replay():
        break





< Bu mesaj bu kişi tarafından değiştirildi The Management -- 23 Eylül 2020; 17:31:5 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.