ZigClimb
ZigClimb | |
---|---|
Developer | flend |
Theme | Egypt |
Influences | A Journey to Hell |
Status | released |
Released | Jan 10 2010 |
Updated | - |
Licensing | GPL |
P. Language | C |
Platforms | Windows, UNIX |
Interface | |
Game Length | 20 minutes |
Official site of ZigClimb |
ZigClimb is a coffeebreak roguelike
ZigClimb is a 1KBRL that sees the adventurer climbing a ziggurat, fighting monsters, collecting weapon and armour upgrades and ultimately escaping with a stash of gems.
Story
You listened eagerly to the old man at the fireside as he described the ancient temple and the riches to be found there. His dire warnings about the fate of the others who had tried to plunder the temple and never returned, however, fell on deaf ears...
As you entered the base of the ziggurat, the heavy stone door slammed behind you. You grasp your dagger and wooden shield tightly for reassurance. It seems that the only way out is through...
Features
- Monsters of different strengths, represented by later alphabet letters
- Weapons and armour upgrades
- Monster versus monster combat
- 10 levels to explore and a reward level
- Fully commented source code
Tips
- Harder monsters require higher level weapons to hit
- Monster versus monster combat can be used to defeat high level monsters
Downloads
Source code
(1024 bytes, requires curses, source broken at 80 chars)
#include <ncurses.h>
#define F(v,h)for(v=0;v<h;v++)
#define D(i)F(y,T)F(x,S){i;}
#define G M[x][y]
#define H M[x+a][y+b]
#define Z(n)n<0?-1:(n>0?1:0)
#define r rand()
int x,y,f,g,c=53,q,S=40,T=20,M[40][20],e=46,o=192,l=0,w=1,s=1,h=10,z=0;char L[]=
"@<!%(";E(t){while(M[x=r%S][y=r%T]-e);G=t;}i(){D(G=x+y?e:64)}d(x,y) {int i,j;if(
x>0&&y>0&&x<S-1&&y<T-1&&G-e){G=e;F(i,3)F(j,3)r%5<4||d(x+i-1,y+j-1);}}n(){q=0;whi
le(q<30200){D(G=35)d(r%S,r%T);q=0;D(q+=G)}F(q,5)E(L[q]);F(q,2*l+r%9)E(97+r%7+l);
}m(a,b){G-64?q=G-97,H^o||(q+r%5-s<3||h--):(q=w,H^33||(h=10,H=e),H^60||(l++,l<10?
n():i(),clear()),H^37||(s=l+r%7,H=e),H^40||(w=l+r%5,H=e),H^42||(z+=l+r%3,H=e)),H
^o&&(H<96||(q+r%5<((H&127)-97)||(H=42)));G|=128;H-e||(H=G,G=e);}main(){srand(tim
e(0));initscr();n();while(c-81&&h>0){D(c<49||c>57||G-64||m((c-1)%3-1,(49-c)/3+1)
)D((G&127)-64||(f=x,g=y))D(G<97||G>122||m(Z(f-x),Z(g-y)))D(G&=127)D((f-x)*(f-x)+
(g-y)*(g-y)>25||mvaddch(y,x,G))mvprintw(T,0,"H:%d L:%d WA:%d/%d *:%d %s%s",h,l,w
,s,z,h?"":";(",l>9?"OUT":"");c=getch();}endwin();}