上下文
我目前正在使用C#和MonoGame开发一个游戏及其引擎。这个引擎是数据驱动的,我希望人们能够对游戏进行建模,或者使用我的引擎制作自己的引擎。所有资产和数据都使用MonoGame内容管道进行处理。
目前,我正在加载游戏数据并将其传递到一个排序行为对象中(我想这可以看作是一个业务模型?)就像这样:
// Data object, in the real world it's less like a DTO and more like an anemic model.
// Almost always originally a *.json compiled to *.xnb by
所以我正试图用c++和SDL2做一个游戏,结果遇到了一个小问题。为了从地面上拿起武器,在我检查玩家是否在物体旁边,并点击'E‘从另一个名称空间的内联函数中捡起它之后,我必须在一个保存在主类中的变量中复制它的地址,然后从地面删除这个对象,这样你就不能重新捡起来了。似乎在删除对象之后,主类中的指针从另一个对象中获取值,而不是我删除的值。
这是主类.h文件
class GameScene : public Scene{
public:
GameScene();
void init(SDL_Renderer* &renderer, int sceneIdx); //in
我正在为我的游戏的库存系统工作,我感兴趣的是如何实现额外的武器和装甲属性,不只是伤害或装甲?
如果我只有伤害和盔甲,那么方程很简单:伤害=武器伤害-装甲;
但我正在寻找一个更有趣的用户体验--即有2-3个属性的项目,可以修改各种游戏机制。
例如,我可以使用一系列标志,并在我的攻击方法中编写一个大if/ use语句,并在适当的点检查所有这些:
如果(武器是吸血鬼){治疗攻击x}
如果(武器神圣){检查防御类型,增加额外伤害}
如果(盔甲先吸收x点伤害){减少防御方x}的伤害
我认为可能更好的另一种方法是装饰设计模式 --将一种武器的输出逐步封装到另一种武器中:
public class Main
因此,我正致力于在上扩展项的用途,但我不太确定如何在我们使用的关系数据库中灵活地表示它们。
我可能找错了方向,所以你可以在其他方面提出建议,但目前我认为每个项目都应该有相关的“标签”。
例如,Katana当前是"items“数据库中的一行。为了把它变成武器和可拿的东西,我想我应该有一个“特征”的数据库,以及一个连接两者的item_traits表。
// Objects and their basic data
item_id | item | material | etc
1 | Naginata | steel | etc
// Things that objects can
我正在尝试让一个托管在Azure IaaS VM上的网站与PaaS SQL上的数据库进行通信。但是,在尝试连接时,我收到了一个异常:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow
当一个内部查询连接到它的外部查询时,我似乎总是难以想象它的含义。
下面是一个例子:
SELECT NM.MovieId, NM.MovieTitle
FROM NinjaMovies AS NM
WHERE EXISTS
(
SELECT TOP 1
FROM Ninjas AS N
INNER JOIN NinjaWeapons AS NW
ON N.WeaponId = NW.WeaponId
WHERE N.NinjaId = NM.NinjaId
)
是否有一种方法在表或图表中表示这个(或与外部查询相类似的内部查询)?
我正在学习C#,我正在尝试制作一个游戏,但我遇到了一个问题。我有两个叫做Item和Weapon的类,Weapon看起来像这样:
class Weapon : Item
{
int damage;
int durability;
public void asd()
{
Weapon shortSword = new Weapon();
shortSword.dmg = 5;
shortSword.durability = 20;
Weapon woodenBow = new Weapon();
我正在尝试建立一个武器数据库,并为每个武器分配多个属性,例如名称、攻击值、购买值、卖出值等。 namespace Testing
{
public class Weapon
{
public string name;
//other attributes would go here too
}
class Program
{
static void WeaponBuilder()
{
Weapon bSword = new Weapon();
我有一个武器,我想实例化一个对象(在本例中是一个子弹),然后等待,直到子弹击中一个对象,武器才被允许实例化另一个对象。 我目前正在通过在武器脚本中添加以下内容来完成此操作: public class weaponScript : MonoBehaviour
{
public gameobject projectilePrefab;
public bool launchable;
void Update{
if(launchable){
Instantiate(projectilePrefab, fir
假设我有一个有多种武器的2人游戏。在游戏开始时,玩家可以选择自己的武器,并装备到他们的角色。因此,如果现在,我有以下代码来实现上述场景:
public class Weapon {
private String name;
private int attackPoints;
private int effectivity = 100;
public Weapon(String name, int attackPoints) {
this.name = name;
this.attackPoints = attackPoints;
因此,我试图制造一种击中扫描激光武器,从我所看到的武器,它本身似乎是有效的。但我不知道如何使光线可见,我试着理解线渲染,但坦率地说,我不知道我在做什么。有什么提示吗?(这是射线广播代码)
using System.Collections.Generic;
using UnityEngine;
public class Weapon : MonoBehaviour
{
private float damage = 10;
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown("