Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. .data ;// write your data in this section
  2.  
  3. welcome BYTE "Welcome to the dice guess game. It costs $1.00 to play.",0dh, 0ah,0
  4. play BYTE "Would you like to play? (y/n) ", 0
  5. conti BYTE "Would you like to continue? (y/n)", 0
  6. nxtRoll BYTE "Please enter your guess for the next roll",0dh,0ah,0
  7. bank BYTE "Your bank has $", 0
  8. terms BYTE "It only costs $1.00 to play, if you are correct I will pay you $10.", 0dh,0ah,0
  9. srry BYTE "Sorry, the dice rolled a ", 0
  10. win BYTE "Winner! the dice rolled a ", 0
  11. ty BYTE "Thanks for playing, your bank is $",0
  12. ty2 BYTE ". Come back real soon!", 0dh, 0ah, 0
  13.  
  14. bankmoney DWORD 10
  15. num DWORD ?
  16.  
  17. .code ;// write your program here
  18. main proc
  19.  
  20. mov edx, OFFSET welcome
  21. call WriteString
  22. mov edx, OFFSET play
  23. call WriteString
  24. call ReadChar
  25. call crlf
  26. cmp al, 'y'
  27. je startGame
  28. jmp exitGame
  29.  
  30.  
  31. startGame:
  32.  
  33. mov eax, 0
  34. mov eax, bankmoney
  35. mov edx, OFFSET bank
  36. call WriteString
  37. call WriteDec
  38. call crlf
  39. mov edx, OFFSET nxtRoll
  40. call WriteString
  41. mov edx, OFFSET terms
  42. call WriteString
  43. call randomNum
  44. call ReadInt
  45. cmp num, eax
  46. je winGame
  47.  
  48. lose:
  49.  
  50. mov eax, num
  51. mov edx, OFFSET srry
  52. call WriteString
  53. call WriteInt
  54. call Crlf
  55. sub bankmoney, 1
  56. mov edx, OFFSET bank
  57. call WriteString
  58. mov eax, bankmoney
  59. call WriteDec
  60. call Crlf
  61. mov edx, OFFSET conti
  62. call WriteString
  63. call ReadChar
  64. call Crlf
  65. cmp al, 'y'
  66. je startGame
  67. jmp exitGame
  68.  
  69. winGame:
  70.  
  71. mov eax, num
  72. mov edx, OFFSET win
  73. call WriteString
  74. call WriteDec
  75. call Crlf
  76. add bankmoney, 9
  77. mov edx, OFFSET bank
  78. call WriteString
  79. mov eax, bankmoney
  80. call WriteDec
  81. call Crlf
  82. mov edx, OFFSET conti
  83. call WriteString
  84. call ReadChar
  85. call Crlf
  86. cmp al, 'y'
  87. je startGame
  88. jmp exitGame
  89.  
  90. exitGame:
  91.  
  92. mov eax, bankmoney
  93. mov edx, OFFSET ty
  94. call WriteString
  95. call WriteDec
  96. mov edx, OFFSET ty2
  97. call WriteString
  98.  
  99.  
  100.  
  101. invoke ExitProcess,0
  102. main endp
  103.  
  104. randomNum proc
  105.  
  106. push eax
  107. push ecx
  108. push edx
  109.  
  110. call Randomize
  111. mov edx, 0
  112. mov ecx, 1
  113.  
  114. L1:
  115. mov eax, 6
  116. call RandomRange
  117. inc eax
  118. mov num, eax
  119. loop L1
  120.  
  121. pop edx
  122. pop ecx
  123. pop eax
  124. ret
  125.  
  126. randomNum endp
  127. end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement