
引言
“ Linux不适用于游戏!” -过时的短语:现在有很多出色的游戏专门针对这个出色的系统。 但是,有时候,我还是想要一些适合您的特殊东西。。。
基数
我不会显示并告诉所有代码(这不是很有趣),而仅是要点。
1.字符
这里列出了感兴趣的角色的所有参数(健康,盔甲,经验等)是渲染和移动方向(目前不可用)。
int x = 5, y = 5; hp = 100, maxhp = 100, dm = 20, armor = 0, xp = 0, level = 0, diff = 10,
2.管理
如何清晰地移动字符(x-\ ++,y-\ ++)。 但是键盘处理更有趣:
char key; char getkey() { system("stty raw"); key = getchar(); system("stty cooked"); return key; }
仅保留设置“控制字符”。 可以通过开关来完成,但是我讨厌它。
switch(...) case .. : ... ; break
switch(...) case .. : ... ; break
更好地
switch(...) case .. : ... ; break
#define KEY if (key == #define I ){ #define J ;}else void keys() { getkey(); KEY 'a' I x-- ; pos = 1 J KEY...... }
美女! 循环功能并在屏幕上运行! 但是以某种严厉的方式...光标闪烁,字母闪烁...修复它!
哇! 百分之一准备好了!
3.周围的世界
在这里,我们为世界的x,y个部分及其自身
(char o[N])
创建数组,怪物和奖励也是如此。
我们通过与
hero()
类似的方法创建
world(int objx[N] .... objy[N] ... obj[N], ... objcolor[N])
函数
world(int objx[N] .... objy[N] ... obj[N], ... objcolor[N])
hero()
,但是使用参数和附加循环来输出数组...为了感兴趣,我们仅在视场(vis)中进行绘制
(if (ox[k] < vis && oy[k]....))
现在,我们通过一个直接的,程序上空洞的房间和通道,用世界的粒子填充屏幕,同时输入敌人和物体,因为完全的随机性不要忘了
srand(time(NULL));
4.互动
现在,我们需要以某种方式不穿过墙壁和怪物,从物体上获得奖金。
我们最喜欢和#define
#define TOUCH if (x == ox[i] && y == oy[i] && pos == #define HIT x == ex[i] && y == ey[i] && pos == for (int i = 0; i <= n; i++) { if (i <= diff) { if (Mdm) ehp[i]-=2 ; // " " epos[i] = 0; if (ex[i] < x+5 && ex[i] > x-5 && ey[i] < y+5 && ey[i] > y-5 ) { edel(i); // if (ex[i] < x I ex[i]++ ; epos[i] = 1 J if (ex[i] > x I ex[i]-- ; epos[i] = 2 J if (ey[i] < y I ey[i]++ ; epos[i] = 3 J if (ey[i] > y I ey[i]-- ; epos[i] = 4 ;} } for (int j = 0; j <= n; j++) // while (ex[i] == ox[j] && ey[i] == oy[j] || ex[i] == ex[j] && ey[i] == ey[j] && j != i) { if (epos[i] == 1) ex[i]-- ; else if (epos[i] == 2) ex[i]++ ; else if (epos[i] == 3) ey[i]-- ; else if (epos[i] == 4) ey[i]++ ; } if (x == ex[i] && y == ey[i]) // "" { if (ehp[i] > 1) { ehp[i] -= dm; (edm[i] < armor) ? hp -= 0 : hp -= edm[i]-armor; } else { ex[i] = ey[i] = -1; xp += exp[i]; ehp[i] = 12; } } if (!ght) // { if (HIT 1) y++ ;else if (HIT 2) x-- ;else if (HIT 3) y-- ;else if (HIT 4) x++ ; } } if (!ght) // , { TOUCH 1 I y++ J TOUCH 2 I x-- J TOUCH 3 I y-- J TOUCH 4 ) x++ ; } }
5.菜单
我们只需在屏幕上显示菜单,对项目编号,然后使用getkey()处理玩家的选择。 我们编写了角色的状态栏,实现了抽水菜单,编写了背景,然后得到了我所谓的“底土”(“ Subsoil”)。
结论
这是东西 您可以通过以下方式
下载 ,解压缩并运行它来播放它:
$ sudo chmod +x Subsoil-1.0/Subsoil
$ Subsoil-1.0/Subsoil
,或者说,最后是启发自己,写出自己喜欢的冒险经历。 我提前警告您:我的游戏并不轻松!
友情链接
程序产生 ,
启发 。