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