Advertisement

c++简单小游戏代码_如何用C制作一个打怪小游戏(三)

阅读量:
a09d6362df714cff4e37cacfac60d7a2.png

前两期介绍了框架,战斗函数和关卡,剩余的商店背包之类的简单介绍一下。

商店界面无非是函数里面用一堆printf语句,用主函数调用shop函数,如图:
61f488a2983eb6b3e13cc32cec1f4502.png

武器商店:

do

{

printf("\n1:木剑 攻+10 价格$20\n");

printf("2:石剑 攻+20 价格$50\n");

printf("3:铁剑 攻+30 价?格$100\n");

printf("4:屠龙刀 攻+999 价格$999\n");

printf("0:返回\n\n");

scanf("%d",&i1);

} while(i1!=1&&i1!=2&&i1!=3&&i1!=4&&i1!=0);

return i1;

对应主函数片段:

f=shop();

if(f!=0&&f!=10&&f!=100)

printf("\n购买成功|!\n");

switch(f)

{

case 1:

a3-=20;

printf("你的金币剩余:$%d\n",a3);

b1++;

break;

case 2:

a3-=50;

printf("你的金币剩余:$%d\n",a3);

b2++;

break;

case 3:

a3-=100;

printf("你的金币剩余:$%d\n",a3);

b3++;

break;

case 4:

a3-=999;

printf("你的金币剩余:$%d\n",a3);

b4++;

break;

人物属性也是同理:

void renwu()

{

if(a1>a2)

a1=a2;

an();

printf("你的属性:\n");

printf("\n血量:%d\n",a1);

printf("血量上限:%d\n",a2);

printf("攻击:%d\n",a4);

printf("防御:%d\n",a5);

}

背包界面也是一样的,背包里可以装备商店里购买的物品,不过这里有两点值得注意:

(1)你的商店界面的商品越多,背包的代码也要越长,各种物品的数量可以设置为全局变量并初始化为零,当然这里可以做的细节一点,把数量为零的物品给隐藏起来,这对大家应该不难,用几个if else语句就行。

(2)关于背包物品的使用,如果是消耗品,数量-1,对应的全局变量增加就行,如果是装备,这里提供两种方法,

一,不考虑其他因素,直接把全局变量赋值为该武器伤害,替换装备是也是直接赋值,这种比较简单。

二,使用装备A时,装备A-1,再给全局变量赋值,使用装备B时,装备A+1,装备B-1,全局变量变为B装备伤害,相当于装备B把装备A挤出去,也就是先入先出,类似于一个队列,这种要复杂一些。

到了这里,这个小游戏基本上已经完成了,当我们运行这个小游戏时,多进行了几次循环之后,控制面板一堆密密麻麻的字会很难看(具体怎么样看第一期的图),那么我们能不能对控制面板进行处理一下呢?

当然可以,这里需要用到system函数,函数格式类似于printf,

System(“color 71”);//(十六进制)设置窗口背景为白色,文字为蓝色

System(“pause”);//暂停

System(“cls”);//clear screen,清空当前屏幕

System(“mode con cols=40 lines=50”);//设置窗口宽度为40,长度为50
3a95b0f265aa43cc802304c18edeb008.png

到了这里,整个小游戏的制作就完成了,配上图片:
70a433655bb97e5dc68ad2c477b2e151.png

(这个比例没做好,不要在意)
a8a0bfbde896c8502ffc7dae6ad46946.png

作者的话:大家如果有对游戏制作感兴趣的话,建议大家多去网上科普各类知识,网上有很多关于讲解C和C++的,都是课本没有提到过的(包括这个小游戏提到的一些知识),提前学习一下并没有什么坏处。

以后会不定时地发布游戏类的作品,敬请关注……
4819441769b12bc9a3b89068b7e84f82.png
a5311ccd8cabf9f6f70ac43eb5987a9d.gif

全部评论 (0)

还没有任何评论哟~