Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 10 additions & 8 deletions Python2D/Python2D.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -134,15 +134,16 @@
<ClCompile Include="XCCore\Background\BackgroundHelper.cpp" />
<ClCompile Include="XCCore\Background\Lake.cpp" />
<ClCompile Include="XCCore\Bullet\BulletHelper.cpp" />
<ClCompile Include="XCCore\Bullet\CircleBullet.cpp" />
<ClCompile Include="XCCore\Bullet\HugeBullet.cpp" />
<ClCompile Include="XCCore\Bullet\RiceBullet.cpp" />
<ClCompile Include="XCCore\Bullet\CircleTypeBullet.cpp" />
<ClCompile Include="XCCore\Bullet\RectangleTypeBullet.cpp" />
<ClCompile Include="XCCore\Task\Task.cpp" />
<ClCompile Include="XCCore\Task\TaskDispatcher.cpp" />
<ClCompile Include="XCCore\Task\TaskHelper.cpp" />
<ClCompile Include="XCCore\Task\TaskInsideUnit.cpp" />
<ClCompile Include="XCCore\UserInterface\GameInfoInterface.cpp" />
<ClCompile Include="XCCore\XCFont\XCFont.cpp" />
<ClCompile Include="XCCore\XCCollide\CollideHelper.cpp" />
<ClCompile Include="XCCore\XCCollide\CollideInfo.cpp" />
<ClCompile Include="XCCore\XCRender\XCFont.cpp" />
<ClCompile Include="XCCore\Item\Item.cpp" />
<ClCompile Include="XCCore\Item\Player.cpp" />
<ClCompile Include="XCCore\XCRender\DecisionPointSE.cpp" />
Expand All @@ -169,16 +170,17 @@
<ClInclude Include="XCCore\Background\Lake.h" />
<ClInclude Include="XCCore\Bullet\Bullet.h" />
<ClInclude Include="XCCore\Bullet\BulletHelper.h" />
<ClInclude Include="XCCore\Bullet\CircleBullet.h" />
<ClInclude Include="XCCore\Bullet\HugeBullet.h" />
<ClInclude Include="XCCore\Bullet\RiceBullet.h" />
<ClInclude Include="XCCore\Bullet\CircleTypeBullet.h" />
<ClInclude Include="XCCore\Bullet\RectangleTypeBullet.h" />
<ClInclude Include="XCCore\Task\Task.h" />
<ClInclude Include="XCCore\Task\TaskDispatcher.h" />
<ClInclude Include="XCCore\Task\TaskHelper.h" />
<ClInclude Include="XCCore\Task\TaskInsideUnit.h" />
<ClInclude Include="XCCore\UserInterface\GameInfoInterface.h" />
<ClInclude Include="XCCore\UserInterface\IUserInterface.h" />
<ClInclude Include="XCCore\XCFont\XCFont.h" />
<ClInclude Include="XCCore\XCCollide\CollideHelper.h" />
<ClInclude Include="XCCore\XCCollide\CollideInfo.h" />
<ClInclude Include="XCCore\XCRender\XCFont.h" />
<ClInclude Include="XCCore\Item\Item.h" />
<ClInclude Include="XCCore\Item\Player.h" />
<ClInclude Include="XCCore\XCRender\BlendHelper.h" />
Expand Down
69 changes: 39 additions & 30 deletions Python2D/Python2D.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@
<Filter Include="XCCore\Item">
<UniqueIdentifier>{43fd9bff-7c18-403e-a0c5-5ca4cf4aaad0}</UniqueIdentifier>
</Filter>
<Filter Include="XCCore\XCFont">
<UniqueIdentifier>{beb81aae-aa63-4b86-81c8-01dff3d0b01f}</UniqueIdentifier>
</Filter>
<Filter Include="XCCore\Stage">
<UniqueIdentifier>{ac940bd2-e2a1-4200-bd83-f5234c0035c6}</UniqueIdentifier>
</Filter>
Expand All @@ -34,6 +31,12 @@
<Filter Include="XCCore\UserInterface">
<UniqueIdentifier>{c8b2abf1-a953-43b3-8388-b6e26ad868b9}</UniqueIdentifier>
</Filter>
<Filter Include="XCCore\XCCollide">
<UniqueIdentifier>{fd61ee80-385b-46d4-8ae2-7fb9175b62b3}</UniqueIdentifier>
</Filter>
<Filter Include="XCCore\XCRender\SpecialEffect">
<UniqueIdentifier>{45914d97-27d5-4885-8ac8-35dc9da4f6f6}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="util\ConfigManager.cpp">
Expand All @@ -49,9 +52,6 @@
<Filter>util</Filter>
</ClCompile>
<ClCompile Include="XCFrame.cpp" />
<ClCompile Include="XCCore\XCFont\XCFont.cpp">
<Filter>XCCore\XCFont</Filter>
</ClCompile>
<ClCompile Include="util\ShaderReader.cpp">
<Filter>util</Filter>
</ClCompile>
Expand All @@ -72,9 +72,6 @@
</ClCompile>
<ClCompile Include="XCFrameInfo.cpp" />
<ClCompile Include="python2d.cpp" />
<ClCompile Include="XCCore\XCRender\DecisionPointSE.cpp">
<Filter>XCCore\XCRender</Filter>
</ClCompile>
<ClCompile Include="XCCore\Item\Item.cpp">
<Filter>XCCore\Item</Filter>
</ClCompile>
Expand All @@ -87,9 +84,6 @@
<ClCompile Include="XCCore\Bullet\BulletHelper.cpp">
<Filter>XCCore\Bullet</Filter>
</ClCompile>
<ClCompile Include="XCCore\Bullet\CircleBullet.cpp">
<Filter>XCCore\Bullet</Filter>
</ClCompile>
<ClCompile Include="XCCore\Task\Task.cpp">
<Filter>XCCore\Task</Filter>
</ClCompile>
Expand All @@ -114,14 +108,26 @@
<ClCompile Include="XCCore\XCRender\IRenderHelper.cpp">
<Filter>XCCore\XCRender</Filter>
</ClCompile>
<ClCompile Include="XCCore\Bullet\RiceBullet.cpp">
<ClCompile Include="XCCore\UserInterface\GameInfoInterface.cpp">
<Filter>XCCore\UserInterface</Filter>
</ClCompile>
<ClCompile Include="XCCore\Bullet\CircleTypeBullet.cpp">
<Filter>XCCore\Bullet</Filter>
</ClCompile>
<ClCompile Include="XCCore\Bullet\HugeBullet.cpp">
<ClCompile Include="XCCore\Bullet\RectangleTypeBullet.cpp">
<Filter>XCCore\Bullet</Filter>
</ClCompile>
<ClCompile Include="XCCore\UserInterface\GameInfoInterface.cpp">
<Filter>XCCore\UserInterface</Filter>
<ClCompile Include="XCCore\XCRender\XCFont.cpp">
<Filter>XCCore\XCRender</Filter>
</ClCompile>
<ClCompile Include="XCCore\XCRender\DecisionPointSE.cpp">
<Filter>XCCore\XCRender\SpecialEffect</Filter>
</ClCompile>
<ClCompile Include="XCCore\XCCollide\CollideHelper.cpp">
<Filter>XCCore\XCCollide</Filter>
</ClCompile>
<ClCompile Include="XCCore\XCCollide\CollideInfo.cpp">
<Filter>XCCore\XCCollide</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
Expand All @@ -141,9 +147,6 @@
<Filter>util</Filter>
</ClInclude>
<ClInclude Include="XCFrame.h" />
<ClInclude Include="XCCore\XCFont\XCFont.h">
<Filter>XCCore\XCFont</Filter>
</ClInclude>
<ClInclude Include="XCInterpreter\XCInterpreter.h">
<Filter>XCInterpreter</Filter>
</ClInclude>
Expand All @@ -163,12 +166,6 @@
<Filter>XCCore\XCRender</Filter>
</ClInclude>
<ClInclude Include="XCFrameInfo.h" />
<ClInclude Include="XCCore\XCRender\ISpecialEffect.h">
<Filter>XCCore\XCRender</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCRender\DecisionPointSE.h">
<Filter>XCCore\XCRender</Filter>
</ClInclude>
<ClInclude Include="XCCore\Bullet\Bullet.h">
<Filter>XCCore\Bullet</Filter>
</ClInclude>
Expand All @@ -184,9 +181,6 @@
<ClInclude Include="XCCore\Bullet\BulletHelper.h">
<Filter>XCCore\Bullet</Filter>
</ClInclude>
<ClInclude Include="XCCore\Bullet\CircleBullet.h">
<Filter>XCCore\Bullet</Filter>
</ClInclude>
<ClInclude Include="XCCore\Task\Task.h">
<Filter>XCCore\Task</Filter>
</ClInclude>
Expand Down Expand Up @@ -220,11 +214,26 @@
<ClInclude Include="XCCore\UserInterface\GameInfoInterface.h">
<Filter>XCCore\UserInterface</Filter>
</ClInclude>
<ClInclude Include="XCCore\Bullet\RiceBullet.h">
<ClInclude Include="XCCore\Bullet\CircleTypeBullet.h">
<Filter>XCCore\Bullet</Filter>
</ClInclude>
<ClInclude Include="XCCore\Bullet\HugeBullet.h">
<ClInclude Include="XCCore\Bullet\RectangleTypeBullet.h">
<Filter>XCCore\Bullet</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCRender\XCFont.h">
<Filter>XCCore\XCRender</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCCollide\CollideHelper.h">
<Filter>XCCore\XCCollide</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCRender\ISpecialEffect.h">
<Filter>XCCore\XCRender\SpecialEffect</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCRender\DecisionPointSE.h">
<Filter>XCCore\XCRender\SpecialEffect</Filter>
</ClInclude>
<ClInclude Include="XCCore\XCCollide\CollideInfo.h">
<Filter>XCCore\XCCollide</Filter>
</ClInclude>
</ItemGroup>
</Project>
11 changes: 9 additions & 2 deletions Python2D/XCCore/Bullet/Bullet.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class Bullet {

bool isWorkFinish = false;

void checkReboundOrOverflow(int *reBoundTimePointer, float *angle)
void checkReboundOrOverflow(int *reBoundTimePointer, float *angle, float scaleX, float scaleY)
{
float frameWidth = XCFrameInfo::FrameRight;
float frameHeight = XCFrameInfo::FrameTop;
Expand Down Expand Up @@ -62,7 +62,13 @@ class Bullet {
(*reBoundTimePointer)--;
}
else {
isWorkFinish = true;
float renderWidth = scaleX * XCFrameInfo::FrameRight;
float renderHeight = scaleY * XCFrameInfo::FrameTop;
if (renderY + renderHeight > frameHeight || renderY + renderHeight< -frameHeight
|| renderX + renderWidth > frameWidth || renderX + renderWidth < -frameWidth) {
isWorkFinish = true;
}

}
}
}
Expand All @@ -71,6 +77,7 @@ class Bullet {
virtual void BulletRender() = 0;
virtual void BulletRelease() = 0;

virtual bool BulletCollideWithPoint(float x, float y) = 0;
bool getIsFinish() {
return isWorkFinish;
}
Expand Down
25 changes: 7 additions & 18 deletions Python2D/XCCore/Bullet/BulletHelper.cpp
Original file line number Diff line number Diff line change
@@ -1,20 +1,12 @@
#include "BulletHelper.h"
#include "HugeBullet.h"
#include "CircleBullet.h"
#include "RiceBullet.h"
#include "CircleTypeBullet.h"
#include "../../XCInterpreter/ScriptLoader.h"
Bullet * BulletHelper::getNewBulletObject(std::string bulletType, int bulletColor, glm::vec4 divideInfo, glm::vec3 scaleInfo, glm::vec3 initCoord
Bullet * BulletHelper::getNewBulletObject(std::string bulletImage,std::string bulletType, glm::vec4 divideInfo, glm::vec3 scaleInfo, glm::vec3 initCoord
, float velocity, float acceleration, float angle, float increateAngle, int reboundTime, bool aimPlayer)
{
Bullet *bullet = nullptr;
if (bulletType == "circleBullet") {
bullet = new CircleBullet(bulletColor, divideInfo, scaleInfo, initCoord, velocity, acceleration, angle, increateAngle, reboundTime, aimPlayer);
}
else if (bulletType == "riceBullet") {
bullet = new RiceBullet(bulletColor, divideInfo, scaleInfo, initCoord, velocity, acceleration, angle, increateAngle, reboundTime, aimPlayer);
}
else if (bulletType == "hugeBullet") {
bullet = new HugeBullet(bulletColor, divideInfo, scaleInfo, initCoord, velocity, acceleration, angle, increateAngle, reboundTime, aimPlayer);
if (bulletType == "circleTypeBullet") {
bullet = new CircleTypeBullet(bulletImage, divideInfo, scaleInfo, initCoord, velocity, acceleration, angle, increateAngle, reboundTime, aimPlayer);
}
return bullet;
}
Expand All @@ -25,23 +17,20 @@ Bullet * BulletHelper::parseBulletObject(PyObject * bulletObject)

if (bulletObject != nullptr) {
auto imageInfo = PyObject_CallMethod(bulletObject, "_cpp_getInitRenderInfo", NULL);
auto bulletColorInfo = PyObject_CallMethod(bulletObject, "_cpp_getBulletColor", NULL);
auto bulletGenerateInfo = PyObject_CallMethod(bulletObject, "_cpp_getGenerateInfo", NULL);
auto bulletCoordInfo = PyObject_CallMethod(bulletObject, "_cpp_getInitCoord", NULL);

const char* bulletType; int divideInfo[4]; float scaleInfo[3];
PyArg_ParseTuple(imageInfo, "s(iiii)(fff)", &bulletType, &divideInfo[0], &divideInfo[1], &divideInfo[2], &divideInfo[3], &scaleInfo[0], &scaleInfo[1], &scaleInfo[2]);
const char* bulletImage, *bulletType; int divideInfo[4]; float scaleInfo[3];
PyArg_ParseTuple(imageInfo, "ss(iiii)(fff)", &bulletImage, &bulletType, &divideInfo[0], &divideInfo[1], &divideInfo[2], &divideInfo[3], &scaleInfo[0], &scaleInfo[1], &scaleInfo[2]);

int bulletColor;
PyArg_Parse(bulletColorInfo, "i", &bulletColor);

float velocity, acceleration, angle, increaseAngle; int aimPlayer, reboundTime;
PyArg_ParseTuple(bulletGenerateInfo, "ffffip", &velocity, &acceleration, &angle, &increaseAngle, &reboundTime, &aimPlayer);

float initCoord[3];
PyArg_ParseTuple(bulletCoordInfo, "fff", &initCoord[0], &initCoord[1], &initCoord[2]);

bullet = BulletHelper::getNewBulletObject(bulletType, bulletColor, glm::vec4(divideInfo[0], divideInfo[1], divideInfo[2], divideInfo[3])
bullet = BulletHelper::getNewBulletObject(bulletImage, bulletType, glm::vec4(divideInfo[0], divideInfo[1], divideInfo[2], divideInfo[3])
, glm::vec3(scaleInfo[0], scaleInfo[1], scaleInfo[2]), glm::vec3(initCoord[0], initCoord[1], initCoord[2])
, velocity, acceleration, angle, increaseAngle, reboundTime, aimPlayer);
if (bullet != nullptr) {
Expand Down
2 changes: 1 addition & 1 deletion Python2D/XCCore/Bullet/BulletHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include <Python.h>
class BulletHelper {
private:
static Bullet* getNewBulletObject(std::string bulletType, int bulletColor, glm::vec4 divideInfo, glm::vec3 scaleInfo, glm::vec3 initCoord
static Bullet* getNewBulletObject(std::string bulletImage,std::string bulletType, glm::vec4 divideInfo, glm::vec3 scaleInfo, glm::vec3 initCoord
, float velocity, float acceleration, float angle, float increateAngle, int reboundTime, bool aimPlayer);
public:
static Bullet* parseBulletObject(PyObject* taskUnitItem);
Expand Down
57 changes: 0 additions & 57 deletions Python2D/XCCore/Bullet/CircleBullet.cpp

This file was deleted.

Loading