我正在用C#设计一个纸牌游戏。每张卡片都是包含两个属性的Card类的实例:卡片的唯一ID和对CardData对象的引用。CardData类型的对象实现了有关Card如何在游戏规则中运行的方法。许多卡片(例如如果有多个俱乐部的杰克)可以引用相同的卡数据。
public class Card {
public int id;
public CardData card;
}
我的问题是关于我应该如何实现CardData类。我的第一个直觉是用WhenPlayed()和WhenRemoved()等方法设计一个抽象基类CardData,然后为实现它们的每个卡创建一个子类。
public a
好的,我正在制作一个基于瓦片的游戏,我正在从一个文件中加载一个世界。所以我得到了一个大约100 x 15个字符的数组,每个字符代表一个磁贴的ID。假设我有32种类型的瓦片,每种都有特殊的属性。它们都继承自一个Tile类,并且每个都有一个ID 0-31。我想创建一个100 x 15的Tile数组,另一个包含字符的数组将告诉我将哪些tiles放在哪里。但基本上,我如何才能最有效地找出ID属于哪个磁贴?
比方说,我刚刚读到一个字符,它是3,它与一些瓦片"D“相关。那么,我应该做这个类型的事情吗:
switch(idFromChar)
case 0: tile A
case 1: tile B
我已经正式成为智障了。让我解释一下
直到今天,我还没有真正考虑过类和它们之间的关系。我试图弄清楚一些看起来很明显的东西,但因为我很愚蠢,所以我看不到它。
假设我有一个核心类,它将从不同的文件中扩展。子类如何从其他兄弟类调用函数(也就是说,如果这些子类被认为是childs的话)。示例代码:(不要杀我)
class cOne {
public function functionOne(){
echo "something";
}
}
然后在另一个文件中,我说:
class cOneChildOne extends cOne {
public
我正在用Java构建一个地图应用程序,我有一个关于传递小对象的问题。假设我希望将窗口显示为矩形的区域表示为矩形,并且希望查询矩形内有哪些瓦片,以便知道要加载哪些瓦片。在C++中,我只需要创建一个Rect结构并包含一个tileInRect方法即可。对Java最直接的翻译是这样的:
class Rect {
float x, y, width, height;
public boolean tileInRect(Tile t) {
// yada yada
}
}
class MyProgram {
public void main(String
我正在用Perl开发一个RPG库,并希望使每个部分尽可能地可互换。我目前正在创建Map子系统,并将继续创建字符子系统。我应该如何处理角色和地图之间的交互?
$character->move('left'); # Character encapsulates a Map
或者类似于
$runtime->moveCharacter('left'); # Runtime encapsulates both Map and Character
Map看起来不应该是角色的一部分,但在其他方面看起来很尴尬。
另外,我应该如何将地图瓦片和角色外观的图形元素从其底层
我有一个引文类,我希望每个引文都有很多参考资料。资源可以是LocalFile、Link (或者类似于dropbox文件)。资源将共享大多数功能和列。我希望以以下方式使用单个表继承。
class Resource < ActiveRecord::Base
belongs_to :citation
acts_as_list :scope => :citation
end
class LocalFile < Resource
end
class Link < Resource
end
class Citation < ActiveRecord::Base