В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
tatyanabelousova
tatyanabelousova
15.12.2022 12:27 •  Информатика

Сделать рестарт в змейке
from tkinter import *
import random

# переменные

width = 800
height = 600
seg_size = 20
in_game = true

# функции
def create_block():
""" создаем еду для змейки"""
global block
posx = seg_size * random.randint(1, (width-seg_size) / seg_size)
posy = seg_size * random.randint(1, (height-seg_size) / seg_size)
block = c.create_oval(posx, posy,
posx+seg_size, posy+seg_size,
fill="red")

class score(object):

def ):
self.score = 0
self.x = 55
self.y = 15
c.create_text(self.x, self.y, text = " score {}".format(self.score), font="arial 20", fill="white",tag="score")

def increment(self):
c.delete("score")
self.score += 1
c.create_text(self.x, self.y, text = " score {}".format(self.score), font="arial 20", fill="white", tag="score")

def main():
""" моделируем игровой процесс """
global in_game
if in_game:
s.move()
head_coords = c.coords(s.segments[-1].instance)
x1, y1, x2, y2 = head_coords
# проверяем на столкновения с границами игрового поля
if x2 > width or x1 < 0 or y1 < 0 or y2 > height:
in_game = false
# поедание яблока
elif head_coords == c.coords(block):
s.add_segment()
c.delete(block)
create_block()

# поедание себя
else:
for index in range(len(s.segments)-1):
if head_coords == c.coords(s.segments[index].instance):
in_game = false
root.after(100, main)
# не in_game -> останавливаем игру и выводим сообщение
else:
c.create_text(width/2, height/2,
text="game over! ",
font="arial 20",
fill="yellow")

class segment(object):
""" сегмент змейки """
def , x, y):
self.instance = c.create_rectangle(x, y,
x+seg_size, y+seg_size,
fill="yellow")

class snake(object):
""" класс змейки """
def , segments):
self.segments = segments
# варианты движения
self.mapping = {"down": (0, 1), "right": (1, 0),
"up": (0, -1), "left": (-1, 0)}
# инициируем направление движения
self.vector = self.mapping["right"]

def move(self):
""" движение змейки в заданном направлении"""
for index in range(len(self.segments)-1):
segment = self.segments[index].instance
x1, y1, x2, y2 = c.coords(self.segments[index+1].instance)
c.coords(segment, x1, y1, x2, y2)

x1, y1, x2, y2 = c.coords(self.segments[-2].instance)
c.coords(self.segments[-1].instance,
x1+self.vector[0]*seg_size, y1+self.vector[1]*seg_size,
x2+self.vector[0]*seg_size, y2+self.vector[1]*seg_size)

def add_segment(self):
""" добавляем сегмент змейки """
score.increment()
last_seg = c.coords(self.segments[0].instance)
x = last_seg[2] - seg_size
y = last_seg[3] - seg_size
self.segments.insert(0, segment(x, y))

def change_direction(self, event):
""" выбор направления змейки """
if event.keysym in self.mapping:
self.vector = self.mapping[event.keysym]

# настройки окна
root = tk()
root.title("snake")

c = canvas(root, width=width, height=height, bg="#80")
c.grid()
# настройка нажатия клавиш
c.focus_set()
# создаем сегменты и саму змейку
segments = [segment(seg_size, seg_size),
segment(seg_size*2, seg_size),
segment(seg_size*3, seg_size)]

score = score()
s = snake(segments)
# реакция на нажатие
c.bind("", s.change_direction)

create_block()
main()
root.mainloop()

Показать ответ
Ответ:
MostepanovaJanna
MostepanovaJanna
18.12.2022 21:55

ответ:Многие страны перешли на т.н. «информационное общество», некоторые – в процессе перехода, в зависимости от факторов, влияющих на то или иное население. Все меньше уделяется внимания  печатным изданиям: ученные говорят о том, что лет через 30 газеты, журналы, книги исчезнут с прилавков.

С одной стороны, электронные страницы – это хорошо, меньше вреда наносится окружающей среде, да и хранить большое количество информации легче и удобнее в электронном виде. С другой стороны – человечество становится все более зависимым от техники.

0,0(0 оценок)
Ответ:
ketivolkowa
ketivolkowa
27.12.2021 02:50

7)На координатной плоскости отмечены числа p,q и r.

Какая из разностей q-p, q-r, r-p отрицательная.

ответ: q-r такая из разниц будет отрицательная

8)

9)

х=±7

ответ :-7

10) Костя не выучил 4 билета всего 25 билетов

25-4=21

Вероятность что Кости попадется билет который он знает 21/25=0,84

13) 8х-3(х+9)≥-9

8х-3х-27≥-9

8х-3х≥-9+27

5х≥18

х≥18/15

х≥3,6

ответ: [3,6;∞) №1

14) 1 минута образуется осадок 0,2 грамма

а1=0,2 гр

а7= неизвестная переменная

d = 0,5 - на столько каждую минуту увеличивается масса осадка.

Формула n-ого члена арифметической прогрессии выглядит так:

аn = a1 + d(n - 1).

Подставляем данные величины:

а7 = 0,2 + 0,2(7 - 1) = 0,2 + 1,2= 1,4грамма

ответ: 1,4 грамма

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота