Compare commits

..

9 Commits

Author SHA1 Message Date
justuser31 c8c6b2f405 Merge branch 'main' of ssh://ssh.dmcraft.online:2222/justuser/pxl_oboard 2023-04-21 16:06:37 +03:00
justuser31 ae874feb75 Add x and y move in draw() 2023-04-21 16:06:24 +03:00
justuser d3b4728c3c Update 'README.md' 2023-04-21 15:44:32 +03:00
justuser31 99ec1d099d Wait after error and no wait before request 2023-04-21 15:41:35 +03:00
justuser31 9a83760295 Compatibility for python 3.7 2023-04-21 15:19:23 +03:00
justuser31 e0995302eb Compatibility for python 3.7 2023-04-21 15:16:53 +03:00
justuser31 33c335b001 Add progress bar 2023-04-21 13:01:59 +03:00
justuser31 35574ef69f Merge branch 'main' of ssh://ssh.dmcraft.online:2222/justuser/pxl_oboard 2023-04-21 12:55:44 +03:00
justuser31 3b72176d9c Add fill() and progress bar 2023-04-21 12:55:30 +03:00
3 changed files with 55 additions and 56 deletions
+2 -1
View File
@@ -19,11 +19,12 @@ Super simple, super stupid.
Вы можете написать свой скрипт на основе post.py или... Вы можете написать свой скрипт на основе post.py или...
1. Скачать bot.py 1. Скачать bot.py
2. Запрогроммировать свои инструкции для бота: 2. Запрогроммировать свои инструкции для бота:
#### draw([0,1], [0,2]) - Функция для рисования, использует массив списков. #### draw([0,1], [0,2], "blue") - Функция для рисования, использует массив списков.
( Поставить точки в координатах [0,1] и [0,2] формата [x,y] ) ( Поставить точки в координатах [0,1] и [0,2] формата [x,y] )
#### linex(y, x1, x2) - Функция для создания массива линии по координате Х #### linex(y, x1, x2) - Функция для создания массива линии по координате Х
( Y остаётся таким же, массив идёт из x1 в x2 ) ( Y остаётся таким же, массив идёт из x1 в x2 )
#### liney(x, y1, y2) - Аналогично. #### liney(x, y1, y2) - Аналогично.
#### fill([x1,y1], [x2, y2]) - Генерация массива для заполнения, дальше передавать в draw()
## -------------------------------- ## --------------------------------
## Установка своего сервера: ## Установка своего сервера:
+30 -33
View File
@@ -1,21 +1,21 @@
import requests import requests
from time import sleep from time import sleep
from tqdm import tqdm
def draw(cords): global xc, yc
for i in range(len(cords)): xc = 0 ; yc = 0
sleep(0.2)
try: def draw(cords, color = "black"):
payload = {'x': cords[i][1], 'y': cords[i][0], 'color': cords[i][2]} global xc, yc
except: for i in tqdm(range(len(cords))):
payload = {'x': cords[i][1], 'y': cords[i][0], 'color': "blue" } payload = {'x': cords[i][1] + yc, 'y': cords[i][0] + xc, 'color': color }
response = requests.post('http://pb.dmcraft.online', data=payload) response = requests.post('http://pb.dmcraft.online', data=payload)
print(response)
while str(response) != "<Response [200]>": while str(response) != "<Response [200]>":
response = requests.post('http://pb.dmcraft.online', data=payload) response = requests.post('http://pb.dmcraft.online', data=payload)
print("Retrying...") print("Error, retrying...")
print(response) sleep(0.1)
print("DONE!") print("DONE!")
def linex(y, x1, x2): def linex(y, x1, x2):
@@ -30,29 +30,26 @@ def liney(x, y1, y2):
res.append( [x,i] ) res.append( [x,i] )
return res return res
def fill(xy1, xy2):
l = [[65, 86, 'red'], [66, 87, 'red'], [66, 86, 'red'], [66, 85, 'red'], [67, 86, 'red'], [89, 97, 'red'], [90, 98, 'red'], [90, 97, 'red'], [90, 96, 'red'], [91, 97, 'red'], [95, 77, 'black'], [96, 78, 'black'], [96, 77, 'black'], [96, 76, 'black'], [97, 77, 'black'], [107, 108, 'blue'], [108, 109, 'blue'], [108, 108, 'blue'], [108, 107, 'blue'], [109, 108, 'blue']] res = []
for x in range(xy1[0], xy2[0] + 1):
draw(l) for y in range(xy1[1], xy2[1] + 1):
res.append( [x, y] )
return res
#draw( liney(300, 300, 500) )
#draw(linex(500, 300, 500))
'''
xs = 180 xc = 200
ys = 180 yc = 300
#S
cords = [ [3+xs,0+ys],[2+xs,0+ys],[1+xs,0+ys],[1+xs,-1+ys],[1+xs,-2+ys],[2+xs,-2+ys],[3+xs,-2+ys],[3+xs,-3+ys],[3+xs,-4+ys],[2+xs,-4+ys],[1+xs,-4+ys] ] #Russian flag
draw(cords) draw(fill([300,300], [330, 300]))
#A draw(fill([300,330], [330, 330]))
cords = [ [5+xs,-4+ys],[5+xs,-3+ys],[5+xs,-2+ys],[5+xs,-1+ys],[5+xs,0+ys],[6+xs,0+ys],[7+xs,0+ys],[8+xs,0+ys],[8+xs,-4+ys],[8+xs,-3+ys],[8+xs,-2+ys],[8+xs,-1+ys],[8+xs,0+ys],[5+xs,-2+ys],[6+xs,-2+ys],[7+xs,-2+ys],[8+xs,-2+ys], ] draw(fill([300,300], [300, 330]))
draw(cords) draw(fill([330,300], [330, 330]))
#N
cords = [ [10+xs,-4+ys],[10+xs,-3+ys],[10+xs,-2+ys],[10+xs,-1+ys],[10+xs,0+ys],[11+xs,-1+ys],[12+xs,-2+ys],[13+xs,-3+ys],[14+xs,-4+ys],[15+xs,-4+ys],[15+xs,-3+ys],[15+xs,-2+ys],[15+xs,-1+ys],[15+xs,0+ys], ] draw(fill([301,321], [329, 329]), "white")
draw(cords) draw(fill([301,310], [329, 320]), "blue")
#S draw(fill([301,301], [329, 310]), "red")
xs = xs + 16
cords = [ [3+xs,0+ys],[2+xs,0+ys],[1+xs,0+ys],[1+xs,-1+ys],[1+xs,-2+ys],[2+xs,-2+ys],[3+xs,-2+ys],[3+xs,-3+ys],[3+xs,-4+ys],[2+xs,-4+ys],[1+xs,-4+ys] ]
draw(cords)
'''
+23 -22
View File
@@ -3,9 +3,10 @@ from tkinter import *
####DRAW BLOCK ####DRAW BLOCK
import requests import requests
from time import sleep from time import sleep
from tqdm import tqdm
def draw(cords): def draw(cords):
for i in range(len(cords)): for i in tqdm(range(len(cords))):
sleep(0.2) sleep(0.2)
try: try:
payload = {'x': cords[i][1], 'y': cords[i][0], 'color': cords[i][2]} payload = {'x': cords[i][1], 'y': cords[i][0], 'color': cords[i][2]}
@@ -13,12 +14,12 @@ def draw(cords):
payload = {'x': cords[i][1], 'y': cords[i][0], 'color': "b" } payload = {'x': cords[i][1], 'y': cords[i][0], 'color': "b" }
response = requests.post('http://pb.dmcraft.online', data=payload) response = requests.post('http://pb.dmcraft.online', data=payload)
print(response) #print(response)
while str(response) != "<Response [200]>": while str(response) != "<Response [200]>":
response = requests.post('http://pb.dmcraft.online', data=payload) response = requests.post('http://pb.dmcraft.online', data=payload)
print("Retrying...") print("Error, retrying...")
print(response) #print(response)
print("!!!DONE!!!") print("!!!DONE!!!")
@@ -76,15 +77,15 @@ class PixelArt:
for j in range(128): for j in range(128):
color = self.canvas.itemcget(self.canvas.find_closest(i*12+6, j*12+6), "fill") color = self.canvas.itemcget(self.canvas.find_closest(i*12+6, j*12+6), "fill")
if color != "white": if color != "white":
match self.colors.index(color): tc = self.colors.index(color)
case 0: if tc == 0:
color = "red" color = "red"
case 1: elif tc == 1:
color = "green" color = "green"
case 2: elif tc == 2:
color = "blue" color = "blue"
case 3: elif tc == 3:
color = "black" color = "black"
pixel_data.append([i, 127-j, color]) pixel_data.append([i, 127-j, color])
print("!!!START UPLOAD!!!") print("!!!START UPLOAD!!!")
draw(pixel_data) draw(pixel_data)
@@ -95,15 +96,15 @@ class PixelArt:
for j in range(128): for j in range(128):
color = self.canvas.itemcget(self.canvas.find_closest(i*12+6, j*12+6), "fill") color = self.canvas.itemcget(self.canvas.find_closest(i*12+6, j*12+6), "fill")
if color != "white": if color != "white":
match self.colors.index(color): tc = self.colors.index(color)
case 0: if tc == 0:
color = "red" color = "red"
case 1: elif tc == 1:
color = "green" color = "green"
case 2: elif tc == 2:
color = "blue" color = "blue"
case 3: elif tc == 3:
color = "black" color = "black"
pixel_data.append([i, 127-j, color]) pixel_data.append([i, 127-j, color])
f = open('out.txt', 'w') f = open('out.txt', 'w')
f.write(str(pixel_data)) f.write(str(pixel_data))