游戏制作小技巧
2023-12-16 11:10:22
发布于:浙江
嗨嗨嗨,今天,我又来灌水发教程了
我看社区里很多人在做游戏,就普及一下,制作游戏的基本方法,给大家入个门哈
首先要知道,做c++游戏,一般分成两大类,第一大类分三小类
1.文字游戏(剧情游戏)
(1)连续游戏,即有一个连续的剧本,会一直继续下去,一般玩家会在分支时作出选择,达到相应条件后结束,如丧尸危机(CSDN)
(2)操作游戏,即剧情不多,需要升级打怪,如打怪兽(ACGO)
(3)两者结合,即两个都有,在剧情中穿插打单个怪兽的过程(本人玩过,但网址被作者删除了555,所以暂无例子)
2.操作游戏(由于制作过于复杂,暂且不教,等薅明白了再讲)
说一下常用的代码及结构
这种游戏一般都会有颜色的改变,营造氛围感,那就需要用到一个代码
system("color AB");
对应头文件
#include<windows.h>
这里的*表示背景色,就是后面窗口的颜色。B表示前景色,就是字的颜色
颜色也是有代码的
0 = 黑色 8 = 灰色(“亮黑色”)
1 = 蓝色 9 = 亮蓝色
2 = 绿色 * = 亮绿色
3 = 湖蓝色 B = 亮湖蓝色
4 = 红色 C = 亮红色
5 = 紫色 D = 亮紫色
6 = 黄色 E = 亮黄色
7 = 白色 F = 亮白色
下一点就是暂停与等待,头文件同上
先说暂停
system("pause");//感谢“AC”指正
这个代码会让窗口跳出“请按任意键继续”,应该很好理解吧。
然后暂停,我就直接给大家做一个函数了哈
int slowc(){
for(int i=0;i<字符串的长度;i++){
cout<<字符串[i];
Sleep(40);
}
}
速度大家可以自己去调Sleep,Sleep的作用就是暂停一会儿
然后是清屏
system("cls");
这就不多说了吧
基本结构(战斗模块),这应该是最重要的部分了
printf("按任意键开始战斗");
getchar();
zombie.hp=30;
zombie.atk=6;
zombie.def=0;
zombie.exp=8;
zombie.lev=1;
zombie.nodie=true;
system("cls");//清屏
printf("敌人信息:\n");
printf("敌人:普通僵尸 等级:%d\n",zombie.lev);
printf("血量:%d 伤害:%d 防御:%d 击杀可获得%d经验\n",zombie.hp,zombie.atk,zombie.def,zombie.exp);//信息
Sleep(4000);//暂停
system("cls");
while(steve.hp>0 && zombie.hp>0)
{
printf("敌人:普通僵尸 等级%d\n",zombie.lev);
printf("你的血量:%d 僵尸血量:%d\n",steve.hp,zombie.hp);
printf("武器:\n");
printf("1| 普通攻击 10伤害 攻速1\n");//攻击方式
scanf("%d",&n);
if(n==1)//方式一(暂无二)
{
printf("你对僵尸造成了%d伤害\n",steve.atk-zombie.def);
zombie.hp=zombie.hp-(steve.atk-zombie.def);//伤害造成
}
else printf("无效输入\n");
Sleep(1000);
if(zombie.hp<=0) break;
printf("僵尸对你造成了%d伤害\n",zombie.atk-steve.def);
steve.hp=steve.hp-(zombie.atk-steve.def);//被伤害
Sleep(1000);
system("cls");
}
system("cls");
if(steve.hp<=0)
{
printf("你死了,请重新来过(5秒后结束)");
Sleep(5000);
return;
}
if(zombie.hp<=0)
{
printf("恭喜击杀[%d级普通僵尸]\n",zombie.lev);
printf("获得经验:%d\n",zombie.exp);
steve.exp+=zombie.exp;
printf("2秒后继续\n");
Sleep(2000);
}
注释已经写了,这也是增加游戏多元性
好了,暂时就写到这里吧,想出内容我会更新的呦( ̄︶ ̄)
看到这里,不为辛苦的作者点个赞吗?(。・ω・。)
打个广告,我的团队c++讨论队点我进入
全部评论 8
看一下:https://www.acgo.cn/discuss/rest/24936
2024-10-04 来自 上海
0最后的那个僵尸游戏很像洛谷呀
2024-04-14 来自 上海
0做一下等级提升
@作者2024-04-09 来自 江苏
0顶
2023-12-16 来自 浙江
0你们觉得我还要更新什么
2023-12-15 来自 浙江
0操作游戏指的是什么啊
2023-12-16 来自 浙江
0推箱子知道吧
2023-12-16 来自 浙江
0就是非文本类游戏,还有贪吃蛇之类你常见的游戏
2023-12-16 来自 浙江
0
兄弟,是pause,不是pauce呀
正确代码:
system("pause");2023-12-02 来自 北京
0感谢
2023-12-02 来自 浙江
0没事
2023-12-02 来自 北京
0改正了
2023-12-16 来自 浙江
0
挺好的,可惜在论坛里我没账号~😄
2023-11-24 来自 广东
0CSDN吗
2023-11-25 来自 浙江
0ye
2023-12-01 来自 广东
0s
2023-12-01 来自 广东
0
大家有建议就提在评论区
2023-11-20 来自 浙江
0
有帮助,赞一个