Найти - Пользователи
Полная версия: GhostGame
Начало » Python для новичков » GhostGame
1
Leo04
#Помогите сделать так, чтобы не всегда создавалось только по
одному призраку, пускай, создается два или три призрака.
 [/import random
print('GhostGame')
print()
flag = 'Yes'
while flag == 'Yes':
    userScore = 0
    userChoice = 0
    doorCount = int(input('Enter the number of door: '))
    ghostIndex = 0
    while True:
        for i in range (doorCount):
            print('__[' + str(i+1)+']__', end = '')
        print()
        userChoice = int(input('Choose your door from 1 to ' + str(doorCount)+': '))
        ghostIndex = random.randint(1, doorCount)
        print()
        print('Ghost is here: ')
        for i in range (doorCount):
            if i+1 != ghostIndex:
                print('__[   ]__', end = '')
            else:
                print('__[ X ]__', end = '')
        print()
        print('You is here: ')
        for i in range(doorCount):
            if i + 1 != userChoice:
                print('__[   ]__', end='')
            else:
                print('__[ O ]__', end='')
        if userChoice == ghostIndex:
            break
        else:
            userScore += 1
            print()
            print(userScore)
    print()
    print('Game over')
    print('Your score:', + userScore)
    flag = input('Would you like to play agaim ?' + ' Yes or No ')
    i = 0]
spikejke
Спасибо поиграл ))
 import random
print('GhostGame')
print()
flag = 'Yes'
while flag == 'Yes':
    userScore = 0
    userChoice = 0
    doorCount = int(input('Enter the number of door: '))
    ghostIndex = [] #1 Создаем список 
    while True:
        for i in range (doorCount):
            print('__[' + str(i+1)+']__', end = '')
        print()
        userChoice = int(input('Choose your door from 1 to ' + str(doorCount)+': '))
        for _ in range(2): #2 Добавляем 2 призраков 
            ghostIndex.append(random.randint(1, doorCount))
        print()
        print('Ghost is here: ')
        for i in range (doorCount):
            if i+1 not in ghostIndex: #3 Проверяем результат на вхождение 
                print('__[   ]__', end = '')
            else:
                print('__[ X ]__', end = '')
        print()
        print('You is here: ')
        for i in range(doorCount):
            if i + 1 != userChoice:
                print('__[   ]__', end='')
            else:
                print('__[ O ]__', end='')
        if userChoice in ghostIndex: #4 Если выбор пользователя пал на значения в списке, выходим.
            break
        else:
            ghostIndex.clear() #5  Убиваем призраков дабы не плодить их на доске
            userScore += 1
            print()
            print(userScore)
    print()
    print('Game over')
    print('Your score:', + userScore)
    flag = input('Would you like to play agaim ?' + ' Yes or No ')
Leo04
Спасибо тебе огромное !


Vladimirv
Тоже сыграл. Заметил следующие косяки:
1 отсутствие дружелюбия в “интерфейсе”, каждый раз вводить “Yes”, заметьте с большой буквы, чтобы сыграть еще разок.
2 программу легко хакнуть или читить в ней, читайте как кому нравится, вводя номер не существующей двери и постоянно выигрывать.
3 ghost должно генерироваться 2, но если выпадают одинаковые номера, то отображается на экране 1. Думаю, что они не должны тусоваться вместе по стратегическим соображениям Если все же так задумано, то нужно отображать 2 “X” за 1 дверью.
4 ввод числа дверей нужно ограничить, меньше 3 не имеет смысла, более 8 не поместятся на экране.
5 при вводе всякой хрени, игра падает. Не порядок!

Пожелания) по улучшению игры:
игр сыграно может быть несколько, поэтому нужно ввести счетчик игр и вывести в конце лучший счет.

Это все легко исправить, если что могу помочь допилить.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB