Python

Как легко и быстро написать игру на Python

Для курсовой работы мне нужно сделать игру на python при этом я не смогу написать код сам, есть какие то конструкторы или что то в этом роде?
Очень глупый вопрос. Ну для начало тебе нужно научиться писать Python, и знать его фишки. Вот тогда, пиши игру по гайдам с YouTube
СМ
Саня Мороз
955
Лучший ответ
Дамир Калимуллин человек/ молодой человек-это парень на всех языках.
Дамир Калимуллин а у женщин нету ни тела, ни ног, ни груди мышечной, ни волос, ни тестостерона, ни спермы, ничего. женщина-это дырка макияжная. люди кончают в эту дырку.
По гитхабу поищи примеры, да переделай под себя
игра "ним" - самая хардкорная ^_^
 #!/bin/python3 

from random import randint as rint


## настройки программы

# количество кучек (от... до...)
PILE_COUNT = (3, 5)

# количество элементов в кучке (от... до...)
PILE_CAPACITY = (1, 9)



## вспомогательные функции

# функция отрисовки поля
def show_field(piles) :

for (i, p) in enumerate(piles):
print("кучка", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[i], ">", " ".join("".join(item) for item in reversed(list(zip("|"*p, map(str, range(1, p+1)))))))


# функция проверки на победу
def check_win_and_continue(piles, win_message) :

print("")

if max(piles) == 0 :
print(win_message)
inp = input("хотите сыграть ещё? (да/нет): ")
return (True, inp.lower() in ("да", "yes", "д", "y", "1"))

return (False, True)



## тело программы

piles = None
first_time = True

while True :

# начало игры
if first_time :

print("\nИгра Ним:")
print("Походовая, за каждый ход можно из любой кучки взять любое количество спичек")
print("Выигрывает тот, кто взял последним\n")

piles = [rint(*PILE_CAPACITY) for _ in range(rint(*PILE_COUNT))]

first_time = False

# начало очередного хода, первым ходит игрок
show_field(piles)

inp = input("Введите номер кучки и количество спичек, которые хотите взять (например, b3) или q-выход: ")

if inp == "q" : break

try:
pile_number = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".index(inp[0].upper())
match_count = int(inp[1:])
except:
print("неизвестная команда")
continue

if pile_number < 0 or pile_number >= len(piles):
print("неверный номер кучки")
continue

if match_count piles[pile_number]:
print("неверное количество спичек")
continue

piles[pile_number] -= match_count

first_time, choice = check_win_and_continue(piles, "Ура, Вы выиграли!")
if not choice : break

# начало хода компьютера
print("Мой ход:")

# пытаемся вычислить выигрышный ход
my_loosing_turn = True
nim = 0
for p in piles : nim ^= p
if nim != 0:
pile_number = 0
while pile_number < len(piles) :
if piles[pile_number] :
nim ^= piles[pile_number]
match_count = 1
while match_count < piles[pile_number] :
if nim ^ (piles[pile_number] - match_count) == 0 :
my_loosing_turn = False
break
match_count += 1
else:
nim ^= piles[pile_number]
pile_number += 1
continue
break

# если выигрышного хода нет, играем как бог на душу положит
if my_loosing_turn :
pile_number = rint(0, len(piles)-1)
while piles[pile_number] == 0 :
pile_number = (pile_number + 1) % len(piles)
match_count = rint(1, piles[pile_number])

pile_name = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[pile_number]
match_name = "спич"
if match_count%100//10 == 1 or match_count%10 not in (1, 2, 3, 4) :
match_name += "ек"
else :
match_name += ("ки", "ку")[match_count%10 == 1]
print(f"беру {match_count} {match_name} из кучки {pile_name}...")

piles[pile_number] -= match_count

first_time, choice = check_win_and_continue(piles, "Ура, моя победа!")
if not choice : break


print("\nдо встречи!")
Баглан А.б.к. а как его выиграть-то((
Конструкторов для написания игр на Python нет, однако вы можете использовать готовые игровые движки и библиотеки на Python для упрощения процесса разработки. Некоторые из них:

1. Pygame - библиотека для создания 2D-игр на Python.
2. Arcade - игровой движок для разработки 2D-игр на Python.
3. Panda3D - бесплатный игровой движок с открытым исходным кодом для создания 3D-игр на Python.
4. PyOpenGL - библиотека для создания 3D-графики на Python.
5. Pyglet - библиотека для создания игр и мультимедийных приложений на Python.

Выберите библиотеку или игровой движок, который соответствует вашим потребностям, и начните изучать его документацию и ресурсы. Обычно они содержат примеры кода, которые помогут вам начать работу.
игра - слишком общий термин. откуда я знаю, консольную "Виселицу" тебе написать надо или полноценную 2д/3д игру?
Eluubek Azizov
Eluubek Azizov
250
Андрей Помазкин Вряд-ли для курсовой виселица подойдёт, мне бы сделать простой платформер 2д и накидать туда своего чего нибудь