Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import curses, os, random
- os.system("@echo off")
- os.system("echo PRESS F11 BEFORE PLAYING")
- os.system('echo DUNGEON CRAWLER BETA 1.3')
- os.system("pause>nul|set/p=PRESS ANY KEY TO PLAY")
- os.system("cls")
- screen = curses.initscr()
- curses.noecho()
- curses.start_color()
- curses.cbreak()
- screen.keypad(1)
- curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
- curses.init_pair(2, curses.COLOR_BLUE, curses.COLOR_BLACK)
- map = 'HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\nH H H\nH H H\nH H H\nH H H\nH H H\nH H H\nH H H\nH H H\nH HHHHHHHHHHHHHH H\nH H\nH H\nH H\nH H\nH H\nHHHHHHHHHHHHH H\nH H\nH H\nH H\nH H\nH H\nH H\nH H\nH H\nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH'
- screen.addstr(0,0,map,curses.color_pair(1))
- screen.addstr(23,48,"C")
- class Char:
- def __init__(self):
- pass
- x,y,oldx,oldy=1,1,0,0
- def scoot(self):
- if screen.inch(self.y,self.x) == ord("H"):
- self.y,self.x = self.oldy,self.oldx
- if screen.inch(self.y,self.x) == ord("X"):
- curses.nocbreak(); screen.keypad(0); curses.echo()
- curses.endwin()
- exit()
- if screen.inch(self.y,self.x) == ord("C"):
- screen.keypad(0)
- os.system("cls")
- os.system("echo You win")
- os.system("pause")
- curses.nocbreak(); screen.keypad(0); curses.echo()
- curses.endwin()
- exit()
- def left(self):
- self.oldx,self.oldy = self.x,self.y
- screen.addstr(self.y,self.x,' ')
- self.x -= 1
- self.scoot()
- screen.addstr(self.y,self.x,"@",curses.color_pair(1))
- def right(self):
- self.oldx,self.oldy = self.x,self.y
- screen.addstr(self.y,self.x,' ')
- self.x += 1
- self.scoot()
- screen.addstr(self.y,self.x,"@",curses.color_pair(1))
- def up(self):
- self.oldx,self.oldy = self.x,self.y
- screen.addstr(self.y,self.x,' ')
- self.y -= 1
- self.scoot()
- screen.addstr(self.y,self.x,"@",curses.color_pair(1))
- def down(self):
- self.oldx,self.oldy = self.x,self.y
- screen.addstr(self.y,self.x,' ')
- self.y += 1
- self.scoot()
- screen.addstr(self.y,self.x,"@",curses.color_pair(1))
- def __call__(self):
- self.c = screen.getch()
- if self.c == ord("a"):
- self.left()
- if self.c == ord("d"):
- self.right()
- if self.c == ord("w"):
- self.up()
- if self.c == ord("s"):
- self.down()
- if self.c == ord("q"):
- curses.nocbreak(); X.keypad(0); curses.echo()
- curses.endwin()
- exit()
- self.scoot()
- screen.addstr(self.y,self.x,"@",curses.color_pair(1))
- class Enemy:
- y,x,oldx,oldy = 0,0,0,0
- def __init__(self,PLAYER,argy,argx):
- self.y,self.oldy = argy,argy
- self.x,self.oldx = argx,argx
- def scoot(self):
- if screen.inch(self.y,self.x) == ord("H"):
- self.y,self.x = self.oldy,self.oldx
- if screen.inch(self.y+1,self.x+1) == ord("X"):
- self.y,self.x = self.oldy,self.oldx
- if screen.inch(self.playery,self.playerx) == ord("X"):
- curses.nocbreak(); screen.keypad(0); curses.echo()
- curses.endwin()
- exit()
- def move(self):
- self.oldx,self.oldy = self.x,self.y
- screen.addstr(self.y,self.x,' ')
- self.random = random.randint(0,3)
- if self.playerx > self.x and self.random == 0:
- self.x += 1
- if self.playery > self.y and self.random == 1:
- self.y += 1
- if self.playerx < self.x and self.random == 2:
- self.x -= 1
- if self.playery < self.y and self.random == 3:
- self.y -= 1
- self.scoot()
- screen.addstr(self.y,self.x,"X",curses.color_pair(1))
- def __call__(self,PLAYER):
- screen.addstr(self.y,self.x,"X",curses.color_pair(1))
- self.playerx,self.playery = PLAYER.x,PLAYER.y
- self.move()
- self.scoot()
- player = Char()
- enemy = Enemy(player,10,10)
- enemy2 = Enemy(player,10,20)
- enemy3 = Enemy(player,16,30)
- while True:
- player()
- enemy(player)
- enemy2(player)
- enemy3(player)
- screen.refresh()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement