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 StgSharp.Logic;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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.Linq;
using System.Text;
@@ -8,28 +9,27 @@ namespace StgSharp.Entity
{
internal unsafe class Launcher
{
private Bullet _bullet;
private Point _location;
public Bullet NewBullet
public Point Location
{
get { return _bullet; }
set { _bullet = value; }
get { return _location; }
set { _location = value; }
}
private float* _xPositon;
protected float _x;
public float* XPsition
public float X
{
get { return _xPositon; }
set { _xPositon = value; }
get { return _location.X; }
}
private float* _yPosition;
private float _y;
public float* YPosition
public float YPosition
{
get { return _yPosition; }
set { _yPosition = value; }
get { return _y; }
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
{
public unsafe class Circle : Geometry
public unsafe class Circle : GeometryI
{
private Point _center;
@@ -24,7 +24,7 @@ namespace StgSharp.Geometry
set { _radius = value; }
}
private float[] _radiusFunc;
private float[] _radiusFunc = new float[10];
public float[] RadiusFunc
{
@@ -50,7 +50,7 @@ namespace StgSharp.Geometry
set { _angle = value; }
}
private float[] _rotateFunc;
private float[] _rotateFunc = new float[10];
private float[] 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;
for (int i = 0; i < number; i++)
{
p = new PointOnCircle(this, angle, number, tickCounter);
p.AddRotation(_rotateFunc);
p = new PointOnCircle(this, angle, number);
geometryPool.Add(p);
}
}
public void OnRender()
public override void OnRender()
{
float a = 0;
float tick = tickCounter.Value - beginTick;
@@ -152,5 +151,16 @@ namespace StgSharp.Geometry
_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
{
public class Geometry : LinkedTarget
public class GeometryI : LinkedTarget
{
public new LinkedTarget Previous
{
get { return this.Previous; }
set
{
if (value is Geometry)
if (value is GeometryI)
{
_previous = value;
}
@@ -26,14 +26,20 @@ namespace StgSharp.Geometry
get { return this.Next; }
set
{
if (value is Geometry)
if (value is GeometryI)
{
_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.Linq;
using System.Text;
@@ -6,7 +7,7 @@ using System.Threading.Tasks;
namespace StgSharp.Geometry
{
public class Line
public class Line:GeometryI
{
private Point _beginPoint;
@@ -24,11 +25,59 @@ namespace StgSharp.Geometry
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)
{
_beginPoint = begin;
_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
{
/// <summary>
/// 不直接使用该类型的实例
/// </summary>
public class Point : LinkedTarget
{
internal float _x;
protected float _x;
public float X
{
@@ -17,7 +20,7 @@ namespace StgSharp.Geometry
set { _x = value; }
}
internal float _y;
protected 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; }
}
private float[] _angularVelocity;
private readonly uint beginTick;
private readonly Counter<uint> counter;
/// <summary>
///
/// </summary>
@@ -37,25 +33,13 @@ namespace StgSharp.Geometry
/// <param name="angle">点的初项</param>
/// <param name="counts">阵列次数</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;
_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()
{
_angle = _angle0 + _bindedItem.Angle;
@@ -8,8 +8,8 @@ namespace StgSharp.Logic
{
public class LinkedList
{
internal LinkedTarget _heading;
internal LinkedTarget _ending;
protected LinkedTarget _heading;
protected LinkedTarget _ending;
private LinkedTarget _cache;
private Counter<int> _amountCounter;
@@ -45,8 +45,11 @@
<Reference Include="System.Xml" />
</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="Geometry\PointCommon.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Entity\Bullet.cs" />
<Compile Include="Entity\Player.cs" />
@@ -56,7 +59,7 @@
<Compile Include="Geometry\PointOnCircle.cs" />
<Compile Include="Geometry\Line.cs" />
<Compile Include="Geometry\Point.cs" />
<Compile Include="Geometry\Geometry.cs" />
<Compile Include="Geometry\GeometryI.cs" />
<Compile Include="Logic\GeometryContainer.cs" />
<Compile Include="Logic\EntityContainer.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