diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/0d8f1a8f-d6c0-4d3a-a54f-75db54ab606d.vsidx b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/0d8f1a8f-d6c0-4d3a-a54f-75db54ab606d.vsidx new file mode 100644 index 00000000..d29d7429 Binary files /dev/null and b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/0d8f1a8f-d6c0-4d3a-a54f-75db54ab606d.vsidx differ diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/4a1d2651-0477-4776-acda-b6885f9b693c.vsidx b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/4a1d2651-0477-4776-acda-b6885f9b693c.vsidx deleted file mode 100644 index 4830470f..00000000 Binary files a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/4a1d2651-0477-4776-acda-b6885f9b693c.vsidx and /dev/null differ diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/4bb85999-3ba7-461b-9f97-0b7e843e6190.vsidx b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/4bb85999-3ba7-461b-9f97-0b7e843e6190.vsidx deleted file mode 100644 index c615d5fd..00000000 Binary files a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/4bb85999-3ba7-461b-9f97-0b7e843e6190.vsidx and /dev/null differ diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/5c9e27bf-935a-43a4-89db-494b6249e2f0.vsidx b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/5c9e27bf-935a-43a4-89db-494b6249e2f0.vsidx deleted file mode 100644 index b055ebb9..00000000 Binary files a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/5c9e27bf-935a-43a4-89db-494b6249e2f0.vsidx and /dev/null differ diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/a5dce0b5-f000-446a-a633-5f379127808c.vsidx b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/a5dce0b5-f000-446a-a633-5f379127808c.vsidx new file mode 100644 index 00000000..5b5ae14d Binary files /dev/null and b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/a5dce0b5-f000-446a-a633-5f379127808c.vsidx differ diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/d3379398-c034-4376-a637-1f4c50f7d39f.vsidx b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/d3379398-c034-4376-a637-1f4c50f7d39f.vsidx new file mode 100644 index 00000000..e2ccd757 Binary files /dev/null and b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/FileContentIndex/d3379398-c034-4376-a637-1f4c50f7d39f.vsidx differ diff --git a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/v17/.suo b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/v17/.suo index c06df251..cea1bef5 100644 Binary files a/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/v17/.suo and b/源代码/.Net Framework/Stg_Sharp/.vs/Stg_Sharp/v17/.suo differ diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Control/Create.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Control/Create.cs index 596421c2..d8045340 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Control/Create.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Control/Create.cs @@ -1,7 +1,11 @@ -using StgSharp.Geometry; +using StgSharp.Entity; +using StgSharp.Geometry; +using StgSharp.Logic; +using StgSharp.Pool; using System; using System.Collections.Generic; using System.Linq; +using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; @@ -9,9 +13,62 @@ namespace StgSharp.Control { static public class Create { + private static LinkedObject cache; public static void Geometry(IPoint center, float radius, float angle, int num) { + + } + + /// + /// 创建一个子弹并将其绑定在一个指定的点上 + /// + /// + public static void Bullet(IPoint point) + { + BulletPool.mainContainer.Add(new Bullet(point)); + } + + /// + /// 创建一组子弹,并将其绑定在点池的一组点上 + /// 顺序是从最后创建的点向前计数 + /// + /// 起始序号 + /// 终点序号 + public static void Bullet(int begin, int end) + { + cache = PointPool.mainCotainer.Ending; + for (int i = 1; i < begin; i++) + { + cache--; + } + for (int i = begin; i < end; i++) + { + cache--; + BulletPool.mainContainer.Add(new Bullet(cache as IPoint)); + } + } + + + /// + /// 在新创建的一个或一组圆的其中一个上创建一组子弹 + /// + /// + /// + /// + public static void Bullet(int order,uint count,float angle) + { + cache=PointPool.mainCotainer.Ending; + for (int i = 1; i < count; i++) + { + cache--; + } + for (uint i = 0; i < count; i++) + { + PointOnCircle p = new PointOnCircle(cache as Circle, angle, i); + PointPool.mainCotainer.Add(p); + BulletPool.mainContainer.Add(new Bullet(p)); + } } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Bullet.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Bullet.cs index 29f15bad..55e3ac66 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Bullet.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Bullet.cs @@ -41,9 +41,9 @@ namespace StgSharp.Entity set { _radius = value; } } - public Bullet() + public Bullet(IPoint p) { - + _location = p; } public void OnRender() @@ -51,6 +51,13 @@ namespace StgSharp.Entity } - + public static Bullet operator ++(Bullet a) + { + return a._next as Bullet; + } + public static Bullet operator --(Bullet a) + { + return a._previous as Bullet; + } } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Enemy.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Enemy.cs index e9fff329..d4df98cc 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Enemy.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Enemy.cs @@ -1,4 +1,5 @@ using StgSharp.Geometry; +using StgSharp.Logic; using System; using System.Collections.Generic; using System.Linq; @@ -7,7 +8,7 @@ using System.Threading.Tasks; namespace StgSharp.Entity { - internal class Enemy + internal class Enemy:LinkedObject { private float _x; @@ -41,10 +42,17 @@ namespace StgSharp.Entity public void OnRender() { - } + public static Enemy operator ++(Enemy a) + { + return a._next as Enemy; + } - } + public static Enemy operator --(Enemy a) + { + return a._next as Enemy; + } + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Reward.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Reward.cs index 61e1a8a9..205d7333 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Reward.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Entity/Reward.cs @@ -79,5 +79,8 @@ namespace StgSharp.Entity _v *= 2.0f; } + + + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/Circle.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/Circle.cs index f3aa19e6..533ae531 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/Circle.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/Circle.cs @@ -1,4 +1,5 @@ -using StgSharp.Logic; +using StgSharp.Entity; +using StgSharp.Logic; using System; using System.Collections.Generic; using System.Linq; @@ -205,5 +206,8 @@ namespace StgSharp.Geometry } + + + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/FreeCurve.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/FreeCurve.cs index 6e2e8732..6adec702 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/FreeCurve.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/FreeCurve.cs @@ -1,4 +1,5 @@ -using StgSharp.Logic; +using StgSharp.Entity; +using StgSharp.Logic; using System; using System.Collections.Generic; using System.Linq; @@ -65,6 +66,12 @@ namespace StgSharp.Geometry public void OnRender() { + + } + + + + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/IPoint.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/IPoint.cs index bbec7b98..e8409510 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/IPoint.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/IPoint.cs @@ -16,4 +16,9 @@ namespace StgSharp.Geometry void OnRender(); } + + abstract class a + { + + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointCommon.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointCommon.cs index ffdbf268..26463cff 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointCommon.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointCommon.cs @@ -1,4 +1,5 @@ -using StgSharp.Logic; +using StgSharp.Entity; +using StgSharp.Logic; using System; using System.Collections.Generic; using System.Linq; @@ -117,5 +118,16 @@ namespace StgSharp.Geometry } _y += (d += _yVelocity[9]); } + + + + public static PointCommon operator ++(PointCommon a) + { + return a._next as PointCommon; + } + public static PointCommon operator --(PointCommon a) + { + return a._previous as PointCommon; + } } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnCircle.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnCircle.cs index 45a23253..111b5f3e 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnCircle.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnCircle.cs @@ -1,4 +1,5 @@ -using StgSharp.Logic; +using StgSharp.Entity; +using StgSharp.Logic; using System; using System.Collections.Generic; using System.Linq; @@ -62,5 +63,10 @@ namespace StgSharp.Geometry this._x = (float)(_bindedItem.Center.X + _bindedItem.Radius * Math.Cos(_angle)); this._y = (float)(_bindedItem.Center.X + _bindedItem.Radius * Math.Sin(_angle)); } + + + + + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnLine.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnLine.cs index dbf7f854..26de19c2 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnLine.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Geometry/PointOnLine.cs @@ -1,4 +1,5 @@ -using StgSharp.Logic; +using StgSharp.Entity; +using StgSharp.Logic; using System; using System.Collections.Generic; using System.Linq; @@ -70,5 +71,8 @@ namespace StgSharp.Geometry this._y = _beginPoint.Y + _rate * (_endPoint.Y - _beginPoint.Y); this._x = _beginPoint.X + _rate * (_endPoint.X - _beginPoint.X); } + + + } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Logic/LinkedObject.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Logic/LinkedObject.cs index 78428cd9..bf69b840 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Logic/LinkedObject.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Logic/LinkedObject.cs @@ -31,5 +31,14 @@ namespace StgSharp.Logic _next = value; } } + + public static LinkedObject operator ++(LinkedObject a) + { + return a._next; + } + public static LinkedObject operator --(LinkedObject a) + { + return a._previous; + } } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletContainer.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletContainer.cs deleted file mode 100644 index 4e54c95f..00000000 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletContainer.cs +++ /dev/null @@ -1,110 +0,0 @@ -using StgSharp.Entity; -using StgSharp.Logic; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace StgSharp.Pool -{ - internal class BulletContainer : LinkedList, IContainer - { - private int _limit; - protected float _leftBorder; - protected float _rightBorder; - protected float _topBorder; - protected float _bottomBorder; - - public int Limit - { - get { return _limit; } - set { _limit = value; } - } - - public float LeftBorder - { - get { return _leftBorder; } - set { _leftBorder = value; } - } - public float RightBorder - { - get { return _rightBorder; } - set { _rightBorder = value; } - } - public float TopBorder - { - get { return _topBorder; } - set { _topBorder = value; } - } - public float BottomBorder - { - get { return _bottomBorder; } - set { _bottomBorder = value; } - } - - public static IContainer _top; - public static IContainer _bottom; - public static IContainer _left; - public static IContainer _right; - - public IContainer Top - { - get { return _top; } - set { } - } - public IContainer Bottom - { - get { return _bottom; } - set { } - } - public IContainer Left - { - get { return _left; } - set { } - } - public IContainer Right - { - get { return _right; } - set { } - } - - public BulletContainer(float top, float bottom, float left, float right) - { - _topBorder = top; - _bottomBorder = bottom; - _leftBorder = left; - _rightBorder = right; - this._amountCounter = new Counter(); - _amountCounter.Value = 0; - _heading = null; - } - - public BulletContainer(IContainer t, IContainer b, IContainer l, IContainer r) - { - _top = t; - _topBorder = t.BottomBorder; - - _bottom = b; - _bottomBorder = b.TopBorder; - - _left = l; - _leftBorder = l.RightBorder; - - _right = r; - _rightBorder = r.LeftBorder; - } - - //What should a container do on each rendering frame - //This method should be overriden - public void OnRender() - { - //坐标刷新 - //边界判定 - //碰撞判定 - } - - - - } -} diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletPool.cs b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletPool.cs index 88fbe3be..c3f576c4 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletPool.cs +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/Pool/BulletPool.cs @@ -4,12 +4,13 @@ using System; using System.Collections.Generic; using System.Linq; using System.Net.Http.Headers; +using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; namespace StgSharp.Pool { - internal class BulletPool:IPool + public class BulletPool:IPool { internal static IContainer _topCollector; @@ -40,15 +41,15 @@ namespace StgSharp.Pool //用一个实体容器存放各种各样的实体,太不安全了, //写这种代码的人是个大SB。 - static BulletContainer mainContainer; - static BulletContainer grazeContainer; + internal static EntityContainer mainContainer; + internal static EntityContainer grazeContainer; public BulletPool(Collector t, Collector b, Collector l, Collector r) { - mainContainer = new BulletContainer(1000,-1000,-600,600); + mainContainer = new EntityContainer(1000,-1000,-600,600); - grazeContainer = new BulletContainer(1000,400,-150,150); + grazeContainer = new EntityContainer(1000,400,-150,150); mainContainer.Top = _topCollector; mainContainer.Bottom = _bottomCollector; @@ -66,25 +67,60 @@ namespace StgSharp.Pool _rightCollector = r; } - private static Bullet cache; + protected static Bullet cache; public static void OnRender() { - Bullet end=mainContainer.Ending as Bullet; - cache = mainContainer.Heading as Bullet; - do + Bullet end=grazeContainer.Ending as Bullet; + if (end != null) { - if (cache.X - cache.Radius < grazeContainer.LeftBorder - || cache.X + cache.Radius < grazeContainer.RightBorder - || cache.Y - cache.Radius < grazeContainer.TopBorder - || cache.Y + cache.Radius < grazeContainer.RightBorder) + cache = grazeContainer.Heading as Bullet; + do { - grazeContainer.Add(cache); - } + if ( cache.X + cache.Radius < grazeContainer.LeftBorder + || cache.X - cache.Radius < grazeContainer.RightBorder + || cache.Y + cache.Radius < grazeContainer.TopBorder + || cache.Y - cache.Radius < grazeContainer.RightBorder) + { + grazeContainer.Remove(cache); + } - cache = cache.Next as Bullet; + cache = cache.Next as Bullet; - } while (cache == end); + } while (true); + } + + + end=mainContainer.Ending as Bullet; + if (end != null) + { + + cache = mainContainer.Heading as Bullet; + do + { + if (cache.X - cache.Radius < grazeContainer.LeftBorder + || cache.X + cache.Radius < grazeContainer.RightBorder + || cache.Y - cache.Radius < grazeContainer.TopBorder + || cache.Y + cache.Radius < grazeContainer.RightBorder) + { + grazeContainer.Add(cache); + } + + cache = cache.Next as Bullet; + + } while (cache == end); + + + + } + } + + /// + /// 所有需要添加的功能应当写在这里 + /// + public virtual void ExtendRender() + { + } } } diff --git a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/StgSharp.csproj b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/StgSharp.csproj index 8de33162..369a9177 100644 --- a/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/StgSharp.csproj +++ b/源代码/.Net Framework/Stg_Sharp/Stg_Sharp/StgSharp.csproj @@ -57,7 +57,7 @@ - + diff --git a/组织工作/SteamWorksFiles/保密协议_简中.pdf b/组织工作/SteamWorksFiles/保密协议_简中.pdf new file mode 100644 index 00000000..f4936e9e Binary files /dev/null and b/组织工作/SteamWorksFiles/保密协议_简中.pdf differ diff --git a/组织工作/SteamWorksFiles/销售协议_简中.pdf b/组织工作/SteamWorksFiles/销售协议_简中.pdf new file mode 100644 index 00000000..da27e1aa Binary files /dev/null and b/组织工作/SteamWorksFiles/销售协议_简中.pdf differ diff --git a/组织工作/SteamWorksFiles/销售协议_英文.pdf b/组织工作/SteamWorksFiles/销售协议_英文.pdf new file mode 100644 index 00000000..ed8537d5 Binary files /dev/null and b/组织工作/SteamWorksFiles/销售协议_英文.pdf differ