IT-CUBE
Спроектируйте модель игры крестики-нолики. Для этого создайте двумерный (квадратный) список 3*3, заполните его минусами.
Выведите список построчно, без скобок и запятых
Будем в цикле имитировать ходы игроков.
Вводим ход первого игрока - координаты клетки, в которую он поставит свой крестик.
Проверяем, пустая ли клетка (они помечены минусами). Если клетка пустая, то устанавливаем в неё крестик, выводим сообщение, что игрок 1 походил в клетку с координатами … Выводим игровое поле. Проверяем, выиграл ли он. Если да, то выводим сообщение об этом и прерываем игру. Для досрочного выхода из цикла используем оператор break.
Если клетка, в которую попытался сходить игрок 1 была уже занята, ему нужно предоставить возможность сходить заново. Подсказка: можно считать количество состоявшихся ходов и по остатку от деления на 2 определять, какой игрок должен сейчас ходить. Не забудьте увеличить счётчик на 1, когда ход состоялся.
Если первый походил, но не выиграл, проводим аналогичную работу со вторым игроком, который играет ноликами.
Предусмотрите, чтобы в случае, когда игра заканчивается в ничью, игровой цикл прерывался с соответствующим сообщением.
field = [['-']*3 for i in range(3)]
for i in range(3):
print(*field[i])
hod=0
win=False
for i in range(100):
x=int(input('Введите номер строки'))-1
y=int(input('Введите номер столбца'))-1
if x<0 or x>2 and y<0 or y>2:
print('Введите корректные координаты')
continue
if field[x][y] !="-":
print('Клетка занята')
continue
if hod%2==0:
field[x][y]="x"
else:
field[x][y] = "o"
hod+=1
for i in field:
print()
for j in i:
print(j,end=' ')
print()
print()
for i in range(3):
if field[i][0]==field[i][1]==field[i][2]=='x' or field[0][i]==field[1][i]==field[2][i]=='x':
win=True
if win:
if hod%2==0:
print("Нолики")
else:
print("Крестики")
break
field = [[0]*40 for i in range(40)]
a = 3
b = 5
field[a][b] = field[a - 1][b] = field[a + 1][b + 1] = 1
for i in range(40):
print(*field[i], sep='')
for i in range(a-1, a + 2):
for j in range(b - 1, b + 2):
if field[i][j] == 0:
field[i][j] = "x"
elif field[i][j] == 1 and i == a and j == b:
field[i][j] = 2
print()
for i in range(40):
print(*field[i], sep='')
count = 0
for i in range(40):
for j in range(40):
if field[i][j] == 'x':
count += 1
print(count)
Шаблон программы Pygameimport pygame #импортируем библиотеку pygame
size=(600,400) #задаем размер окна
screen=pygame.display.set_mode(size) #инициализируем окно
pygame.display.set_caption(“Моя программа”) #название окна
img=pygame.image.load(“image.jpg”) #переменная для иконки
pygame.display.set_icon(img) #размещаем иконку в шапке нашего окна
while True: #создаем цикл событий
for event in pygame.event.get():
if event.type == pygame.QUIT: #закрытие экрана
quit() #закрытие экрана
import pygame
from ball import Ball
pygame.init()
W,H=1000,700
screen = pygame.display.set_mode(W,H)
clock=pygame.time.Clock()
FPS=60
speed=1
b1=Ball(W//2,'lib/fox.jpeg')
black=(0,0,0)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
screen.fill(black)
screen.blit(b1.image,b1.rect)
pygame.display.updade()
clock.tick(FPS)
if b1.rect.y<H-20:
b1.rect.y+=speed
else:
b1.rect.y=0
Крестики/ноликиimport pygame pygame.init() FPS = 60 clock = pygame.time.Clock() sfild = 100 otstup = 10 size = (sfild*3+otstup*4, sfild*3+otstup*4) okno = pygame.display.set_mode(size) pygame.display.set_caption('СТИХИЙНИКИ ОНЛАЙН ИГРАТЬ БЕЗ РЕКЛАМЫ И РЕГЕСТРАЦИИ') img1=pygame.image.load('icon.png') pygame.display.set_icon(img1) def win(a): global e global doo r = 0 if a[0][0] == r and a[0][1] == r and a[0][2] == r or a[1][0] == r and a[1][1] == r and a[1][2] == r or a[2][0] == r and a[2][1] == r and a[2][2] == r or a[0][0] == r and a[1][0] == r and a[2][0] == r or a[0][1] == r and a[1][1] == r and a[2][1] == r or a[0][2] == r and a[1][2] == r and a[2][2] == r or a[0][0] == r and a[1][1] == r and a[2][2] == r or a[0][2] == r and a[1][1] == r and a[2][0] == r: e = 1 print("нолики винеры") r = 'x' if a[0][0] == r and a[0][1] == r and a[0][2] == r or a[1][0] == r and a[1][1] == r and a[1][2] == r or a[2][0] == r and a[2][1] == r and a[2][2] == r or a[0][0] == r and a[1][0] == r and a[2][0] == r or a[0][1] == r and a[1][1] == r and a[2][1] == r or a[0][2] == r and a[1][2] == r and a[2][2] == r or a[0][0] == r and a[1][1] == r and a[2][2] == r or a[0][2] == r and a[1][1] == r and a[2][0] == r: e = 1 print("krestiki wineri") elif doo == 9: print('nu, loxi oba') def main(): global e global doo iq = 0 d1 = 0 d2 = 0 e = 0 doo = 0 a = [['-']*3 for _ in range(3)] # поле 50*50 r = True for j in range(3): for i in range(3): color = (255, 255, 255) pygame.draw.rect(okno, (color), (i*sfild + otstup*(i+1), sfild*j+otstup*(j+1), sfild , sfild)) while r: if e == 0: for event in pygame.event.get(): if event.type == pygame.QUIT: r = False if event.type == pygame.MOUSEBUTTONDOWN: x, y = pygame.mouse.get_pos() d1 = x // (sfild + otstup) d2 = y // (sfild + otstup) if iq == 0 and a[d2][d1] == '-': a[d2][d1] = 'x' iq = 1 elif a[d2][d1] == '-': a[d2][d1] = 0 iq = 0 else: print('лох, просрал ход на занятую клетку. Пошёл нахуй бот') doo += 1 win(a) okno.fill((0, 0, 0)) clock.tick(FPS) for j in range(3): for i in range(3): if a[j][i] == 'x': color = (0, 120, 250) pygame.draw.line(okno, (color), (i*sfild + otstup*(i+1)+sfild//10, sfild*j+otstup*(j+1)+sfild//10), (i*sfild + otstup*(i+1)+sfild-sfild//10, sfild*j+otstup*(j+1)+sfild-sfild//10), 10) pygame.draw.line(okno, (color), (i*sfild + otstup*(i+1)-sfild//10+sfild, sfild*j+otstup*(j+1)+sfild//10), (i*sfild + otstup*(i+1)+sfild+sfild//10-sfild, sfild*j+otstup*(j+1)+sfild-sfild//10), 10) elif a[j][i] == 0: color = (255, 0, 0) pygame.draw.circle(okno, (color), (i*sfild + otstup*(i+1) + sfild//2, sfild*j+otstup*(j+1) + sfild // 2), 50, 5) else: color = (255, 255, 255) pygame.draw.rect(okno, (color), (i*sfild + otstup*(i+1), sfild*j+otstup*(j+1), sfild , sfild)) #3-ий параметр - левый верхн угол, ширина и высота pygame.display.update() if e == 1: for event in pygame.event.get(): if event.type == pygame.QUIT: r = False pygame.quit() if __name__ == "__main__": main()СНЕГОсновная программаimport pygame
import sys
import snow
FPS=60
W=600
H=800
sc=pygame.display.set_mode((W,H))
pygame.display.set_caption('hello')
clock=pygame.time.Clock()
group=pygame.sprite.Group()
a=Snow()
group.add(a)
while True:
for i in pygame.event.get():
if i.type==pygame.QUIT:
pygame.quit()
sys.exit()
for s in group:
s.draw(sc)
pygame.clock.tick(FPS)КЛАСС СНЕГimport pygame.sprite
import random
class Snow(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.x=random.randint(0,600)
self.y=0
self.r=random.randint(2,5)
def draw(self,sc):
pygame.draw.ellipse(sc,(255,0,0),self.x,self.y,self.r,self.r)


Комментарии
Отправить комментарий