OMG julia!
This commit is contained in:
parent
5da350f7d8
commit
4972766302
39
DR.jl
Normal file
39
DR.jl
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#=
|
||||||
|
DR:
|
||||||
|
- Julia version: 1.7.2
|
||||||
|
- Author: shenjack
|
||||||
|
- Date: 2022-02-19
|
||||||
|
=#
|
||||||
|
|
||||||
|
|
||||||
|
using PyCall
|
||||||
|
|
||||||
|
include("Difficult_Rocket/main.jl")
|
||||||
|
|
||||||
|
HiMessage = """
|
||||||
|
Difficult Rocket is writen by shenjackyuanjie
|
||||||
|
mail: 3695888@qq.com or shyj3695888@163.com
|
||||||
|
QQ: 3695888""" :: String
|
||||||
|
|
||||||
|
|
||||||
|
function py__init__()
|
||||||
|
println(HiMessage)
|
||||||
|
py"""
|
||||||
|
import sys
|
||||||
|
sys.path.append(".")
|
||||||
|
sys.path.append("libs/")
|
||||||
|
"""
|
||||||
|
game = pyimport("Difficult_Rocket.main")
|
||||||
|
Game = game.Game()
|
||||||
|
Game.start()
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
print("是否运行py版 y/n")
|
||||||
|
yesOrNo = readline(stdin)
|
||||||
|
if yesOrNo == "y"
|
||||||
|
@timev py__init__()
|
||||||
|
else
|
||||||
|
@timev main.GLFW__init__()
|
||||||
|
end
|
@ -26,8 +26,7 @@ if __name__ == '__main__': # been start will not run this
|
|||||||
sys.path.append('/bin')
|
sys.path.append('/bin')
|
||||||
|
|
||||||
# Difficult_Rocket function
|
# Difficult_Rocket function
|
||||||
import translate
|
from Difficult_Rocket import translate
|
||||||
|
|
||||||
from Difficult_Rocket.api.Exp import *
|
from Difficult_Rocket.api.Exp import *
|
||||||
from Difficult_Rocket.translate import tr
|
from Difficult_Rocket.translate import tr
|
||||||
from Difficult_Rocket.command import line
|
from Difficult_Rocket.command import line
|
||||||
|
34
Difficult_Rocket/main.jl
Normal file
34
Difficult_Rocket/main.jl
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#=
|
||||||
|
main:
|
||||||
|
- Julia version: 1.7.2
|
||||||
|
- Author: shenjack
|
||||||
|
- Date: 2022-02-19
|
||||||
|
=#
|
||||||
|
|
||||||
|
using GLFW
|
||||||
|
|
||||||
|
export GLFW__init__
|
||||||
|
|
||||||
|
function GLFW__init__()
|
||||||
|
# Create a window and its OpenGL context
|
||||||
|
window = GLFW.CreateWindow(640, 480, "DR-GLFW test")
|
||||||
|
|
||||||
|
# Make the window's context current
|
||||||
|
GLFW.MakeContextCurrent(window)
|
||||||
|
GLFW.WindowHint(GLFW.CONTEXT_VERSION_MAJOR, 3)
|
||||||
|
GLFW.WindowHint(GLFW.CONTEXT_VERSION_MINOR, 3)
|
||||||
|
|
||||||
|
# Loop until the user closes the window
|
||||||
|
while !GLFW.WindowShouldClose(window)
|
||||||
|
|
||||||
|
# Render here
|
||||||
|
|
||||||
|
# Swap front and back buffers
|
||||||
|
GLFW.SwapBuffers(window)
|
||||||
|
|
||||||
|
# Poll for and process events
|
||||||
|
GLFW.PollEvents()
|
||||||
|
end
|
||||||
|
|
||||||
|
GLFW.DestroyWindow(window)
|
||||||
|
end
|
@ -71,7 +71,7 @@ class Game:
|
|||||||
# @new_thread('main')
|
# @new_thread('main')
|
||||||
def _start(self):
|
def _start(self):
|
||||||
self.server.run()
|
self.server.run()
|
||||||
threaded = False
|
threaded = True
|
||||||
if threaded:
|
if threaded:
|
||||||
try:
|
try:
|
||||||
game_process = multiprocessing.Process(target=self.client.start(), name='pyglet app')
|
game_process = multiprocessing.Process(target=self.client.start(), name='pyglet app')
|
||||||
|
@ -20,8 +20,8 @@ if __name__ == '__main__': # been start will not run this
|
|||||||
sys.path.append('/bin')
|
sys.path.append('/bin')
|
||||||
|
|
||||||
from Difficult_Rocket.api import tools
|
from Difficult_Rocket.api import tools
|
||||||
from api.delivery import Delivery
|
from Difficult_Rocket.api.delivery import Delivery
|
||||||
from api.new_thread import new_thread
|
from Difficult_Rocket.api.new_thread import new_thread
|
||||||
|
|
||||||
|
|
||||||
# TODO 改变服务端启动逻辑 0.6.0会写完的(
|
# TODO 改变服务端启动逻辑 0.6.0会写完的(
|
||||||
|
@ -8,7 +8,7 @@ fonts_folder = libs/fonts
|
|||||||
|
|
||||||
[window]
|
[window]
|
||||||
style = None
|
style = None
|
||||||
width = 1299
|
width = 1300
|
||||||
height = 931
|
height = 931
|
||||||
visible = true
|
visible = true
|
||||||
caption = Difficult Rocket {version}
|
caption = Difficult Rocket {version}
|
||||||
|
@ -389,10 +389,10 @@ class VertexList:
|
|||||||
"""dynamic access to vertex attributes, for backwards compatibility.
|
"""dynamic access to vertex attributes, for backwards compatibility.
|
||||||
"""
|
"""
|
||||||
domain = self.domain
|
domain = self.domain
|
||||||
if self._cache_versions.get(name, None) != domain.game_version:
|
if self._cache_versions.get(name, None) != domain.version:
|
||||||
attribute = domain.attribute_names[name]
|
attribute = domain.attribute_names[name]
|
||||||
self._caches[name] = attribute.get_region(attribute.buffer, self.start, self.count)
|
self._caches[name] = attribute.get_region(attribute.buffer, self.start, self.count)
|
||||||
self._cache_versions[name] = domain.game_version
|
self._cache_versions[name] = domain.version
|
||||||
|
|
||||||
region = self._caches[name]
|
region = self._caches[name]
|
||||||
region.invalidate()
|
region.invalidate()
|
||||||
@ -638,10 +638,10 @@ class IndexedVertexList(VertexList):
|
|||||||
@property
|
@property
|
||||||
def indices(self):
|
def indices(self):
|
||||||
"""Array of index data."""
|
"""Array of index data."""
|
||||||
if self._indices_cache_version != self.domain.game_version:
|
if self._indices_cache_version != self.domain.version:
|
||||||
domain = self.domain
|
domain = self.domain
|
||||||
self._indices_cache = domain.get_index_region(self.index_start, self.index_count)
|
self._indices_cache = domain.get_index_region(self.index_start, self.index_count)
|
||||||
self._indices_cache_version = domain.game_version
|
self._indices_cache_version = domain.version
|
||||||
|
|
||||||
region = self._indices_cache
|
region = self._indices_cache
|
||||||
region.invalidate()
|
region.invalidate()
|
||||||
|
84
try/julia/some_eval.jl
Normal file
84
try/julia/some_eval.jl
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#=
|
||||||
|
some_eval:
|
||||||
|
- Julia version: 1.7.2
|
||||||
|
- Author: shenjack
|
||||||
|
- Date: 2022-02-22
|
||||||
|
=#
|
||||||
|
|
||||||
|
function boom!(状态::Vector{Int64}, 动作::Vector{Int64})::Bool
|
||||||
|
if 动作[1] == 动作[2]
|
||||||
|
if 状态[动作[1]] >= 2
|
||||||
|
状态[动作[1]] -= 2 # 对应种类粒子减少两个
|
||||||
|
状态[2] += 1 # 乙种+1
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
elseif 状态[动作[1]] >= 1 * 状态[动作[2]] >= 1
|
||||||
|
状态[动作[1]] -= 1
|
||||||
|
状态[动作[2]] -= 1 # 对应种类粒子减少两个
|
||||||
|
状态[(6 - 动作[1] - 动作[2])] += 1 # 第三种粒子+1
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function bumper(层数::Int64, 状态::Vector{Int64}, 动作::Union{Vector{Int64}, Missing} = missing)
|
||||||
|
# println("stack: $层数 动作: $动作 状态: $状态")
|
||||||
|
if !ismissing(动作)
|
||||||
|
if !boom!(状态, 动作)
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (状态[1] + 状态[2] + 状态[3]) == 1
|
||||||
|
global gets
|
||||||
|
gets = [gets[i]+状态[i] for i=1:3]
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
if 层数 <= 3
|
||||||
|
for x = 1:3
|
||||||
|
Threads.@threads for y = x:3
|
||||||
|
bumper(层数 + 1, copy(状态), [x, y])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for x = 1:3
|
||||||
|
for y = x:3
|
||||||
|
bumper(层数+1, copy(状态), [x, y])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
gets = [0, 0, 0]
|
||||||
|
|
||||||
|
function countspeed()
|
||||||
|
last = [0, 0, 0]
|
||||||
|
global gets
|
||||||
|
for timein = 1:20
|
||||||
|
println("ruaa")
|
||||||
|
@time sleep(1)
|
||||||
|
new = [gets[i]-last[i] for i = 1:3]
|
||||||
|
println("总计 $gets 新的 $new")
|
||||||
|
last = gets
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function runbump(times, 状态)
|
||||||
|
for x = 1:times
|
||||||
|
global gets
|
||||||
|
gets = [0, 0, 0]
|
||||||
|
# @async countspeed()
|
||||||
|
@time bumper(1, 状态, missing)
|
||||||
|
sleep(0.2)
|
||||||
|
print("$x ")
|
||||||
|
println(gets)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
println(Threads.nthreads())
|
||||||
|
|
||||||
|
runbump(20, [6, 4, 5])
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
#=
|
#=
|
||||||
trytry:
|
trytry:
|
||||||
- Julia version: 1.7.1
|
- Julia version: 1.7.2
|
||||||
- Author: shenjack
|
- Author: shenjack
|
||||||
- Date: 2022-01-17
|
- Date: 2022-01-17
|
||||||
=#
|
=#
|
||||||
@ -9,7 +9,6 @@ println("Hello, world!")
|
|||||||
|
|
||||||
# 输入字符,然后输出输入的字符
|
# 输入字符,然后输出输入的字符
|
||||||
|
|
||||||
@time
|
|
||||||
function run()
|
function run()
|
||||||
|
|
||||||
ABigFloat = BigFloat(1111111111111111111111111111111111111111.1111111) * BigFloat(11111123.5111)
|
ABigFloat = BigFloat(1111111111111111111111111111111111111111.1111111) * BigFloat(11111123.5111)
|
||||||
|
78
try/performance_check/some_eval.py
Normal file
78
try/performance_check/some_eval.py
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# -------------------------------
|
||||||
|
# Difficult Rocket
|
||||||
|
# Copyright © 2021-2022 by shenjackyuanjie
|
||||||
|
# All rights reserved
|
||||||
|
# -------------------------------
|
||||||
|
|
||||||
|
"""
|
||||||
|
writen by shenjackyuanjie
|
||||||
|
mail: 3695888@qq.com
|
||||||
|
github: @shenjackyuanjie
|
||||||
|
gitee: @shenjackyuanjie
|
||||||
|
"""
|
||||||
|
|
||||||
|
import threading
|
||||||
|
import multiprocessing
|
||||||
|
import time
|
||||||
|
|
||||||
|
初始状态 = [6, 4, 5]
|
||||||
|
结果 = []
|
||||||
|
|
||||||
|
|
||||||
|
def 开撞(stack: int, 状态_: list, 记录: list, 动作: list = None):
|
||||||
|
状态 = 状态_.copy()
|
||||||
|
# 进行碰撞
|
||||||
|
if 动作 is not None:
|
||||||
|
if 状态[动作[0]] >= 1 and 状态[动作[1]] >= 1:
|
||||||
|
if 动作[0] == 动作[1] and 状态[动作[0]] < 2:
|
||||||
|
return "动作无效,退钱!"
|
||||||
|
状态[动作[0]] -= 1
|
||||||
|
状态[动作[1]] -= 1
|
||||||
|
if 动作[0] == 动作[1]:
|
||||||
|
状态[1] += 1
|
||||||
|
else:
|
||||||
|
状态[(6 - (动作[0] + 1) - (动作[1] + 1)) - 1] += 1
|
||||||
|
记录.append(动作)
|
||||||
|
else:
|
||||||
|
return "动作无效,退钱!"
|
||||||
|
# 判定是否只剩一个
|
||||||
|
if 状态[0] + 状态[1] + 状态[2] == 1:
|
||||||
|
global get
|
||||||
|
get = [状态[x]+get[x] for x in range(0, 3)]
|
||||||
|
# 结果 += [状态, 记录]
|
||||||
|
# print(状态)
|
||||||
|
# with open("soluition.md", mode='a') as file:
|
||||||
|
# file.write("{}\n".format(状态))
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
if stack < 3:
|
||||||
|
进程池_ = []
|
||||||
|
for x in range(0, 3):
|
||||||
|
for y in range(x, 3):
|
||||||
|
撞他 = threading.Thread(target=开撞, args=(stack + 1, 状态, 记录, [x, y]), name="{}-{}".format(状态, 动作))
|
||||||
|
撞他.start()
|
||||||
|
进程池_.append(撞他)
|
||||||
|
for 进程 in 进程池_:
|
||||||
|
if 进程.is_alive():
|
||||||
|
进程.join()
|
||||||
|
else:
|
||||||
|
for x in range(0, 3):
|
||||||
|
for y in range(x, 3):
|
||||||
|
开撞(stack + 1, 状态, 记录, [x, y])
|
||||||
|
|
||||||
|
|
||||||
|
def 找茬():
|
||||||
|
while True:
|
||||||
|
time.sleep(1)
|
||||||
|
global get
|
||||||
|
print(get)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
get = [0, 0, 0]
|
||||||
|
finding = threading.Thread(target=找茬, daemon=True)
|
||||||
|
finding.start()
|
||||||
|
开撞(1, [6, 4, 5], [])
|
||||||
|
print("----------------")
|
||||||
|
print(get)
|
||||||
|
# print(结果)
|
Loading…
Reference in New Issue
Block a user