Загрузка...

Говнокод | 5 лет спустя

Тема в разделе Python создана пользователем 0x696b 12 ноя 2024. (поднята 17 июл 2025 в 14:05) 772 просмотра

  1. 0x696b
    0x696b Автор темы 12 ноя 2024 Стим аккаунты тут - lolz.live/threads/7680775 290 15 окт 2024
    Недавно откопал говнокод с времён, когда душил питона. Почитал, кринжанул и теперь хочу поделиться им, чтобы у вас напрочь пропало желание здороваться со мной за руку :cat_aga:

    То, что вы увидите, может нанести непоправимый ущерб мозгу

    Python
    import random
    import time
    import os
    import sys
    import socket
    import platform
    import json
    ####clear####
    def clear():
    if platform.system() == 'Windows':
    os.system('cls')
    elif platform.system() == 'Linux':
    os.system('clear')
    clear()
    #####Colors####
    reset = '\u001b[0m'
    green = '\033[92m'
    cyan = '\033[36m'
    yellow = '\033[33m'
    red = '\u001b[31m'
    magenta = '\u001b[35m'
    bmagenta = '\u001b[35;1m'
    byellow = '\u001b[33;1m'
    ####Player####
    lang = 'en'
    singleplayer = True
    saved = False
    playerchar = f'{yellow}@{cyan}'
    name = ''
    hunger = 100
    hp = 50
    money = 0
    defense = 10
    damage = 0
    inventory = []
    if saved == False:
    inventory.append('If you are reading this then you are a cheater')
    xpos = random.choice(range(1, 40))
    ypos = random.choice(range(1, 10))
    ####boss####
    bosshp = 100
    bossdef = 20
    bosdamage = 20
    ####save####
    def save():
    global name
    global hp
    global hunger
    global money
    global damage
    global defense
    data = {
    "name": name,
    "hp": hp,
    "hunger": hunger,
    "money": money,
    "damage": damage,
    "defense": defense
    }
    to_json = {'inventory': inventory}
    with open('save_inventory.json', 'w') as f:
    json.dump(to_json, f)

    with open('save_profile.json', 'w') as f:
    json.dump(data, f)
    ####load####
    def load():
    global name
    global hp
    global hunger
    global money
    global damage
    global defense
    global inventory
    newinventory = []
    with open('save_inventory.json') as file:
    templates = json.loads(file.read())

    for section, commands in templates.items():
    newinventory.append(commands)
    inventory = newinventory[0]
    with open('save_profile.json', 'r') as file:
    prof = json.load(file)
    hp = prof["hp"]
    hunger = prof["hunger"]
    name = prof["name"]
    money = prof["money"]
    damage = prof["damage"]
    defense = prof["defense"]
    saved == True
    #print(inventory)
    ####multiplayer####
    #def multipl(mhost):
    #if mhost = True:
    #sock = socket.socket()
    #sock.bind(('', 9090))
    #sock.bind(('', 9091))
    #sock.listen(1)
    #sock.accept()
    ####Map####
    chars = '~`-'
    mapS = [41, 11]
    objects = {}

    def mapSize(x, y):
    global mapS
    mapS = [x, y]

    def addObject(name, x, y, symbol):
    objects[name] = [x, y, symbol]

    def makeMAP():
    for y in range(mapS[1]):
    line = ''
    numy = y + 1
    for x in range(mapS[0]):
    numx = x + 1
    for place in objects:
    if objects[place][:2] == [numx, numy]:
    line += objects[place][2]
    break
    else:
    t = random.choice(chars)
    line += t
    print(cyan + line)
    print(reset)
    ####Game####
    if lang == 'en':
    ####Hunger####
    def phunger():
    global hunger
    if random.randint(0, 100) > 70:
    mhun = random.randint(1, 5)
    hunger -= mhun
    print(f'{red}Your hunger fell on: ' + str(mhun) + f'.{reset}')
    ####Alerts####
    def alerts():
    global hunger
    global hp
    if hunger < 10:
    print(f'{red}You are starving{reset}')
    mph = random.randint(5, 10)
    hp -= mph
    print(f'{red}HP left: ' + str(mph) + f'.{reset}')
    if hp < 5:
    print(f'{red}You are dying{reset}')
    if hp < 0:
    clear()
    print(f'{red}You are dead{reset}')
    sys.exit(1)
    ####inventory####
    def inv():
    i = 1
    while i < len(inventory):
    print(bmagenta + str(i) + ': ' + inventory[i] + reset)
    i += 1
    alerts()
    ####npc####
    def NPC():
    global money
    if random.randint(0,100) > 80:
    names = ['Carl', 'Lisa', 'Alex', 'Ivan']
    items = ['salmon', 'bread', 'cod', 'metal piece', 'stone', 'wood piece']
    print(f'{magenta}You saw a boat. You swam to her. A man sat in it.{reset}')
    print(f'{green}Hi my name is ' + random.choice(names) + f'. I am a merchant.{reset}')
    sp = random.randint(1, 5)
    si = random.choice(items)
    bi = random.choice(items)
    bp = random.randint(1, 5)
    print(f'{green}I sell ' + si + ' for ' + str(sp) +' coin(s). And buy ' + bi + ' for ' + str(bp) + f' coin(s){reset}')
    print(byellow + 'Your balance: ' + str(money) + reset)
    print(byellow + 'Your inventory: ' + reset)
    inv()
    bos = input(byellow + 'Enter sell or buy (0 for exit): ' + reset)
    if bos == 'buy':
    if money >= sp:
    money -= sp
    inventory.append(si)
    clear()
    addObject("Player", xpos, ypos, playerchar)
    makeMAP()
    else:
    print(red + 'You don\'t have enough money' + reset)
    elif bos == 'sell':
    sell = int(input(byellow + 'Enter item slot: ' + reset))
    if bi == inventory[sell]:
    son = input(bmagenta + 'You want sell: ' + bi + '(y/n): ' + reset)
    if son == 'y':
    print(bmagenta + 'You sell: ' + inventory[sell] + '. You earn: ' + str(bp) + reset)
    money += bp
    del inventory[sell]
    else:
    print(green + ' Goodbye. Good luck to you. ' + reset)
    elif bos == '0':
    print(green + ' Goodbye. Good luck to you. ' + reset)
    else:
    print(red + 'Incorrect command!' + reset)
    ####*******####
    def *******(fitime):
    fitime += 1
    if fitime <= 30:
    for i in range(1, fitime):
    fish = ['salmon', 'cod', 'wood piece', 'wood piece', 'metal piece']
    rfish = random.choice(fish)
    inventory.append(rfish)
    print(f'{magenta}You caught: ' + rfish + f'.{reset}')
    phunger()
    alerts()
    time.sleep(1)
    ####treasure####
    def treasure():
    global money
    commontreasure = ['salmon', 'cod', 'wood piece', 'stone']
    raretreasure = ['small heal potion', 'metal piece', 'bread']
    epictreasure = ['strange key', 'metal ingot', 'bread']
    rt = random.randint(0, 100)
    if 95 > rt > 90:
    onet = random.choice(commontreasure)
    twot = random.choice(commontreasure)
    mon = random.randint(1, 10)
    money += mon
    inventory.append(onet)
    inventory.append(onet)
    print(bmagenta + 'You find common treasure. You get: ' + onet + ', ' + twot + '. You get: ' + str(mon) + ' coins.' + reset)
    time.sleep(1)
    if 98 > rt > 95:
    ronet = random.choice(raretreasure)
    rtwot = random.choice(raretreasure)
    mon = random.randint(10, 20)
    money += mon
    inventory.append(ronet)
    inventory.append(rtwot)
    print(bmagenta + 'You find rare treasure. You get: ' + ronet + ', ' + rtwot + '. You get: ' + str(mon) + ' coins.' + reset)
    time.sleep(1)
    if 100 > rt > 98:
    eonet = random.choice(epictreasure)
    etwot = random.choice(epictreasure)
    mon = random.randint(20, 30)
    money += mon
    inventory.append(eonet)
    inventory.append(etwot)
    print(bmagenta + 'You find epic treasure. You get: ' + eonet + ', ' + etwot + '. You get: ' + str(mon) + ' coins.' + reset)
    time.sleep(1)
    ####use item####
    def useitem(item):
    global hunger
    global hp
    global damage
    global defense
    useitem = inventory[item]
    if useitem == 'salmon':
    print(bmagenta + 'You use: salmon. You get 10 hunger.' + reset)
    del inventory[item]
    hunger += 10
    if useitem == 'cod':
    print(bmagenta + 'You use: cod. You get 10 hunger.' + reset)
    del inventory[item]
    hunger += 10
    if useitem == 'bread':
    print(bmagenta + 'You use: bread. You get 30 hunger.' + reset)
    del inventory[item]
    hunger += 30
    if useitem == 'small heal potion':
    print(bmagenta + 'You use: small heal potion. You get 10 hp.' + reset)
    del inventory[item]
    hp += 10
    if useitem == 'basic sword':
    print(bmagenta + 'You equipped: basic sword. You get 10 damage.' + reset)
    del inventory[item]
    damage += 10
    if useitem == 'rare sword':
    print(bmagenta + 'You equipped: rare sword. You get 30 damage.' + reset)
    del inventory[item]
    damage += 30
    ####attack####
    def mobattack():
    global hp
    global damage
    global defense
    global name
    global money
    global bosdamage
    global bossdef
    global bosshp
    bar = '''
    +----------------+
    |1. attack |
    |2. use item |
    |0. exit |
    +----------------+
    '''
    mobs = ['shark', 'pirate']
    mob = random.choice(mobs)
    mobhp = random.randint(1, 20)
    mobdamage = random.randint(1, 10)
    mobdefense = random.randint(1, 10)
    if random.randint(0, 100) > 95:
    print(bmagenta + mob + ' attacket you!' + reset)
    print(bmagenta + mob + ': ' + str(mobhp) + ' hp, ' + str(mobdamage) + ' damage, ' + str(mobdefense) + ' defense.')
    print(bmagenta + name + ': ' + str(hp) + ' hp, ' + str(damage) + ' damage, ' + str(defense) + ' defense.')
    while True:
    clear()
    makeMAP()
    print(byellow + mob + ': ' + str(mobhp) + ' hp, ' + str(mobdamage) + ' damage, ' + str(mobdefense) + ' defense.')
    print(byellow + name + ': ' + str(hp) + ' hp, ' + str(damage) + ' damage, ' + str(defense) + ' defense.')
    print(byellow + bar + reset)
    fch = input(byellow + '> ' + reset)
    if fch == '1':
    print(bmagenta + 'You attack ' + mob + reset)
    md = mobhp - (damage - mobdefense)
    if md >= mobhp:
    print(red + 'You cannot attack a mob. Because his defense is very strong.' + reset)
    elif md < mobhp:
    print(bmagenta + 'You damaged a mob in: ' + str(mobhp - md) + reset)
    mobhp = md
    print(bmagenta + mob + ' attack you' + reset)
    pd = hp - (mobdamage - defense)
    if pd >= hp:
    print(red + 'Mob cannot attack you. Because your defense is very strong.' + reset)
    elif pd < hp:
    print(bmagenta + 'Mob damaged you in: ' + str(hp - pd) + reset)
    hp = pd
    if mobhp <= 0 or hp <= 0:
    if mobhp <= 0:
    loot = random.randint(1, 10)
    print(bmagenta + 'You kill ' + mob + ' and get ' + str(loot) + 'coin(s)')
    money += loot
    break
    elif fch == '2':
    print(f'{byellow}Inventory: ' + reset)
    inv()
    aus = int(input(byellow + 'Enter item slot(0 exit): ' + reset))
    useitem(aus)
    clear()
    elif fch == '0':
    print(bmagenta + 'You left the fight' + reset)
    break
    else:
    print(f'{red}Command not found{reset}')
    if random.randint(0, 1000) > 999:
    print(bmagenta + 'Boss attacket you!' + reset)
    print(bmagenta + 'Boss: ' + str(bosshp) + ' hp, ' + str(bosdamage) + ' damage, ' + str(bossdef) + ' defense.')
    print(bmagenta + name + ': ' + str(hp) + ' hp, ' + str(damage) + ' damage, ' + str(defense) + ' defense.')
    clear()
    while True:
    makeMAP()
    print(byellow + bar + reset)
    fch = input(byellow + '> ' + reset)
    if fch == '1':
    print(bmagenta + 'You attack boss' + reset)
    bd = bosshp - (damage - bossdef)
    if bd >= bosshp:
    print(red + 'You cannot attack a boss. Because his defense is very strong.' + reset)
    elif bd < bosshp:
    print(bmagenta + 'You damaged a boss in: ' + str(bosshp - bd) + reset)
    bosshp = bd
    print(bmagenta + 'Boss attack you' + reset)
    pd = hp - (bosdamage - defense)
    if pd >= hp:
    print(red + 'Boss cannot attack you. Because your defense is very strong.' + reset)
    elif pd < hp:
    print(bmagenta + 'The boss did damage in: ' + str(hp - pd) + reset)
    hp = pd
    if mobhp <= 0 or hp <= 0:
    if mobhp <= 0:
    loot = random.randint(1, 100)
    print(bmagenta + 'You kill boss and get ' + str(loot) + 'coin(s)')
    if random.randint(1, 100) > 70:
    print(bmagenta + 'You get rare sword!' + reset)
    inventory.append('rare sword')
    money += loot
    break
    elif fch == '2':
    print(f'{byellow}Inventory: ' + reset)
    inv()
    aus = int(input(byellow + 'Enter item slot(0 exit): ' + reset))
    useitem(aus)
    clear()
    elif fch == '0':
    print(bmagenta + 'You left the fight' + reset)
    break
    else:
    print(f'{red}Command not found{reset}')
    alerts()
    time.sleep(2)
    clear()
    ####Move function####
    def makeMove(direction, amount):
    global xpos
    global ypos
    if direction == 'w':
    for i in range(0, amount):
    if 1 >= amount > 50:
    print(red + 'Too small or large value' + reset)
    break
    else:
    if ypos > 0:
    ypos -= 1
    elif ypos < 1:
    ypos += 11
    clear()
    makeMAP()
    addObject("Player", xpos, ypos, playerchar)
    print(f'{magenta}Please wait...{reset}')
    phunger()
    alerts()
    NPC()
    treasure()
    mobattack()
    time.sleep(2)
    if direction == 's':
    for i in range(0, amount):
    if 1 >= amount > 50:
    print(red + 'Too small or large value' + reset)
    break
    else:
    if ypos < 12:
    ypos += 1
    elif ypos > 11:
    ypos -= 11
    clear()
    makeMAP()
    addObject("Player", xpos, ypos, playerchar)
    print(f'{magenta}Please wait...{reset}')
    print(str(xpos) + ' ' + str(ypos))
    phunger()
    alerts()
    NPC()
    treasure()
    mobattack()
    time.sleep(2)
    if direction == 'd':
    for i in range(0, amount):
    if 1 >= amount > 50:
    print(red + 'Too small or large value' + reset)
    break
    else:
    if xpos < 42:
    xpos += 1
    elif xpos >= 42:
    xpos -= 41
    clear()
    addObject("Player", xpos, ypos, playerchar)
    makeMAP()
    print(f'{magenta}Please wait...{reset}')
    print(str(xpos) + ' ' + str(ypos))
    phunger()
    alerts()
    NPC()
    treasure()
    mobattack()
    time.sleep(2)
    if direction == 'a':
    for i in range(0, amount):
    if 1 >= amount > 50:
    print(red + 'Too small or large value' + reset)
    break
    else:
    if xpos > 0:
    xpos -= 1
    elif xpos <= 0:
    xpos += 41
    clear()
    addObject("Player", xpos, ypos, playerchar)
    makeMAP()
    print(f'{magenta}Please wait...{reset}')
    print(str(xpos) + ' ' + str(ypos))
    phunger()
    alerts()
    NPC()
    treasure()
    mobattack()
    time.sleep(2)
    ####main screen####
    ms = '''
    #----------------#
    | The legend |
    | of |
    | this ocean |
    #----------------#
    |1. singleplayer |
    |2. multiplayer |
    | 3. exit |
    #----------------#
    '''
    ch = 0
    while ch != 1:
    print(byellow + ms + reset)
    msc = input(byellow + '> ' + reset)
    if msc == '1':
    lon = input(byellow + ' Load player or create new: ' + reset)
    if lon == 'load':
    try:
    load()
    singleplayer = True
    print(bmagenta + 'Wait...' + reset)
    ch = 1
    time.sleep(2)
    clear()
    saved = True
    except:
    print(red + 'File is missing or damaged' + reset)
    elif lon == 'new':
    name = input(byellow + 'Please enter your name: ' + reset)
    singleplayer = True
    print(bmagenta + 'Wait...' + reset)
    ch = 1
    time.sleep(2)
    clear()
    else:
    print(red + 'Try enter load or new!' + reset)
    time.sleep(1)
    clear()
    elif msc == '2':
    singleplayer = False
    print(bmagenta + 'Sorry, multiplayer is not available right now' + reset)
    time.sleep(2)
    clear()
    elif msc == '3':
    print(byellow + ' Goodbye. Good luck to you. ' + reset)
    time.sleep(2)
    clear()
    sys.exit(1)
    else:
    clear()
    ####Menu####
    addObject("Player", xpos, ypos, playerchar)
    makeMAP()
    if saved == False:
    inventory.append('basic sword')
    while True:
    aclist = '''
    Action list:
    1. *******
    2. move
    3. profile
    4. use item
    0. exit
    '''
    print(byellow + aclist)
    paction = input(yellow + '> ' + reset)
    if paction == '1':
    ftime = int(input(byellow + 'Enter ******* time: ' + reset))
    *******(ftime)
    clear()
    makeMAP()
    elif paction == '2':
    dr = input(f'{byellow}Enter w, a, s, d to select a direction(0 for exit): ' + reset)
    if dr != '0':
    am = int(input(f'{byellow}Enter the number of steps: ' + reset))
    makeMove(dr, am)
    elif paction == '3':
    print(f'{byellow}Profile: ' + reset)
    print(f'{byellow}Name: ' + name + reset)
    print(f'{byellow}HP: ' + str(hp) + reset)
    print(f'{byellow}Hunger: ' + str(hunger) + reset)
    print(f'{byellow}Money: ' + str(money) + reset)
    print(f'{byellow}Inventory: ' + reset)
    inv()
    if input(byellow + 'Enter 0 for exit: ' + reset) == '0':
    clear()
    makeMAP()
    else:
    print(f'{red}Command not found{reset}')
    elif paction == '4':
    print(f'{byellow}Inventory: ' + reset)
    inv()
    us = int(input(byellow + 'Enter item slot(0 exit): ' + reset))
    useitem(us)
    elif paction == '0':
    save()
    print(byellow + ' Goodbye. Good luck to you. ' + reset)
    sys.exit(1)
    else:
    print(f'{red}Command not found{reset}')
     
    12 ноя 2024 Изменено
    1. Посмотреть предыдущие комментарии (2)
    2. ToSa
      0x696b, да, будет скролл
    3. ToSa
      0x696b, [IMG]
      ток сюда (там питон выбери), не ляжет сервер
      12 ноя 2024 Изменено
    4. 0x696b Автор темы
      ToSa, да я шарю. Просто подумал, что будет удобнее ссылку на пасту кинуть
  2. Cartier
    Cartier 12 ноя 2024 Моментальная покупка TRX - https://lolz.live/threads/8610296/ 9574 1 сен 2020
    я выше хеллоу ворлд не осилю мне уже плохо
     
    1. 0x696b Автор темы
  3. Симпатия
    ChatGPT что выполняет этот скрипт?
     
    1. ChatGPT
      Симпатия, этот скрипт выглядит как часть игры, написанной на Python. Вот основные моменты, которые можно выделить:

      1. **Очистка экрана**: В зависимости от операционной системы (Windows или Linux) скрипт очищает экран консоли.

      2. **Цвета**: Определены ANSI-коды для различных цветов текста, которые могут использоваться для вывода в консоли.

      3. **Игрок**: Инициализируются переменные, связанные с игроком, такие как имя, здоровье (hp), голод (hunger), деньги (money), защита (defense), урон (damage) и инвентарь (inventory). Если игра не сохранена, в инвентарь добавляется строка "If you are reading this then you are a cheater".

      4. **Босс**: Инициализируются параметры босса, такие как здоровье (bosshp), защита (bossdef) и урон (bosdamage).

      5. **Сохранение и загрузка**: Реализованы функции `save()` и `load()`, которые сохраняют и загружают состояние игры в/из JSON-файлов. Состояние включает в себя параметры игрока и инвентарь.

      скрипт, вероятно, является частью более крупного проекта, так как здесь нет основной игровой логики или интерфейса взаимодействия с игроком.
  4. 101
    Святые Угодники :omg:, что я только что увидел...
     
    1. 0x696b Автор темы
      101, я сам в шоке был, когда откопал это
  5. tinec4actliv
    tinec4actliv 13 ноя 2024 23 26 июл 2022
    Да пох, нормально
     
    1. tinec4actliv
      tinec4actliv, Скинь лучше че щас ваяешь )
    2. 0x696b Автор темы
      tinec4actliv, сейчас редко что-то ваяю. И вообще во фронтенд перешёл
  6. Бордт
    Я такое одними яйцами напишу
     
    1. 0x696b Автор темы
      Бордт, сразу видно профи в душении питона
    2. Бордт
      0x696b, сомневался????
  7. FBernardeschi
    FBernardeschi 12 июл 2025 Хорошо у нас в аду! 35 16 янв 2022
    Процедурное программирование во всей красе.
    Так же начинал :catnerd:
     
    1. 0x696b Автор темы
      FBernardeschi, я когда это отрыл, то был рад, потому что долго искал этот проект, и одновременно от кринжа умиралч смотря на свой код
Загрузка...
Top