Daily update on 20221024 by Nitload Youmu

This commit is contained in:
Youmu Konpaku
2022-10-25 01:44:25 +08:00
parent 70b844126b
commit a8fa00bcdc
44 changed files with 580679 additions and 61 deletions
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
c03a58d914d1f5e5175f5a6d1301ee4540a0996a
@@ -0,0 +1,14 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\Debug.exe.config
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\Debug.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\Debug.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\OpenTK.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\StgSharp.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\OpenTK.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\bin\Debug\OpenTK.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\obj\Debug\Debug.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\obj\Debug\Debug.csproj.SuggestedBindingRedirects.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\obj\Debug\Debug.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\obj\Debug\Debug.csproj.CopyComplete
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\obj\Debug\Debug.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Debug\obj\Debug\Debug.pdb
@@ -0,0 +1 @@
obj\Debug\\_IsIncrementalBuild
@@ -0,0 +1,31 @@
using StgSharp.Geometry;
using StgSharp.Logic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Control
{
public class Bind
{
public void SimpleBind(Point p, GeometryI g)
{
if (g!=null)
{
g.Bind(p);
}
}
public void ComplexBind(Point p, Circle c)
{
}
public void ComplexBind(Point p, Line l)
{
}
}
}
@@ -1,17 +1,13 @@
using StgSharp.Geometry; using System;
using StgSharp.Logic;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace StgSharp namespace StgSharp.Control
{ {
public class StgControl public class Create
{ {
} }
} }
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Entity
{
internal class Enemy
{
private float _x;
public float X
{
get { return _x; }
set { _x = value; }
}
private int _y;
public int Y
{
get { return _y; }
set { _y = value; }
}
}
}
@@ -1,4 +1,5 @@
using System; using StgSharp.Geometry;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@@ -8,28 +9,27 @@ namespace StgSharp.Entity
{ {
internal unsafe class Launcher internal unsafe class Launcher
{ {
private Bullet _bullet; private Point _location;
public Bullet NewBullet public Point Location
{ {
get { return _bullet; } get { return _location; }
set { _bullet = value; } set { _location = value; }
} }
private float* _xPositon; protected float _x;
public float* XPsition public float X
{ {
get { return _xPositon; } get { return _location.X; }
set { _xPositon = value; }
} }
private float* _yPosition; private float _y;
public float* YPosition public float YPosition
{ {
get { return _yPosition; } get { return _y; }
set { _yPosition = value; } set { _y = value; }
} }
@@ -38,10 +38,8 @@ namespace StgSharp.Entity
} }
public void Bind(float* _xPointer, float* _yPointer) public void Bind(Point loc)
{ {
_xPositon = _xPointer;
_yPosition = _yPointer;
} }
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
namespace StgSharp.Geometry namespace StgSharp.Geometry
{ {
public unsafe class Circle : Geometry public unsafe class Circle : GeometryI
{ {
private Point _center; private Point _center;
@@ -24,7 +24,7 @@ namespace StgSharp.Geometry
set { _radius = value; } set { _radius = value; }
} }
private float[] _radiusFunc; private float[] _radiusFunc = new float[10];
public float[] RadiusFunc public float[] RadiusFunc
{ {
@@ -50,7 +50,7 @@ namespace StgSharp.Geometry
set { _angle = value; } set { _angle = value; }
} }
private float[] _rotateFunc; private float[] _rotateFunc = new float[10];
private float[] RotateFunc private float[] RotateFunc
{ {
get { return _rotateFunc; } get { return _rotateFunc; }
@@ -121,18 +121,17 @@ namespace StgSharp.Geometry
} }
} }
public void AddPoint(float angle,uint number,GeometryContainer geometryPool) public void Add(float angle,uint number,GeometryContainer geometryPool)
{ {
PointOnCircle p; PointOnCircle p;
for (int i = 0; i < number; i++) for (int i = 0; i < number; i++)
{ {
p = new PointOnCircle(this, angle, number, tickCounter); p = new PointOnCircle(this, angle, number);
p.AddRotation(_rotateFunc);
geometryPool.Add(p); geometryPool.Add(p);
} }
} }
public void OnRender() public override void OnRender()
{ {
float a = 0; float a = 0;
float tick = tickCounter.Value - beginTick; float tick = tickCounter.Value - beginTick;
@@ -152,5 +151,16 @@ namespace StgSharp.Geometry
_radius=b+ _radiusFunc[9]; _radius=b+ _radiusFunc[9];
} }
/// <summary>
/// 将圆心绑定到一个新的点上;
/// </summary>
/// <param name="p"></param>
public override void Bind(Point p)
{
_center = p;
}
//需要一个将点绑定在圆周上
} }
} }
@@ -7,14 +7,14 @@ using System.Threading.Tasks;
namespace StgSharp.Geometry namespace StgSharp.Geometry
{ {
public class Geometry : LinkedTarget public class GeometryI : LinkedTarget
{ {
public new LinkedTarget Previous public new LinkedTarget Previous
{ {
get { return this.Previous; } get { return this.Previous; }
set set
{ {
if (value is Geometry) if (value is GeometryI)
{ {
_previous = value; _previous = value;
} }
@@ -26,14 +26,20 @@ namespace StgSharp.Geometry
get { return this.Next; } get { return this.Next; }
set set
{ {
if (value is Geometry) if (value is GeometryI)
{ {
_next = value; _next = value;
} }
} }
} }
public virtual void Add() public virtual void OnRender()
{ } {
}
public virtual void Bind(Point p)
{
}
} }
} }
@@ -1,4 +1,5 @@
using System; using StgSharp.Logic;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@@ -6,7 +7,7 @@ using System.Threading.Tasks;
namespace StgSharp.Geometry namespace StgSharp.Geometry
{ {
public class Line public class Line:GeometryI
{ {
private Point _beginPoint; private Point _beginPoint;
@@ -24,11 +25,59 @@ namespace StgSharp.Geometry
set { _endingPoint = value; } set { _endingPoint = value; }
} }
private float _length;
public float Length
{
get { return _length; }
set { _length = value; }
}
public Line()
{
_beginPoint = new Point();
}
/// <summary>
/// 线段的构造器,应当传入线段的起点和终点
/// </summary>
/// <param name="begin"></param>
/// <param name="end"></param>
public Line(Point begin, Point end) public Line(Point begin, Point end)
{ {
_beginPoint = begin; _beginPoint = begin;
_endingPoint = end; _endingPoint = end;
} }
public void AddPoint(float step,GeometryContainer geometryPool)
{
if(step < _length)
{
PointOnLine p;
int number = (int)(_length / step);
for (int i = 0; i <number ; i++)
{
p = new PointOnLine(_beginPoint,_endingPoint,step,i);
geometryPool.Add(p);
}
}
}
public override void OnRender()
{
_length = (float)
Math.Sqrt((_endingPoint.X - _beginPoint.X) * (_endingPoint.X - _beginPoint.X)
+ (_endingPoint.Y - _beginPoint.Y) * (_endingPoint.Y - _beginPoint.Y));
}
public override void Bind(Point p)
{
_beginPoint = p;
}
} }
} }
@@ -7,9 +7,12 @@ using System.Threading.Tasks;
namespace StgSharp.Geometry namespace StgSharp.Geometry
{ {
/// <summary>
/// 不直接使用该类型的实例
/// </summary>
public class Point : LinkedTarget public class Point : LinkedTarget
{ {
internal float _x; protected float _x;
public float X public float X
{ {
@@ -17,7 +20,7 @@ namespace StgSharp.Geometry
set { _x = value; } set { _x = value; }
} }
internal float _y; protected float _y;
public float Y public float Y
{ {
@@ -0,0 +1,94 @@
using StgSharp.Logic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp.Geometry
{
internal class PointCommon:Point
{
private readonly float x0;
private readonly float y0;
private float[] _xVelocity = new float[10];
public float[] XVelocity
{
get { return _xVelocity; }
set
{
if (value.Length == 10)
{
_xVelocity = value;
}
else
{
throw new Exception("Parameters are too many or too few!");
}
}
}
private float[] _yVelocity = new float[10] ;
public float[] YVelocity
{
get { return _yVelocity; }
set
{
if (value.Length == 10)
{
_yVelocity = value;
}
else
{
throw new Exception("Parameters are too many or too few!");
}
}
}
private uint beginTick;
private static Counter<uint> _tickCounter;
public static Counter<uint> TickCounter
{
get { return _tickCounter; }
}
public PointCommon(float x,float y,Counter<uint> tickCounter)
{
_x = x;
x0 = x;
_y = y;
y0 = y;
_tickCounter = tickCounter;
beginTick = _tickCounter.Value;
}
public override void OnRender()
{
uint tick=_tickCounter.Value-beginTick;
float d = 0;
for (int i = 0; i < 9; i++)
{
d += _xVelocity[i];
d *= tick;
}
_x += (d += _xVelocity[9]);
d = 0;
for (int i = 0; i < 9; i++)
{
d += _yVelocity[i];
d += tick;
}
_y += (d += _yVelocity[9]);
}
}
}
@@ -26,10 +26,6 @@ namespace StgSharp.Geometry
set { _angle = value; } set { _angle = value; }
} }
private float[] _angularVelocity;
private readonly uint beginTick;
private readonly Counter<uint> counter;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@@ -37,25 +33,13 @@ namespace StgSharp.Geometry
/// <param name="angle">点的初项</param> /// <param name="angle">点的初项</param>
/// <param name="counts">阵列次数</param> /// <param name="counts">阵列次数</param>
/// <param name="gameTick">游戏刻计数器</param> /// <param name="gameTick">游戏刻计数器</param>
public PointOnCircle(Circle c, float angle, uint counts, Counter<uint> gameTick) public PointOnCircle(Circle c, float angle, uint counts)
{ {
_bindedItem = c; _bindedItem = c;
_angle0 = (angle + counts * (360.0f / counts)) * (float)(2 * Math.PI / 360); _angle0 = (angle + counts * (360.0f / counts)) * (float)(2 * Math.PI / 360);
counter = gameTick;
beginTick = gameTick.Value;
} }
public void AddRotation(float[] aFunc)
{
if (aFunc.Length == 10)
{
_angularVelocity = aFunc;
}
else
{
throw new Exception("Parameters are too much or too few!");
}
}
public override void OnRender() public override void OnRender()
{ {
_angle = _angle0 + _bindedItem.Angle; _angle = _angle0 + _bindedItem.Angle;
@@ -8,8 +8,8 @@ namespace StgSharp.Logic
{ {
public class LinkedList public class LinkedList
{ {
internal LinkedTarget _heading; protected LinkedTarget _heading;
internal LinkedTarget _ending; protected LinkedTarget _ending;
private LinkedTarget _cache; private LinkedTarget _cache;
private Counter<int> _amountCounter; private Counter<int> _amountCounter;
@@ -45,8 +45,11 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="StgControl.cs" /> <Compile Include="Control\Bind.cs" />
<Compile Include="Control\Create.cs" />
<Compile Include="Entity\Enemy.cs" />
<Compile Include="Game\Class1.cs" /> <Compile Include="Game\Class1.cs" />
<Compile Include="Geometry\PointCommon.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Entity\Bullet.cs" /> <Compile Include="Entity\Bullet.cs" />
<Compile Include="Entity\Player.cs" /> <Compile Include="Entity\Player.cs" />
@@ -56,7 +59,7 @@
<Compile Include="Geometry\PointOnCircle.cs" /> <Compile Include="Geometry\PointOnCircle.cs" />
<Compile Include="Geometry\Line.cs" /> <Compile Include="Geometry\Line.cs" />
<Compile Include="Geometry\Point.cs" /> <Compile Include="Geometry\Point.cs" />
<Compile Include="Geometry\Geometry.cs" /> <Compile Include="Geometry\GeometryI.cs" />
<Compile Include="Logic\GeometryContainer.cs" /> <Compile Include="Logic\GeometryContainer.cs" />
<Compile Include="Logic\EntityContainer.cs" /> <Compile Include="Logic\EntityContainer.cs" />
<Compile Include="Logic\Counter.cs" /> <Compile Include="Logic\Counter.cs" />
@@ -0,0 +1 @@
9cd073825ba9a2a4cf5ce2e7b5c36ea49b8f1483
@@ -0,0 +1,10 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\bin\Debug\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\bin\Debug\StgSharp.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\bin\Debug\OpenTK.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\bin\Debug\OpenTK.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\bin\Debug\OpenTK.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\obj\Debug\StgSharp.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\obj\Debug\StgSharp.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\obj\Debug\StgSharp.csproj.CopyComplete
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\obj\Debug\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\.Net Framework\Stg_Sharp\Stg_Sharp\obj\Debug\StgSharp.pdb