This commit is contained in:
沈瑗杰 2021-02-26 19:05:24 +08:00
parent 21ec0cd55f
commit 94eb26ae22
6 changed files with 39 additions and 29 deletions

View File

@ -6,7 +6,6 @@ mail: 3695888@qq.com
import os
import time
import pyglet
import random
from pyglet.window import key
from pyglet.window import mouse
import multiprocessing as mp
@ -166,6 +165,10 @@ class window(pyglet.window.Window):
self.min_fps = [self.FPS, time.time()]
self.info_label.text = 'now FPS: %03d max FPS: %02d min FPS: %02d' % (
now_FPS, self.max_fps[0], self.min_fps[0])
self.info_label.anchor_x = 'left'
self.info_label.anchor_y = 'top'
self.info_label.x = 10
self.info_label.y = self.height - 10
def hit_box_update(self):
for hit_box in self.button_hitbox:
@ -210,6 +213,8 @@ class window(pyglet.window.Window):
self.textures['runtime']['zoom_out'].x = 260 + 40
self.textures['runtime']['zoom_out'].y = tool_y + 25 + 50
else:
self.button_toggled['zoom_in'] = -1
self.button_toggled['zoom_out'] = -1
self.textures['runtime']['zoom_in'].x = self.width + 1
self.textures['runtime']['zoom_out'].x = self.width + 1
@ -236,21 +241,20 @@ class window(pyglet.window.Window):
pass
def on_mouse_press(self, x, y, button, modifiers):
print(x, y, button, modifiers)
if button == mouse.LEFT:
self.logger.info('左键! 在 x:%s y:%s' % (x, y))
self.logger.debug('左键! 在 x:%s y:%s' % (x, y))
for hit_box in self.button_hitbox:
box = self.button_hitbox[hit_box]
if (box[0] <= x <= box[2]) and (box[1] <= y <= box[3]):
self.button_toggled[hit_box] *= -1
self.logger.debug(
'%s %s %s' % (hit_box, self.lang['button.been_press'], self.button_toggled[hit_box]))
self.logger.debug('%s %s %s' % (hit_box,
self.lang['button.been_press'],
self.button_toggled[hit_box]))
break
elif button == mouse.RIGHT:
self.logger.info('右键! 在 x:%s y:%s' % (x, y))
self.logger.debug('右键! 在 x:%s y:%s' % (x, y))
def on_key_press(self, symbol, modifiers):
print(symbol, modifiers)
if symbol == key.ESCAPE and not (modifiers & ~(key.MOD_NUMLOCK |
key.MOD_CAPSLOCK |
key.MOD_SCROLLLOCK)):

View File

@ -5,6 +5,7 @@ mail: 3695888@qq.com
# import re
import os
import sys
import time
import json5
import decimal
@ -146,5 +147,7 @@ def name_handler(name: str, configs=None) -> str:
replace = time.time()
elif need_replace == '{dir}':
replace = os.getcwd()
elif need_replace == '{py_v}':
replace = sys.version.split(' ')[0]
name = name.replace(need_replace, replace)
return name

View File

@ -8,7 +8,6 @@ from multiprocessing import Manager as share
import sys
import time
import pyglet
import logging
try:
@ -28,9 +27,7 @@ class Game:
def __init__(self):
# basic config
self.on_python_v_info = sys.version_info
self.on_python_v = str('%d.%d.%d' % (self.on_python_v_info[0],
self.on_python_v_info[1],
self.on_python_v_info[2]))
self.on_python_v = sys.version.split(' ')[0]
self.start_time = time.strftime('%Y-%m-%d %H-%M-%S', time.gmtime(time.time()))
# share memory
@ -49,7 +46,7 @@ class Game:
self.root_logger_stream_handler.setLevel(self.log_config['level'])
self.root_logger_stream_handler.setFormatter(self.root_logger_fmt)
self.root_logger_stream_handler.setLevel(tools.log_level(self.log_config['level']))
self.root_logger_file_handler = logging.FileHandler('logs/' + self.log_filename)
self.root_logger_file_handler = logging.FileHandler('logs/' + self.log_filename, encoding='utf-8')
self.root_logger_file_handler.setFormatter(self.root_logger_fmt)
self.root_logger_file_handler.setLevel(tools.log_level(self.log_config['level']))
# root logger setup
@ -67,7 +64,8 @@ class Game:
self.python_version_check()
# client and server
self.client = client.client(self.client_logger, self.dicts, self.lists, self.language, net_mode='local')
self.server = server.server(self.lists, self.dicts, self.server_logger, net_mode='local')
self.server = server.server(self.lists, self.dicts, self.server_logger, language=self.language,
net_mode='local')
def log_configs(self):
self.main_logger.info('%s %s' % (self.lang['logger.language'], self.lang['lang.language']))
@ -78,13 +76,13 @@ class Game:
self.main_logger.debug('%s %s' % (self.lang['logger.logfile_datefmt'], self.log_config['date_fmt']))
def python_version_check(self):
self.main_logger.info('Difficult Rocket is running on Python Vision %s' % self.on_python_v)
self.main_logger.info('%s %s' % (self.lang['version.now_on'], self.on_python_v))
if self.on_python_v_info[0] == 2:
self.main_logger.critical('Difficult Rocket need Python vision 3+ but not %s ' % self.on_python_v)
raise Exception('Difficult Rocket need python vision 3+ but not %s ' % self.on_python_v)
self.main_logger.critical('%s' % self.lang['version.need3+'])
raise Exception('%s' % self.lang['version.need3+'])
elif self.on_python_v_info[1] <= 7:
self.main_logger.warning('Difficult is develop in Python version 3.8 \n\
and you are running on %s may cause error' % self.on_python_v)
warning = configs.name_handler(self.lang['version.best3.8+'])
self.main_logger.warning(warning)
def start(self):
# start

View File

@ -27,7 +27,7 @@ class server(mp.Process):
# share memory
self.dev_list = dev_list
self.dev_dic = dev_dic
self.logger.info('%s: %s%s' % (self.lang['os.pid_is1'], self.process_pid, self.lang['os.pid_is2']))
self.logger.info('%s: %s %s' % (self.lang['os.pid_is1'], self.process_pid, self.lang['os.pid_is2']))
self.logger.info('%s' % self.lang['setup.done'])
def run(self):

View File

@ -1,25 +1,27 @@
{
'main': {
'lang. Language ': 'English (EN-US) ',
'version.now_on': 'Difficult Rocket is running on Python Vision',
'version.need3+': 'Difficult Rocket need Python vision 3.0+',
'': '',
'lang.language': 'English (EN-US)',
'logger.language': 'Logging language is: ',
'logger.created': 'Log handler created',
'logger.main_done': 'Main log handler created ',
'logger.logfile_name': 'Log file name: : ',
'logger.logfile_level': 'Log file record level: ',
'logger.logfile_fmt': 'Log file record format: ',
'logger.logfile_datefmt': 'Log file date format: ',
'logger.logfile_name': 'Log file name :',
'logger.logfile_level': 'Log file record level :',
'logger.logfile_fmt': 'Log file record format :',
'logger.logfile_datefmt': 'Log file date format :',
'game_start.at': 'The main thread of the game starts with:'
},
'client': {
'setup.done': 'Client load complete ',
'os.pid_is1': 'Client is using PID :',
'os.pid_is2': 'To Run',
'button.been_press': '按钮被按下,目前状态为:'
//todo 翻译!
'os.pid_is1': 'Client is using PID',
'os.pid_is2': ' To Run',
'button.been_press': 'The button is pressed, the current state of the button is:',
},
'server': {
'setup.done': 'server load complete ',
'os.pid_is1': 'server is using pid',
'os.pid_is1': 'server is using PID',
'os.pid_is2': 'To Run'
}
}

View File

@ -1,5 +1,8 @@
{
'main': {
'version.now_on': '困难火箭的运行Python环境为',
'version.need3+': '困难火箭需要Python3.0+的环境',
'version.best3.8+': '困难火箭是在Python3.8的环境下编写的目前正在运行在Python{py_v}的环境下可能产生BUG',
'lang.language': '简 体 中 文 zh-cn',
'logger.language': '日志记录语言为:',
'logger.created': '日志处理器创建完成',