1. import curses
  2. import time
  3.  
  4.  
  5. def coffeeFill():
  6. #initialise curses screen
  7. coffeeScr = curses.initscr()
  8. #get terminal size to print in the middle of the terminal
  9. size = coffeeScr.getmaxyx()
  10. xOffset = size[1]/2 -9
  11. yOffset = size[0]/2 -4
  12. #print coffee cup
  13. coffeeScr.addstr(yOffset,xOffset," \ | ( | ) / /")
  14. coffeeScr.addstr(1 + yOffset,xOffset," _________________")
  15. coffeeScr.addstr(2 + yOffset,xOffset," | |")
  16. coffeeScr.addstr(3 + yOffset,xOffset," | |")
  17. coffeeScr.addstr(4 + yOffset,xOffset," | /--\\")
  18. coffeeScr.addstr(5 + yOffset,xOffset," | | |")
  19. coffeeScr.addstr(6 + yOffset,xOffset," \ /\--/")
  20. coffeeScr.addstr(7 + yOffset,xOffset," \___________/")
  21. coffeeScr.refresh()
  22. time.sleep(1)
  23. #asks for user input to fill coffee cup
  24. coffeeScr.addstr(size[0]-1,0,"Do you want to fill coffee cup? (y/n) ")
  25. answer = coffeeScr.getch()
  26. #fill coffee cup
  27. if answer == ord('y'):
  28. coffeeScr.addstr(7 + yOffset,xOffset," \###########/")
  29. coffeeScr.refresh()
  30. time.sleep(1)
  31. coffeeScr.addstr(6 + yOffset,xOffset," \#############/\--/")
  32. coffeeScr.refresh()
  33. time.sleep(1)
  34. coffeeScr.addstr(5 + yOffset,xOffset," |###############| |")
  35. coffeeScr.refresh()
  36. time.sleep(1)
  37. coffeeScr.addstr(4 + yOffset,xOffset," |###############/--\\")
  38. coffeeScr.refresh()
  39. time.sleep(1)
  40. coffeeScr.addstr(3 + yOffset,xOffset," |###############|")
  41. coffeeScr.refresh()
  42. time.sleep(1)
  43. coffeeScr.addstr(2 + yOffset,xOffset," |###############|")
  44. coffeeScr.refresh()
  45. time.sleep(1)
  46. curses.endwin()
  47. #want to drink coffee?
  48. coffeeScr.addstr(size[0]-1,0,"Do you want to drink coffee? (y/n) ")
  49. drinkAnswer = coffeeScr.getch()
  50. if drinkAnswer == ord('y'):
  51. coffeeScr.addstr(2 + yOffset,xOffset," | |")
  52. coffeeScr.refresh()
  53. time.sleep(1)
  54. coffeeScr.addstr(3 + yOffset,xOffset," | |")
  55. coffeeScr.refresh()
  56. time.sleep(1)
  57. coffeeScr.addstr(4 + yOffset,xOffset," | /--\\")
  58. coffeeScr.refresh()
  59. time.sleep(1)
  60. coffeeScr.addstr(5 + yOffset,xOffset," | | |")
  61. coffeeScr.refresh()
  62. time.sleep(1)
  63. coffeeScr.addstr(6 + yOffset,xOffset," \ /\--/")
  64. coffeeScr.refresh()
  65. time.sleep(1)
  66. coffeeScr.addstr(7 + yOffset,xOffset," \___________/")
  67. coffeeScr.refresh()
  68. time.sleep(1)
  69. coffeeScr.clear()
  70. curses.endwin()
  71. coffeeFill()
  72. else:
  73. coffeeScr.clear()
  74. coffeeScr.addstr(yOffset+2,xOffset-7, "coffee is poured all over your pants")
  75. coffeeScr.refresh()
  76. time.sleep(1)
  77. coffeeScr.clear()
  78. curses.endwin()
  79. coffeeFill()
  80.  
  81. #user is sleeping
  82. elif answer == ord('n'):
  83. coffeeScr.clear()
  84. coffeeScr.addstr(yOffset+2,xOffset+4, "goodnight")
  85. coffeeScr.refresh()
  86. time.sleep(1)
  87. curses.endwin()
  88. else:
  89. coffeeScr.clear()
  90. coffeeScr.addstr(yOffset+2,xOffset+8, "wat")
  91. coffeeScr.refresh()
  92. time.sleep(1)
  93. curses.endwin()
  94. coffeeFill()
  95.  
  96. coffeeFill()
  97.