예제 #1
0
    def __init__(self, parent=None, rect=sf.Rectangle(), backgroundColor=sf.Color.BLACK,\
            title=str(), backgroundImage=Image(), drawTitleButton = True,\
            buttonTitleImage=None, \
            characterSizeTitle=12):
        sf.RenderTexture.__init__(self, rect.size.x, rect.size.y)
        Render.__init__(self, parent, rect, backgroundColor, title, backgroundImage)
        self._buttonMoveFrame = None

        if type(title) == str:
            self._title = title
            self._buttonMoveFrame = Button(self, Label(None, self.title, font = sf.Font.from_file("DejaVuSans.ttf")), \
                buttonTitleImage, sf.Rectangle(sf.Vector2(0,0),\
                sf.Vector2(self.size.x, characterSizeTitle)))

        else:
            self._title = title.text.string
            self._buttonMoveFrame = Button(self, title, buttonTitleImage, \
                    sf.Rectangle(sf.Vector2(), sf.Vector2(self.size.x, \
                    title.size.y)))

        self._buttonMoveFrame.isStaticToView = True
        self.resetView()
        self._frameSprite = sf.Sprite(self.texture)
        if not drawTitleButton:
            self._buttonMoveFrame.isDrawing = False

        self._isMoving = False
        self._mousePosMoving = sf.Vector2(0, 0)
        self.rect = self.rect
예제 #2
0
파일: Chess.py 프로젝트: marchec/chess_game
 def __init__(self, first_player, second_player):
     super().__init__()
     self.title = "Chess game"
     self.in_play = True
     self.board = Board()
     self.render = Render(self)
     self.render.bind("<Button-1>", self.click)
     self.white = self.current_player = Player(first_player, "white")
     self.black = Player(second_player, "black")
     self.police = Police(self.board)
     tkinter.Label(self, text=self.white.name, fg="gray").pack(side="left")
     tkinter.Label(self, text=self.black.name,
                   fg="black").pack(side="right")
     self.mainloop()
예제 #3
0
    def __init__(self, videoMode=sf.VideoMode(800, 600, 32), \
            title="window", parent=0, framerateLimit=60,\
            backgroundColor = sf.Color.BLACK, backgroundImage = Image()):

        sf.RenderWindow.__init__(self, videoMode, title)
        Render.__init__(self, parent, sf.Rectangle(sf.Vector2(),\
                videoMode.size), backgroundColor, backgroundImage)

        self._isStaticToView = False
        self.position = (0,0)
        self.framerate_limit = framerateLimit
        self._framerate = framerateLimit
        self._event = EventManager(self)
        self.resetView()
        self.clear(backgroundColor)
예제 #4
0
    def serve(ip, port):
        """ 支持多个客户端并发访问的服务端功能
        :param ip: string 服务端的ipv4地址
        :param port: int 服务端的端口
        """
        print(ip + ' ' + str(port))
        server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
        server.bind((ip, port))
        server.listen(5)  # 设置最大的连接数

        while True:
            print('server waiting for data...')
            # 接收数据 socket 与 address
            # socket的绑定地址就是客户端, 所以可以直接通过这个socket对客户端发送信息
            cus, cus_address = server.accept()
            print('Successfully connected from: ', cus_address)

            emotion = cus.recv(1024).decode('gbk')
            song_url = str(Render.render_song(emotion))
            print('长度 = ' + str(len(song_url)) + '\n爬取到的连接 = ' + song_url)

            cus.send(str(
                len(song_url)).encode('gbk'))  # int数字转换为str, 再转换为bytes
            cus.send(song_url.encode('gbk'))
            cus.close()
예제 #5
0
    def handle_sim_space_click(self, mouse_pos):

        # Check if a body was clicked
        pos = Render.convert_to_renderer(mouse_pos)
        body_clicked = None
        # check for a collision with any body
        for body in self.allBodies:
            if body.click_point(pos):
                body_clicked = body
                break

        if body_clicked is not None:
            # If a body is clicked, select/deselect it
            if body_clicked in self.selected_bodies:
                self.selected_bodies.remove(body_clicked)
            else:
                self.selected_bodies.append(body_clicked)
            if len(self.selected_bodies) > 0:
                self.details_bar.selected_objects = self.selected_bodies
            else:
                self.details_bar.selected_objects = []
        else:
            # If no body is clicked, either deselect all, or create new body
            if len(self.selected_bodies) != 0:
                self.selected_bodies = []
            else:
                o = Body(pos)
                self.allBodies.append(o)
                self.selected_bodies.append(o)
                self.paths_calculated = False

        self.do_when_selected_bodies_changed()
        self.details_bar.update(True)
예제 #6
0
    def __init__(self):

        self.clock = pygame.time.Clock()
        self.screen = pygame.display.set_mode(config.window_size)

        Render.set_surface(pygame.display.get_surface())

        self.allBodies = [
            Body(name="Star_1",
                 position=(0, 0),
                 mass=500,
                 colour=(255, 255, 186)),
            Body(name="Star_2",
                 position=(-40, 0),
                 mass=500,
                 velocity=(0, -4.84),
                 colour=(255, 255, 186)),
            Body(name="Earth",
                 position=(-250, 0),
                 mass=10,
                 velocity=(0, -4.5),
                 colour=(186, 255, 255)),
            Body(name="Moon",
                 position=(-265, 0),
                 mass=1,
                 velocity=(0, -5.39),
                 colour=(255, 255, 255))
        ]

        self.KeyPressDict = {}
        self.init_key_press_dict()

        self.focus_point = None
        self.focus_bodies = [self.allBodies[0], self.allBodies[1]]
        self.set_focus_point()

        self.paths_calculated = False
        self.isPaused = True

        self.details_bar = None
        self.create_details_sidebar()

        self.is_in_input_mode = False

        self.selected_bodies = []
        self.selected_input_obj = None
예제 #7
0
    def predictions_center_on_focus_body(self, focus_body):

        for i in range(len(self.future_positions)):
            future_offset = Calc.subtract_vector2(Render.offset,
                                                  Render.calc_offset(focus_body.future_positions[i]))

            self.future_positions[i] = Calc.subtract_vector2(self.future_positions[i],
                                                             future_offset)
예제 #8
0
    def update(self):
        """Update the Window. It Update all event, and update framerate.
        It Draw and display also all widgets child"""
        if self.canUpdate:
            self._event.update()
            self._framerate = 1/(self._event.elapsedTime*10**-6)

            if self._event.isResize:
                Render._setSize(self,self.size)

            if self.event._mouseMoved:
                Widget.widgetFocus = None
    
            if self.event._mouseMoved and self.event.isMouseInRect(self.rect):
                Updatable._focusIsChecked= False
                Updatable.updateFocus(self)
            Widget.update(self, self)
            self.display()
            self.clear(self.backgroundColor)
예제 #9
0
파일: Game.py 프로젝트: amakaroff/domino
 def __init__(self):
     self.__heap: Heap = Heap(7)
     self.__info: Info = Info()
     self.__board: Board = Board()
     self.__computer: Computer = Computer(self.__heap, self.__board)
     self.__user: User = User(self.__heap, self.__board, self.__info)
     self.__render: Render = Render(self.__heap, self.__board, self.__info,
                                    self.__computer, self.__user)
     self.__user.set_render(self.__render.render)
     self.__computer.set_render(self.__render.render)
     self.__player: Player = self.select_first()
예제 #10
0
파일: Chess.py 프로젝트: marchec/chess_game
class Chess(tkinter.Tk):
    def __init__(self, first_player, second_player):
        super().__init__()
        self.title = "Chess game"
        self.in_play = True
        self.board = Board()
        self.render = Render(self)
        self.render.bind("<Button-1>", self.click)
        self.white = self.current_player = Player(first_player, "white")
        self.black = Player(second_player, "black")
        self.police = Police(self.board)
        tkinter.Label(self, text=self.white.name, fg="gray").pack(side="left")
        tkinter.Label(self, text=self.black.name,
                      fg="black").pack(side="right")
        self.mainloop()

    def next_turn(self):
        """changes the current player to the other one"""
        if (self.current_player == self.white):
            self.current_player = self.black
        else:
            self.current_player = self.white
        if self.police.checkmated(
                self.board.get_king(self.current_player.color)):
            self.in_play = False
            self.render.inform_of_lameness(self.current_player)

    def click(self, e):
        """everything that happens when a case is clicked"""
        if self.in_play:
            case_clicked = self.render.pos_to_units((e.x, e.y))
            move_set = []
            if self.board.get_activated_piece() != None:
                if case_clicked in self.police.strip_illegal_moves(
                        self.board.get_activated_piece()):
                    if self.board.piece_on_case(case_clicked) != None:
                        self.current_player.score += self.board.piece_on_case(
                            case_clicked).value
                        self.board.disappear(
                            self.board.piece_on_case(case_clicked))
                    self.board.get_activated_piece().move(case_clicked)
                    self.next_turn()
                self.board.get_activated_piece().deactivate()
            else:
                if self.board.piece_on_case(
                        case_clicked) != None and self.board.piece_on_case(
                            case_clicked).color == self.current_player.color:
                    self.board.piece_on_case(case_clicked).activate()
                    move_set = self.police.strip_illegal_moves(
                        self.board.get_activated_piece())
            self.render.draw_board(self.board, move_set)
    def _term_return_file_info(self, custom_cmd=''):
        """Run the terminal command to get the info from ffprobe.\n
		custom_cmd can be a list of a command to run in the terminal,
		but if it's not specified then return all file info."""

        if custom_cmd == '':
            info_cmd = ['ffprobe', '-i', self.in_path, '-hide_banner']
        else:
            info_cmd = custom_cmd

        try:
            start_time = time.perf_counter()
            info_process = sub.run(info_cmd,
                                   stdout=sub.PIPE,
                                   stderr=sub.PIPE,
                                   universal_newlines=True)
            # Run actual command and get output.
            end_time = time.perf_counter()
            if self.print_all_info is True:
                # Print all info from ffprobe.
                print(info_process.stderr)
            if self.print_scan_time is True:
                print('\n"', self.in_path, '"', sep='')
                duration = Render.terminal_render_timer(
                    start_time, end_time, operation_keyword=' to scan')
                print(duration)
            return info_process.stderr + info_process.stdout
        # Return True (it worked.)
        except sub.CalledProcessError:
            # Unknown error occurred so print an error and return False.
            if self.print_all_info is True:
                # The render failed, print an error message.
                print(
                    f'\nError, a problem occurred with metadata acquisition:')
                print(
                    f'Terminal input command: {info_cmd}\n{info_process.stderr}'
                )
                quit()
            return False
"""

############################# SNOWMAN ###########################################

###################################################Materiales ##############################
negro = Material(diffuse=color(0, 0, 0))
naranja = Material(diffuse=color(0.92, 0.56, 0.12))
Snow = Material(diffuse=color(1, 1, 1))
Azulado = Material(diffuse=color(0, 0, 1))

#################################################################################

width = 700
height = 700

prueba = Render(width, height)
prueba.light = Light(position=(-5, 5, 0), intensity=1.5)

# pa que corra todo junto y no separado

#      coordenada x,y,z radio , material
prueba.scene = [
    Sphere((0, 1, -10), 1.5, Snow),
    Sphere((0, 3.2, -10), 1, Snow),
    Sphere((0, -2, -10), 2, Snow),
    Sphere((0, 3, -9), 0.2, naranja),
    Sphere((0.5, 3.2, -9), 0.15, negro),
    Sphere((-0.5, 3.2, -9), 0.15, negro),
    Sphere((-0.5, 2.5, -9), 0.10, negro),
    Sphere((0.5, 2.5, -9), 0.10, negro),
    Sphere((0, 2.5, -9), 0.10, negro),
예제 #13
0
파일: main.py 프로젝트: jrosum/cloud-slic3r
import zipfile
from random import random
from stltools import stl, utils
import stl as stl_numpy
from stl import mesh
from RepairStl import RepairStl
from SendToPrinter import SendToPrinter
from StlRotator import StlRotator
from requests import post
from requests_toolbelt.multipart.encoder import MultipartEncoder
from os import path
from time import sleep
import configparser

app = Flask(__name__)
render = Render(system, random, stl, utils, mesh, stl_numpy)
repair_stl = RepairStl(system)
stl_rotate = StlRotator()

config = configparser.ConfigParser()
config.sections()
config.read(['/etc/cloud-slic3r/config.ini', 'config.ini'])
config.sections()

api_key = config['print_server']['api_key']
host = config['print_server']['host']
printer_name = config['print_server']['printer_name']

printer_client = SendToPrinter(host, printer_name, api_key, post,
                               MultipartEncoder, path)
예제 #14
0
파일: #main.py 프로젝트: math2001/2048
from Keyboard import Keyboard
from Render import Render
from Game import run_game_lose

pygame.init()

screen = pygame.display.set_mode((400, 400))
pygame.display.set_caption('2048')

font = pygame.font.Font('font/ahronbd.ttf', 50)


move = Move()
move.generate_structure()
keyboard = Keyboard()
render = Render()
cont = True
game_lose = False
while cont:
	screen.fill(h333)
	key = keyboard.check()
	
	if key == "down":
		move.down()
	elif key == "up":
		move.up()
	elif key == "left":
		move.left()
	elif key == "right":
		move.right()
	elif key == "end":
예제 #15
0
# -*- coding: utf-8 -*-
"""
Created on Wed May  1 10:07:36 2019

@author: Mateusz
"""

from Render import Render

if __name__ == '__main__':
    Render().draw()
예제 #16
0
    n2 = n1/3  # number of particles to make the background
    r  = np.random.rand(n1)
    phi = np.pi*np.random.rand(n1)
    pos = np.zeros([3,n1], dtype=np.float32)
    pos[0,:] = r*np.cos(phi)
    pos[1,:] = r*np.sin(phi)
    pos[2,:] = 0.1*np.random.rand(n1)
    
    background = -2+4*np.random.rand(3,n2)
    pos = np.concatenate((pos,background),axis=1)
    
    mass = np.ones(n1+n2)

    Particles1 = Particles(pos,mass,sort=True)
    Scene1 = Scene(Particles1)
    Render1 = Render(Scene1)
    for i in xrange(100):
        start = time.time()
        Scene1.update_camera(r=2.00, t=90, roll=30, xsize=1920, ysize=1080)
        Render1 = Render(Scene1)
        Render1.set_logscale()
        img = Render1.get_image()
        extent = Render1.get_extent()
        stop = time.time()
        print 'Time = ', stop-start
        fig = plt.figure(1,figsize=(5,5))
        ax1 = fig.add_subplot(111)
        ax1.imshow(img, extent=extent, origin='lower', cmap='hot')
        ax1.set_xlabel('X', size=15)
        ax1.set_ylabel('Y', size=15)
        
예제 #17
0
from Render import Render, color


########################### Lista de colores para probar
Fondo = color(0,0,0) #negro
Blanco = color(1,1,1)
CYAN = color(0,1,1)
Red = color(1,0,0)
BLUE = (0,0,1)
YELLOW = (1,1,0)

###########################################################
# tamaño de la imagen
prueba = Render(1000, 1000)
# introduzca el tamaño del viewport
prueba.glViewport(250, 250, 600, 600)

# ingrese el color del fondo
prueba.glClearColor(0,0,0)

# ingrese el color para pintar
prueba.glColor(1, 0, 0)
prueba.glClear()

######################Punto ##################################
# si quiere pintar un punto es aqui
#prueba.punto(150,275)
#prueba.glColor(1,0,0)
#prueba.punto(100,200)

# quiere pintar una linea, perfecto! aca es el espacio
예제 #18
0
 def _setTitle(self, button):
     self._buttonMoveFrame = button
     self._buttonMoveFrame.setSize(sf.Vector2(self.size.x, button.size.y))
     self._buttonMoveFrame.setParent(self, pos=1)
     Render._setTitle(self, button.text.text.string)
예제 #19
0
    def render(self):

        Render.draw_circle(self.position, colour=self.colour, radius=int(self.radius))
예제 #20
0
    elif choose == "guest":
        host = input(
            "Введите адрес подключения (оставьте пустым для localhost): ")
        port = input(
            "Выберите порт подключения (оставьте пустым для дефолтного): ")
        socket = Client(host, port).make_socket()
        return socket, choose


sock, conn_type = make_connections()

if conn_type == "host":
    self_player, enemy_player = Ivent.start_as_host(sock)
    active_player = self_player
    renderer = Render(self_player, enemy_player)
else:
    enemy_player, self_player = Ivent.start_as_guest(sock)
    active_player = enemy_player
    renderer = Render(enemy_player, self_player)

Ivent.init(renderer)
active_player.tank.x, active_player.tank.y = active_player.land.box_x // 8, active_player.land.box_y // 6
active_player.enemy.x, active_player.enemy.y = active_player.land.box_x // 8 * 7, active_player.land.box_y // 6
go = True

while go:
    if self_player == active_player:
        isActive = True
    else:
        isActive = False
예제 #21
0
    def render_select_bubble(self):

        border = int(0.1 * self.radius + 1)
        Render.draw_circle(self.position, colour=Body.selection_colour, radius=int(self.radius + 5), border=border)
예제 #22
0
Jorge Suchite Carnet 15293
07/07/2020
SR3 : Obj
"""

########################### Lista de colores para probar
Fondo = color(0, 0, 0)  #negro
Blanco = color(1, 1, 1)
CYAN = color(0, 1, 1)
Red = color(1, 0, 0)
BLUE = (0, 0, 1)
YELLOW = (1, 1, 0)

###########################################################
# tamaño de la imagen
prueba = Render(1000, 1000)
# introduzca el tamaño del viewport
#prueba.glViewport(500, 150, 200 ,400)

# ingrese el color del fondo
prueba.glClearColor(0, 0, 0)

# ingrese el color para pintar
prueba.glColor(0, 0, 1)
prueba.glClear()

######################Punto ##################################
# si quiere pintar un punto es aqui
#prueba.punto(150,275)
#prueba.glColor(1,0,0)
#prueba.punto(100,200)
예제 #23
0
from Render import Render, color


########################### Lista de colores para probar
Fondo = color(0,0,0)
Blanco = color(1,1,1)
CYAN = color(0,1,1)
Red = color(1,0,0)
BLUE = (0,0,1)
YELLOW = (1,1,0)

###########################################################
# tamaño de la imagen
prueba = Render(600, 600)
# introduzca el tamaño del viewport
prueba.glViewport(100, 100, 400, 400)

# ingrese el color del fondo
prueba.glClearColor(0,0,0)

# ingrese el color para pintar
prueba.glColor(1, 0, 0)
prueba.glClear()
# si quiere pintar un punto es aqui
prueba.punto(150,275)
prueba.glColor(1,0,0)
prueba.punto(100,200)

# quiere pintar una linea, perfecto! aca es el espacio

예제 #24
0
 def _setView(self,view):
     sf.RenderWindow.view.__set__(self, view)
     Render._setView(self,view)
Jorge Suchite Carnet 15293
07/07/2020
Lab 01 Filling a polygon 
"""

########################### Lista de colores para probar
Fondo = color(0, 0, 0)  #negro
Blanco = color(1, 1, 1)
CYAN = color(0, 1, 1)
Red = color(1, 0, 0)
BLUE = (0, 0, 1)
YELLOW = (1, 1, 0)

###########################################################
# tamaño de la imagen
prueba = Render(1080, 720)
# introduzca el tamaño del viewport
#prueba.glViewport(500, 150, 200 ,400)

# ingrese el color del fondo
#prueba.glClearColor(0,0,0)

# ingrese el color para pintar

prueba.glClear()

######################Punto ##################################
# si quiere pintar un punto es aqui
#prueba.punto(150,275)
#prueba.glColor(1,0,0)
#prueba.punto(100,200)
Jorge Suchite Carnet 15293
07/07/2020
SR3 : Obj
"""

########################### Lista de colores para probar
Fondo = color(0, 0, 0)  #negro
Blanco = color(1, 1, 1)
CYAN = color(0, 1, 1)
Red = color(1, 0, 0)
BLUE = (0, 0, 1)
YELLOW = (1, 1, 0)

###########################################################
# tamaño de la imagen
prueba = Render(700, 700)
# introduzca el tamaño del viewport
#prueba.glViewport(500, 150, 200 ,400)

# ingrese el color del fondo
prueba.glClearColor(0, 0, 0)

# ingrese el color para pintar
prueba.glColor(0, 0, 1)
prueba.glClear()

######################Punto ##################################
# si quiere pintar un punto es aqui
#prueba.punto(150,275)
#prueba.glColor(1,0,0)
#prueba.punto(100,200)
예제 #27
0
    def center_frame_on_focus(self):

        if self.focus_point is not None:
            Render.center_on(self.focus_point.position)
        else:
            Render.center_on((0, 0))
예제 #28
0
    def render_paths(self):

        path_width = ceil(self.radius / 4)

        Render.draw_lines(self.future_positions, color=self.path_colour, width=path_width)
'''
Created on 13 Jun 2014

@author: Etienne2
'''

from Render import Render

Render().run()
예제 #30
0
Jorge Suchite Carnet 15293
07/07/2020
SR3 : Obj
"""

########################### Lista de colores para probar
Fondo = color(0, 0, 0)  #negro
Blanco = color(1, 1, 1)
CYAN = color(0, 1, 1)
Red = color(1, 0, 0)
BLUE = (0, 0, 1)
YELLOW = (1, 1, 0)

###########################################################
# tamaño de la imagen
prueba = Render(1000, 500)
# introduzca el tamaño del viewport
#prueba.glViewport(500, 150, 200 ,400)

# ingrese el color del fondo
#prueba.glClearColor(0,0,0)

# ingrese el color para pintar

#prueba.glClear()

######################Punto ##################################
# si quiere pintar un punto es aqui
#prueba.punto(150,275)
#prueba.glColor(1,0,0)
#prueba.punto(100,200)