Difference between revisions of "ZigClimb"

From RogueBasin
Jump to navigation Jump to search
(New page about zigclimb)
 
m
Line 14: Line 14:
}}{{coffeebreak}}
}}{{coffeebreak}}


ZigClimb is a 1KBRL that sees the adventurer climbing a ziggurut, fighting monsters, collecting weapon and armour upgrades and ultimately escaping with a stash of gems.
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 ==
== Story ==

Revision as of 18:42, 21 March 2010

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 v. 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();}