Как и в предыдущем техническом блоге, мы создали доску для нашей игры, поэтому теперь пришло время для столкновения. Но прежде чем начинать гонку, давайте просто посмотрим, как на самом деле выглядит наша доска, мы уже написали код для платы, если у вас есть сомнения, вы можете посетить блог под названием «В игру..часть первая», для которого дана ссылка ниже:



Здесь я прикрепил ссылку на видео, которое покажет вам, как всплывает окно с черепахой, когда мы вызываем функцию. Он сильно отличается от других графических интерфейсов, а также довольно увлекателен тем, как он выглядит, поэтому я подумал о том, чтобы поделиться этим небольшим видео. Мое имя функции, а также имя файла на видео - «g».

Https://vimeo.com/229100867

Я использовал пробную версию программного обеспечения под названием Free Screen Recorder, поэтому виден водяной знак (www.thundershare.net), он не имеет ничего общего с нашим кодом.

Теперь все готово, поэтому вот инструкции, которым мы должны следовать в нашей гонке:

В этой игре будет 2 игрока: Игрок 1 и Игрок 2.

Игрок 1 окрашен в зеленый цвет, а Игрок 2 - в красный.

У каждого игрока будет возможность бросить кубик, и в зависимости от числа он продвинется вперед.

Конечная точка устанавливается на расстоянии 200 очков, поэтому побеждает тот, кто первым преодолеет расстояние в 200 очков.

Пока один из них не достигнет конечной точки, оба игрока будут поочередно бросать кости.

Из последнего пункта ясно, что наш цикл должен выполняться все время и остановится только в том случае, если один из них прошел расстояние более 200. Итак, один из способов запуска бесконечного цикла:

в то время как (1):

Не только 1, если любое ненулевое число помещается в условие while, наш цикл будет выполняться бесконечное количество раз. Теперь, когда наш цикл работает непрерывно, как его остановить? Простой ответ - оператор break, такой же, как мы использовали в C / C ++. Оператор break просто разорвет цикл, и мы сможем определить победителя в нашей гонке, выйдя из цикла. Это был обзор нашей программы, теперь давайте шаг за шагом кодируем и определяем победителя.

Итак, в основном мы должны сделать 5 вещей - получить ввод от пользователя (эквивалентно бросанию кости) - сгенерировать случайное число - переместить игрока вперед на это число - вычислить расстояние - если расстояние

  1. Ввод от пользователя будет не чем иным, как клавишей «ввод». Пользователь просто должен нажать клавишу ввода, и номер должен напечатать, показывая, что у вас есть «X». Мы можем проверить, является ли наш ввод ключом ввода:

k = input ()
если (k == ’’)

Здесь мы не проверяем неправильный ввод, так как это программа базового уровня. Мы можем внести все эти улучшения позже для более эффективного кода.

2. Чтобы сгенерировать случайное число, мы должны сначала импортировать случайное число, а затем мы можем использовать встроенную функцию с именем randint (a, b) для получения случайного числа:

импорт случайный;
a = random.randint (1,6)

Он будет генерировать случайные числа от 1 до 6, как и наши кости.

3. Теперь мы должны переместить нашего игрока вперед на это расстояние, но в нашем плане черепахи расстояние от 1 до 6 очень мало. Итак, мы умножим наше случайное число на 10, а затем переместим нашу черепаху вперед на это число, чтобы оно было видно:

turtle.fd (а * 10)

4. Для расчета расстояния мы инициализируем две переменные как 0 для каждого игрока. Затем, в зависимости от случайного числа, мы продолжим увеличивать расстояние:

s=0,t=0
s=s+(a*10)
t=t+(b*10)

5. Теперь нам нужно просто проверить, больше ли какая-либо из сумм расстояний 200 или нет, если да, то этот игрок является победителем. Имя победителя должно быть напечатано и программа должна завершиться, иначе весь процесс снова повторится.

if (s ›200):
print (« игрок 1 выигрывает »)
break;

Итак, объединив все состояния и поместив их в цикл while, наша программа будет выглядеть так:

Итак, кто станет победителем, перейдите по ссылке ниже и узнайте, кто выиграл первую гонку в этом столкновении. Вы можете добавить свои имена, некоторые условия для ввода, вы можете изменить трек и т. Д. Я только что дал вам скорость, теперь вам решать, нужно ли вам ускоряться или останавливаться, продолжайте пробовать что-то, пожалуйста, проверьте видео и всегда продолжайте кодировать…

Https://vimeo.com/229113178