Discuss Scratch

ArtemScrathMaster
Scratcher
14 posts

Собрание программистов

Всем привет! Эта тема создана для общения программистов пишущих на java, javascript, ruby, assembler, c, c++, c#,Python,QBasic,SmallBasic,vbs и т.д. Создатели Toksin и ArtemScrathMaster.
Toksin
Scratcher
66 posts

Собрание программистов

Меня можно было не указывать… Ладно, сейчас скину код текстовой игры, он точно работает
Toksin
Scratcher
66 posts

Собрание программистов

Function fight(mob,moba,damage)
a = MsgBox (“Противник: ” & mob & Chr(13) & “Жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Примите бой?” & Chr(13) & “В движениях ” & moba & “ чувствуется скорость, убежать не получится.”,4+48, “Бой”)

If a = 6 Then

MsgBox “Вы решили избавить этот мир от ” & moba & “…”,0+64, “Бой”

Do Until hpBabayki <= 0

dam = Int((3 * Rnd)+lewel)

dam2 = Int((damage * Rnd)-lewel/3)
if dam2 < 0 then dam2 = 0
hp = hp - dam2

hpBabayki = hpBabayki - dam

MsgBox “Вы наносите урон ” & dam & Chr( 13) & “Теперь жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Вы получаете урон ” & dam2 & Chr(13) & “ Теперь жизней у вас: ”& hp ,0+64, “Бой”

Loop
newExperience = Int((damage * Rnd))+2
experience = experience + newExperience
MsgBox “Бой закончен, ” & moba & “ больше нет в живых…”,0+16, “Бой”


Else

MsgBox “Вы трусливо убежали от боя. Но вы медленны, поэтому вас догнали и навставляли люлей.”,0+16, “Бой”

hp=0

End If

End Function

Function fightCanRun(mob,moba,damage)
a = MsgBox (“Противник: ” & mob & Chr(13) & “Жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Примите бой?” & Chr(13) & “Он кажется медленным от него можно убежать.”,4+48, “Бой”)

If a = 6 Then

MsgBox “Вы решили избавить этот мир от ” & moba & “…”,0+64, “Бой”

Do Until hpBabayki <= 0

dam = Int((3 * Rnd)+lewel)

dam2 = Int((damage * Rnd)-lewel/3)
if dam2 < 0 then dam2 = 0
hp = hp - dam2

hpBabayki = hpBabayki - dam

MsgBox “Вы наносите урон ” & dam & Chr( 13) & “Теперь жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Вы получаете урон ” & dam2 & Chr(13) & “ Теперь жизней у вас: ”& hp ,0+64, “Бой”

Loop
newExperience = Int((damage * Rnd * 2))+3
experience = experience + newExperience
newGold = Int((10 * Rnd))+5
gold = gold + newGold
MsgBox “Бой закончен, ” & moba & “ больше нет в живых…”,0+32, “Бой”


Else

MsgBox “Вы трусливо убежали от боя. Тормозной противник был ослеплён сверканием ваших пяток и не стал вас догонять.”,0+16, “Бой”

End If

End Function
'Function search(lewel2)
'MsgBox “Вам подобран монстр.”,0, “Бой”

' If lewel2 = 1 Then

' End If

'End Function

dim x

dim hp

Dim i

dim dam

dim dam2

dim lewel

dim gold

dim newGold

dim hpBabayki

dim experience

dim newExperience

experience = 0

hp = 50

gold = 0

MsgBox “Вперед, на встечу приключениям!”,0,“Начинаем!”

randomize

Do While hp > 0

if experience > lewel * 20 then
lewel = lewel + 1
experience = 0
MsgBox “Ты стал сильнее и возможно умнее” & Chr(13) & “Твой уровень стал: ” & lewel,0,“Новый уровень!”
end if

x = Int((Rnd)*10)+1

If x = 4 Then

hpBabayki = 50

a = MsgBox (“Перед вами крест” & Chr(13) & “Предположительно копать до клада: ” & hpBabayki & “ дицеметров” & Chr(13) & “ Копать будите?”,4+32, “Бой с ленью”)

If a = 6 Then

MsgBox “Вы решили, что продавать нечего, а деньги нужны.”,0+64, “Бой”

Do Until hpBabayki <= 0

dam = Int((Rnd)*2)+1

hpBabayki = hpBabayki - dam

MsgBox “Вы в порыве ярости прокапываете ” & dam & Chr(13) & “ Теперь осталось прокопать: ” & hpBabayki ,0, “Копание”

Loop
newExperience = Int((2 * Rnd))+1
experience = experience + newExperience
newGold = Int((10 * Rnd))+5
gold = gold + newGold
MsgBox “Вот и клад! В нём вы находите: ” & newGold & “ монет” & Chr(13) & “ Теперь у вас денюжек: ” & gold,0+64, “Конец копания”


Else

MsgBox “Вы подумали, что в Простоквашино найдётся, что-то, что можно продать.”,0+64, “А фиг с ним!”

End If

End If

If x = 5 Then


a = MsgBox (“Вы у города, время посмотреть статистику. ” & Chr(13) & “Жизни: ” & hp & “ золото: ” & gold & “ опыт: ” & experience ,0,“Статистика”)

a = MsgBox (“Перед вами город” & Chr(13) & “ Зайдём?”,4+32, “Внезапно”)

If a = 6 Then

a = MsgBox (“Перед вами больница” & Chr(13) & “Посетим сие дивное заведение?” & Chr(13) & “Только врачи хотят 20 денюжек за посещение”,4+32, “Лечится будем?”)

If a = 6 Then

If gold >= 20 Then
MsgBox “Хирург достал из вас все ногти, восхитился какие длинные у вас когти…”,0+64, “Лечение”
hp = 50
gold = gold-20
Else
MsgBox “У вас не хватило денег на бахилы,”& Chr(13) & “Потому вас и не пустили в больницу”,0+64, “Город”
End if

End If

a = MsgBox (“Перед вами трактир” & Chr(13) & “Посетим сие дивное заведение?” & Chr(13) & “Только есть обязательное условие, купить в нём пивка на 15 золота”,4+32, “Бухать будем?”)

If a = 6 Then

If gold >= 15 Then

MsgBox “Вы напились и отточили навыки рукопашного боя на других посетителях…”,0+64, “Бойня”
hp = hp - Int((Rnd)*5)+1
gold = gold-15
experience = experience + 10

Else
MsgBox “Снова пересчитав деньги в кормане, вы обнаружили, что не хватает даже на самое дешёвое пиво”,0+64, “Город”

End if

End if

End If

End If




If x = 6 Then

hpBabayki = 20
fightCanRun “Злобоглаз”,“злобоглаза”,5
End If

If x = 7 Or x = 3 Then

hpBabayki = 7
fight “Бука”,“Буки”,2
End If

If x = 8 Then
MsgBox “Вы встретили шамана, который ел грибы. Ох, он зол на нас, беда. Но набьём его, мы, да!”,48,“А нечего по лесу шастать!”
hpBabayki = 30
fightCanRun “Злой шаман”,“шамана”,5
If hpBabayki < 1 Then
MsgBox “Внезапно он воскрес с улыбкой на лице.”,48,“Хоба!”
MsgBox “-Я давно искал того, кто снимет с меня проклятье..Ты сделал это! В благодарность я дам тебе немного шаманских грибов”,0,“Такие аппетитные, главное у него на глазах не съесть”
hp = hp + 10
experience = experience + 10
End If

End If

If x = 1 or x = 9 Then

hpBabayki = 5
fight “Бабайка”,“бабайки”,1
End If

If x = 2 or x = 10 Then

hpBabayki = 10
fight “Монстр”,“монстра”,3
End If


If hp < 50 And hp > 0 Then
hp = hp + 1
End If

Loop

MsgBox “Ваша честь растоптана…Как и вы…”,0+16, “Бой”
Toksin
Scratcher
66 posts

Собрание программистов

На самом деле он не столь длинный, просто я разделял его.
изменить размер на (размер)
Alex799
Scratcher
55 posts

Собрание программистов

А о чём здесь реч?
определить 
(О чём реч???)
Toksin
Scratcher
66 posts

Собрание программистов

Alex799 wrote:

А о чём здесь реч?
определить 
(О чём реч???)

Скретч это тренировачная оболочка какого-то языка программрирования. Здесь те кто знает хотя бы чуть-чуть любой язык программирования. Короче, если ты просто скретчер тебе тут будет не очень интересно. Разве только если не попросишь какую-нибудь програмку. Я немного знаю вбс могу сделать программу вызывающую системные(виндовс) ошибки
npocTo
New to Scratch
1 post

Собрание программистов

Toksin wrote:

Alex799 wrote:

А о чём здесь реч?
определить 
(О чём реч???)

Скретч это тренировачная оболочка какого-то языка программрирования. Здесь те кто знает хотя бы чуть-чуть любой язык программирования. Короче, если ты просто скретчер тебе тут будет не очень интересно. Разве только если не попросишь какую-нибудь програмку. Я немного знаю вбс могу сделать программу вызывающую системные(виндовс) ошибки

Я тоже.
Roder3480
Scratcher
80 posts

Собрание программистов

Toksin wrote:

Function fight(mob,moba,damage)
a = MsgBox (“Противник: ” & mob & Chr(13) & “Жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Примите бой?” & Chr(13) & “В движениях ” & moba & “ чувствуется скорость, убежать не получится.”,4+48, “Бой”)

If a = 6 Then

MsgBox “Вы решили избавить этот мир от ” & moba & “…”,0+64, “Бой”

Do Until hpBabayki <= 0

dam = Int((3 * Rnd)+lewel)

dam2 = Int((damage * Rnd)-lewel/3)
if dam2 < 0 then dam2 = 0
hp = hp - dam2

hpBabayki = hpBabayki - dam

MsgBox “Вы наносите урон ” & dam & Chr( 13) & “Теперь жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Вы получаете урон ” & dam2 & Chr(13) & “ Теперь жизней у вас: ”& hp ,0+64, “Бой”

Loop
newExperience = Int((damage * Rnd))+2
experience = experience + newExperience
MsgBox “Бой закончен, ” & moba & “ больше нет в живых…”,0+16, “Бой”


Else

MsgBox “Вы трусливо убежали от боя. Но вы медленны, поэтому вас догнали и навставляли люлей.”,0+16, “Бой”

hp=0

End If

End Function

Function fightCanRun(mob,moba,damage)
a = MsgBox (“Противник: ” & mob & Chr(13) & “Жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Примите бой?” & Chr(13) & “Он кажется медленным от него можно убежать.”,4+48, “Бой”)

If a = 6 Then

MsgBox “Вы решили избавить этот мир от ” & moba & “…”,0+64, “Бой”

Do Until hpBabayki <= 0

dam = Int((3 * Rnd)+lewel)

dam2 = Int((damage * Rnd)-lewel/3)
if dam2 < 0 then dam2 = 0
hp = hp - dam2

hpBabayki = hpBabayki - dam

MsgBox “Вы наносите урон ” & dam & Chr( 13) & “Теперь жизней у ” & moba & “ ” & hpBabayki & Chr(13) & “Вы получаете урон ” & dam2 & Chr(13) & “ Теперь жизней у вас: ”& hp ,0+64, “Бой”

Loop
newExperience = Int((damage * Rnd * 2))+3
experience = experience + newExperience
newGold = Int((10 * Rnd))+5
gold = gold + newGold
MsgBox “Бой закончен, ” & moba & “ больше нет в живых…”,0+32, “Бой”


Else

MsgBox “Вы трусливо убежали от боя. Тормозной противник был ослеплён сверканием ваших пяток и не стал вас догонять.”,0+16, “Бой”

End If

End Function
'Function search(lewel2)
'MsgBox “Вам подобран монстр.”,0, “Бой”

' If lewel2 = 1 Then

' End If

'End Function

dim x

dim hp

Dim i

dim dam

dim dam2

dim lewel

dim gold

dim newGold

dim hpBabayki

dim experience

dim newExperience

experience = 0

hp = 50

gold = 0

MsgBox “Вперед, на встечу приключениям!”,0,“Начинаем!”

randomize

Do While hp > 0

if experience > lewel * 20 then
lewel = lewel + 1
experience = 0
MsgBox “Ты стал сильнее и возможно умнее” & Chr(13) & “Твой уровень стал: ” & lewel,0,“Новый уровень!”
end if

x = Int((Rnd)*10)+1

If x = 4 Then

hpBabayki = 50

a = MsgBox (“Перед вами крест” & Chr(13) & “Предположительно копать до клада: ” & hpBabayki & “ дицеметров” & Chr(13) & “ Копать будите?”,4+32, “Бой с ленью”)

If a = 6 Then

MsgBox “Вы решили, что продавать нечего, а деньги нужны.”,0+64, “Бой”

Do Until hpBabayki <= 0

dam = Int((Rnd)*2)+1

hpBabayki = hpBabayki - dam

MsgBox “Вы в порыве ярости прокапываете ” & dam & Chr(13) & “ Теперь осталось прокопать: ” & hpBabayki ,0, “Копание”

Loop
newExperience = Int((2 * Rnd))+1
experience = experience + newExperience
newGold = Int((10 * Rnd))+5
gold = gold + newGold
MsgBox “Вот и клад! В нём вы находите: ” & newGold & “ монет” & Chr(13) & “ Теперь у вас денюжек: ” & gold,0+64, “Конец копания”


Else

MsgBox “Вы подумали, что в Простоквашино найдётся, что-то, что можно продать.”,0+64, “А фиг с ним!”

End If

End If

If x = 5 Then


a = MsgBox (“Вы у города, время посмотреть статистику. ” & Chr(13) & “Жизни: ” & hp & “ золото: ” & gold & “ опыт: ” & experience ,0,“Статистика”)

a = MsgBox (“Перед вами город” & Chr(13) & “ Зайдём?”,4+32, “Внезапно”)

If a = 6 Then

a = MsgBox (“Перед вами больница” & Chr(13) & “Посетим сие дивное заведение?” & Chr(13) & “Только врачи хотят 20 денюжек за посещение”,4+32, “Лечится будем?”)

If a = 6 Then

If gold >= 20 Then
MsgBox “Хирург достал из вас все ногти, восхитился какие длинные у вас когти…”,0+64, “Лечение”
hp = 50
gold = gold-20
Else
MsgBox “У вас не хватило денег на бахилы,”& Chr(13) & “Потому вас и не пустили в больницу”,0+64, “Город”
End if

End If

a = MsgBox (“Перед вами трактир” & Chr(13) & “Посетим сие дивное заведение?” & Chr(13) & “Только есть обязательное условие, купить в нём пивка на 15 золота”,4+32, “Бухать будем?”)

If a = 6 Then

If gold >= 15 Then

MsgBox “Вы напились и отточили навыки рукопашного боя на других посетителях…”,0+64, “Бойня”
hp = hp - Int((Rnd)*5)+1
gold = gold-15
experience = experience + 10

Else
MsgBox “Снова пересчитав деньги в кормане, вы обнаружили, что не хватает даже на самое дешёвое пиво”,0+64, “Город”

End if

End if

End If

End If




If x = 6 Then

hpBabayki = 20
fightCanRun “Злобоглаз”,“злобоглаза”,5
End If

If x = 7 Or x = 3 Then

hpBabayki = 7
fight “Бука”,“Буки”,2
End If

If x = 8 Then
MsgBox “Вы встретили шамана, который ел грибы. Ох, он зол на нас, беда. Но набьём его, мы, да!”,48,“А нечего по лесу шастать!”
hpBabayki = 30
fightCanRun “Злой шаман”,“шамана”,5
If hpBabayki < 1 Then
MsgBox “Внезапно он воскрес с улыбкой на лице.”,48,“Хоба!”
MsgBox “-Я давно искал того, кто снимет с меня проклятье..Ты сделал это! В благодарность я дам тебе немного шаманских грибов”,0,“Такие аппетитные, главное у него на глазах не съесть”
hp = hp + 10
experience = experience + 10
End If

End If

If x = 1 or x = 9 Then

hpBabayki = 5
fight “Бабайка”,“бабайки”,1
End If

If x = 2 or x = 10 Then

hpBabayki = 10
fight “Монстр”,“монстра”,3
End If


If hp < 50 And hp > 0 Then
hp = hp + 1
End If

Loop

MsgBox “Ваша честь растоптана…Как и вы…”,0+16, “Бой”
на чём это написано?
Toksin
Scratcher
66 posts

Собрание программистов

Roder3480, это написано на visual basic script или сокращённо VBS это интепритируемый язык, который итепретируется системой виндовс 7 и больше, то есть буквально это можно скопировать в блакнот и сохранить с расширением vbs. Программа будет работать. Вышла новая версия, если интересуешься могу скинуть, также могу скинуть пример сайта на js.
X_Gamer_studio
Scratcher
100+ posts

Собрание программистов

Вот код paint на python:

from tkinter import *

canvas_width = 700
canvas_height = 500
brush_size = 3
color = “black”

def paint(event):
global brush_size
global color
x1 = event.x - brush_size
x2 = event.x + brush_size
y1 = event.y - brush_size
y2 = event.y + brush_size
w.create_oval(x1, y1, x2, y2,
fill=color, outline=color)

def brish_size_change(new_size):
global brush_size
brush_size = new_size

def color_change (new_color):
global color
color = new_color

root = Tk()
root.title(“Pencil Box”)

w = Canvas(root,
width=canvas_width,
height=canvas_height,
bg=“white”)
w.bind(“<B1-Motion>”, paint)

red_btn = Button(text=“Красный”, width=10,
command=lambda: color_change(“red”))
black_btn = Button(text=“Чёрный”, width=10,
command=lambda: color_change(“black”))
blue_btn = Button(text=“Синий”, width=10,
command=lambda: color_change(“blue”))
yellow_btn = Button(text=“Жёлтый”, width=10,
command=lambda: color_change(“yellow”))
white_btn = Button(text=“Ластик”, width=10,
command=lambda: color_change(“white”))
clear_btn = Button(text=“Очистить все”, width=10,
command=lambda: w.delete(“all”))
violet_btn = Button(text=“Фиолетовый”, width=10,
command=lambda: color_change(“violet”))


five_btn = Button(text=“5”, width=10,
command=lambda: brish_size_change(5))
four_btn = Button(text=“4”, width=8,
command=lambda: brish_size_change(4))
three_btn = Button(text=“3”, width=6,
command=lambda: brish_size_change(3))
two_btn = Button(text=“2”, width=4,
command=lambda: brish_size_change(2))
one_btn = Button(text=“1”, width=2,
command=lambda: brish_size_change(1))

w.grid(row=2, column=0,
columnspan=7, padx=5,
pady=5, sticky=E+W+S+N)
w.columnconfigure(6, weight=1)
w.rowconfigure(2, weight=1)

red_btn.grid(row=0, column=2)
black_btn.grid(row=0, column=3)
blue_btn.grid(row=0, column=4)
yellow_btn.grid(row=0, column=5)
white_btn.grid(row=0, column=6)
clear_btn.grid(row=0, column=7)
violet_btn.grid(row=0, column=1)

five_btn.grid(row=1, column=2)
four_btn.grid(row=1, column=3)
three_btn.grid(row=1, column=4)
two_btn.grid(row=1, column=5)
one_btn.grid(row=1, column=6)

root.mainloop()

Вот и всё.

Обо мне:

Статус: готов помочь
Состояние: норм
Настроение: идеал
Интересно в скретч: проекты, форумы
Toksin
Scratcher
66 posts

Собрание программистов

X_Gamer_studio wrote:

Вот код paint на python.
Проверить не могу, нет компилятора. Но думаю другим, возможно пригодится
ArtemScrathMaster
Scratcher
14 posts

Собрание программистов

Toksin wrote:

X_Gamer_studio wrote:

Вот код paint на python.
Проверить не могу, нет компилятора. Но думаю другим, возможно пригодится
Python не компилируется,а интерпретируется.

Last edited by ArtemScrathMaster (Feb. 25, 2018 12:23:10)

Toksin
Scratcher
66 posts

Собрание программистов

Однако,
Этот код позволяет самостоятельно делать ошибки. Написан на vbs. Интерпритатор не требуется, так как имеется на каждом компьютере windows.

dim a1,a2,a3
MsgBox “Сейчас вы будите создавать системное окно”& Chr(13) & “Заполните все поля и насладитесь результатом!”,0+16384, “Лабаратория окон”

a1 = InputBox (“Имя окна”,“Создание”,“Окно”,100,100)

a2 = InputBox (“Текст окна”,“Создание”,“Я окно”,100,100)

a3 = InputBox (“Код”,“Создание”,0,100,100)

MsgBox a2, a3, a1
X_Gamer_studio
Scratcher
100+ posts

Собрание программистов

Вы можете скачать Python 3.x и PyCharm. Набейте код и всё!

Обо мне:

Статус: готов помочь
Состояние: норм
Настроение: идеал
Интересно в скретч: проекты, форумы
Toksin
Scratcher
66 posts

Собрание программистов

Скачивать что-то… Неее. Там наверняка нужно скачивать что-то дополнительно, а это уже отдельные мороки.
X_Gamer_studio
Scratcher
100+ posts

Собрание программистов

Привет! Код блокнота на python:
from tkinter import *
from tkinter import messagebox
from tkinter.filedialog import askopenfile, asksaveasfile

file_name = NONE

def new_file():
global file_name
file_name = “Без названия”
text.delete('1.0', END)

def save_as():
out = asksaveasfile(mode='w', defaultextension='.txt')
data = text.get('1.0', END)
try:
out.write(data.rstrip())
except Exception:
messagebox.showerror(“Ошибка сохранения файла!”, “Невозможно сохранить файл!”)

def back_all():
text.delete('1.0', END)

def open_file():
global file_name
inp = askopenfile(mode='r')
if inp is None:
return
file_name = inp.name
data = inp.read()
text.delete('1.0', END)
text.insert('1.0', data)

def exit_on_program():
exit()

def on_program_info():
messagebox._show(“О программме”, “Программа - PytБлокнот, Версия - 0.1.1, Разработчик - X_Studio_Program”)

def update():
messagebox.showerror(“Функция недоступна!”, “Функция не поддерживается!”)


root = Tk()
root.title(“Блокнот”)
root.geometry(“400x400”)

text = Text(root, width=400, height=400)
text.pack()

menu_bar = Menu(root)
file_menu = Menu(menu_bar)
edit_menu = Menu(menu_bar)
program_menu = Menu(menu_bar)

file_menu.add_command(label=“Новый”, command=new_file)
file_menu.add_command(label=“Открыть”, command=open_file)
file_menu.add_command(label=“Сохранить как”, command=save_as)
edit_menu.add_command(label=“Удалить текст”, command=back_all)
edit_menu.add_command(label=“Выйти”, command=exit_on_program)
edit_menu.add_command(label=“Обновить”, command=update)
program_menu.add_command(label=“Подробнее о программе”, command=on_program_info)
menu_bar.add_cascade(label=“Файл”, menu=file_menu)
menu_bar.add_cascade(label=“Редактирование”, menu=edit_menu)
menu_bar.add_cascade(label=“О программе…”, menu=program_menu)

root.config(menu=menu_bar)
root.mainloop()

Обо мне:

Статус: готов помочь
Состояние: норм
Настроение: идеал
Интересно в скретч: проекты, форумы
RuMaks
Scratcher
100+ posts

Собрание программистов

Toksin wrote:

Скачивать что-то… Неее. Там наверняка нужно скачивать что-то дополнительно, а это уже отдельные мороки.
Не нужно. Кликни здесь, чтобы загрузить установщик Python 3.

Привет! Добро пожаловать на форумы! Мы рады приветствовать вас в Русском Сообществе. Если у вас есть вопросы, то пишите сюда. Приятного времяпровождения!

RuMaks
Toksin
Scratcher
66 posts

Собрание программистов

Что ж, устанавливаю. Только боюсь, что питон мне понравится и я его начну учить
Toksin
Scratcher
66 posts

Собрание программистов

X_Gamer_studio, посмотрел, реально работает! Круто.(Чувствую себя нубом, хотя пишу сайты, делал чат и работал с базой данных на джаве, про vbs молчу, хотя сделал там весьма сильный вирус.)
RuMaks
Scratcher
100+ posts

Собрание программистов

Toksin wrote:

Что ж, устанавливаю. Только боюсь, что питон мне понравится и я его начну учить
Просто купи книгу по питону, и всё будет нормально)

Привет! Добро пожаловать на форумы! Мы рады приветствовать вас в Русском Сообществе. Если у вас есть вопросы, то пишите сюда. Приятного времяпровождения!

RuMaks

Powered by DjangoBB

Standard | Mobile