无题
# 命名空间方法的使用
#
# include <iostream>
using namespace std;
引入命名域,如果没有引入命名域,则在 cout 以及 cin 都需要写成
std::cout
std::cin‘
命名空间的作用
首先我们知道 C++ 是一个支持面向对象开发的语言,那么在类的定义的时候,我们需要抽象出物体(这一类物体的属性),但是实际情况下,不同类的物品在抽象的时候,可能会有相同定义的属性,比如在游戏当中,玩家有血量 HP ,敌人同样也有血量 HP,那如果定义变量的时候都定义 HP ,将会产生冲突,命名空间就很好地解决了这一点。
如下:
namespace Player
{
float hp;
}
namespace Enemy
{
float hp;
}
int main
{
Player::hp;
Enemy::hp;
return 0;
}
在上述例子中,我分别创建了两个命名空间 “ Player ”,“ Enemy ”, 我在调用他们的时候都必须要在变量前面提前 ...
无题
实例化对象。
double a[10]; 这条语句在 C++ 中是在栈内存中分配了一块能够存储 10 个 double 类型元素的内存空间。这个数组 a 可以用来存储 10 个 double 类型的值,其索引范围是 0 到 9。
这里是一个简单的示例,说明如何使用这个数组:
double a[10];
// 初始化数组
for(int i = 0; i < 10; ++i) {
a[i] = i * 1.0;
}
// 打印数组的值
for(int i = 0; i < 10; ++i) {
std::cout << "a[" << i << "] = " << a[i] << std::endl;
}
在这个示例中,我们首先声明了一个能够存储 10 个 double 类型值的数组 a 。然后,我们使用一个循环来初始化数组的每个元素,最后我们使用另一个循环来打印数组的每个元素的值。
在 C++ 中,语句 double *s; 并 ...
无题
# 这个 C# 脚本文件在 Unity 所开的项目中可以正常运行,但为什么直接在 vscode 运行不行呢。
# 1. 首先是报错的原因
这个错误提示意味着 PowerShell 无法找到名为 scriptcs 的命令。这通常是因为 scriptcs 没有被正确安装或者没有被添加到系统的 PATH 环境变量中。请确保您已经正确安装了 scriptcs,并将其添加到 PATH 环境变量中。如果您已经安装了 scriptcs 并且将其添加到了 PATH 环境变量中,那么请检查您的命令是否正确拼写。
# 2. 那为什么在 Unity 的项目对象中可以直接运行,而不会报错
Unity 引擎已经为您配置好了项目所需的环境,包括编译器、库和其他依赖项。在 Unity 中,您可以直接编写 C# 代码,并且 Unity 引擎会自动编译和运行您的代码。因此,您可以在 Unity 中直接运行这段代码,而不需要手动配置环境。
在 Unity 中使用了 C# 脚本,那么您不需要使用 scriptcs 来运行它们。Unity 引擎会自动编译和运行您的脚本。因此,如果您在 Unity 中使用 C# 脚本,那么将 ...
无题
抽象方法只能在抽象类中定义
这个错误提示是因为您在抽象类 Polygon 中声明了一个抽象方法 Purarea ,但是没有为它提供方法体。在 C# 中,抽象方法必须以分号结尾,并且不能有方法体,因为它们没有实现,必须在子类中实现。
要解决这个问题,您需要为 Purarea 方法提供方法体,或者将 Polygon 类声明为抽象类,以便子类可以实现 Purarea 方法。
以下是一个示例,演示了如何在 Polygon 类中声明抽象方法:
abstract class Polygon
{
public abstract void Purarea();
}
class Rectangle : Polygon
{
public override void Purarea()
{
Console.WriteLine("Calculate the area of a rectangle.");
}
}
// 使用示例
...
无题
# 一定要记得 Log 的 L 大写!!!!
无题
# 可以从简单的点子入手
比如
![[Pasted image 20230915135613.png]]
如图一个很简单的东西,从下走到上。这看上去没什么意思,但如果进行了机制的修改扩充,堆叠之后。
![[Pasted image 20230915135729.png]]
它就起码看上去很有意思了。
或者说可以改一下颜色什么的。
所以一个有趣的游戏或者说很牛的游戏,他不是说一开始的想法就是完美的,他的存在是出于机制的堆叠。
# 1. 目的
一个游戏一定要有明确的目标
难度要有梯度
# 2. 难度
如何提升难度
几率
1. 关注几率的游戏
练习不会有太大意义,他很难带入到下一场游戏
技巧
如下棋 - 胜利完全取决于自己
当然在很多游戏中几率与技巧密不可分
比如扑克。
扑克的随机性:洗牌,抽牌,发牌
扑克的技巧性:如何利用手中的牌打出最好的效果
无题
Coursera
Game Design and Development:这是一个由密歇根州立大学提供的专项课程,涵盖了游戏设计和开发的基本知识。
Game Design: Art and Concepts:这是由加利福尼亚艺术大学提供的专项课程,专注于游戏设计的艺术和概念方面。
Udemy
Complete C# Unity Game Developer 2D:这门课程将教你如何使用 Unity 和 C# 从头开始创建 2D 游戏。
Unreal Engine C++ Developer: Learn C++ and Make Video Games:如果你对使用 Unreal Engine 进行游戏开发感兴趣,这门课程将是一个很好的起点。
edX
Video Game Design and Balance:这是由罗切斯特理工学院提供的专项课程,专注于游戏设计和平衡。
FutureLearn
Video Game Design and Development:这是由阿伯泰大学提供的一个完整的在线学位课程,涵盖了游戏设计和开发的各个方面。
YouTu ...
无题
USC Games
USC Games Official Website:你可以在这里找到他们的最新项目和新闻更新,以及他们的一些课程和项目介绍。
Coursera
Game Design and Development with Unity 2020:这是 USC 提供的一个专项课程,涉及 Unity 2020 的游戏设计和开发。
YouTube
USC Games YouTube Channel:这个频道提供了一些关于他们的课程和项目的视频,包括学生项目的展示和一些教学视频。
iTunes U
在 iTunes U 上,USC 曾提供了一些游戏设计和开发的公开课程,你可以在那里搜索 “USC Games” 或 “USC Game Design” 来查找相关课程。
其他在线平台
USC 也可能在其他在线教育平台上提供课程或研讨会,你可以通过检查平台如 edX 或 FutureLearn 来查找他们的课程
无题
# 1. 经典 RTS
C&C =《命令与征服》(Command & Conquer) 系列,包括《C&C:红色警戒》;
SC=《星际争霸》(StarCraft) 系列;
War3=《魔兽争霸 3》(Warcraft 3)
AoE=《帝国时代》(Age of Empire) 系列
# 核心玩法:
建设:玩家需要建造能够实现采集、扩军和战斗功能的建筑。造基地。
采集:玩家需要从地图上收集(一种或多种)资源。采矿。
扩军:玩家需要招募军队、研究科技,强化军队的军事实力。造兵、升级。
战斗:玩家使用军队达成战术与战略目的。打仗。
# 传统 RTS 弊端
系统复杂、操作断手、天梯虐人、体验落后
# 2. 核心系统
# 经济
# 科技
# 兵力