Design and implement a character generator for dungeons

Assignment Help Basic Computer Science
Reference no: EM13936162

Use tables and formulas also from workshop file to complete assignment. Design and Implement a character generator for Dungeons and Dragons. It is to have the following specifications:

• The program should ask for a Level.

• The program should offer a selection of Races, to choose from and accept a choice o Races should be read in from a file (races.chr) and stored in a linked list.

• The program should offer a selection of Classes to choose from and accept a choice.

o The Classes should be read in from a file (classes.chr) and stored in a linked list.

o New Classes should be able to be added by adding the information to the file only.

o Every Class should have an attribute that is considered Primary

• The program should then offer a variety of methods of generating the attributes

o The attributes should be: Str, Dex, Con, Int, Wis, and Cha

o The program should offer a selection of methods of generation such as:

? Entering the attributes directly

? Roll 4d6 and discard the lowest value.

? Roll 4d6 and discard the lowest value and if the attribute is 16 or higher, add the value of an additional 1d6.

? Roll Method IX:

• Each class should weight each attribute from most to least important. In Method IX, the most important attribute rolls 9d6 and keeps the highest

3. The second most important rolls 8d6, keeping the highest 3. This follows in this pattern of 7d6, then 6d6, then 5d6 and finally 4d6 for the least important.

• This information is part of the Class information and is used to generate the attributes in the Character structure.

• ie: A Fighter would probably rate Str highest, then Con and so on until you get to Chr at the lowest. This would result in something like: Str: 9 Dex: 6 Con: 8 Int: 7 Wis: 5 Chr: 4

• Meaning 9d6 is rolled for Str, 6d6 is rolled for Dex, etc.

• Every attribute is the sum of the highest 3 dice regardless of the number of dice rolled.

• Each attribute confers a bonus or penalty. Through the Workshops you should have deduced that the pattern for the bonuses follows the formula y = (x/2)-5.

• Once the attributes have been rolled, calculate the hitpoints for the character. This should be the total value of 1 hitdice rolled and combined with the Con bonus (either positive or negative) for each level. Your program should ensure that the minimum value for every level is 1 (You cannot have 0 or a negative number for any individual level) as if the Con bonus is negative you could end up with a negative result. hitdice is determined by Class.

• Present the values generated as one set and either allow the user to accept or discard (and regenerate) the attributes. The program should remember the values entered for Level and Class/Profession

• Attack Bonus is something determined by the following: o Melee Weapons: Proficiency_Bonus + Str_Bonus o Missile Weapons: Proficiency_Bonus + Dex_Bonus o Spells: Proficiency_Bonus + Primary_Attribute_Bonus o Spell Strength = 8 + Proficiency_Bonus + Primary_Attribute_Bonus

• Ask for and accept a character name

• Calculate Save Bonuses (Workshop 4)

• Display all the information neatly. The character name and level, all attributes and bonuses, hit-points, base attack bonus, combat and damage bonus and all selected skills (with number of skill points).

• Offer the option of saving the character to a file (and actually save it if requested) before making a new character or quitting. Bonus XP (note: NOT marks): 1)

Add point buy for stats! (may require some Google time).

NOTE: The Workshops have been working up to this point to provide you with a base program of your own work that should give you the best possible opportunity for completing this assignment. You should look to how these Workshops have developed your work for a guide on how to structure your final assessment.

Marking Guide: Design /5 Program meets requirements as stated /5 Appropriate use of functions and abstraction /5 Correct use of data structures (structs, linked lists, etc) /5 Code is written legibly (formatting, comments, etc) /3 Program compiles and runs correctly /5 Output is neat and formatted /2 Total: /30

Reference no: EM13936162

Questions Cloud

What happened to the futures price over the november : What do you think happened to the futures price over the month of November? Why? If you had known that this would occur, would you have purchased or sold a December futures contract in pounds on 1 November? Explain.
The gain or loss for the stock : Write a program to process stock data. The stock data should be read from a text file containing the following data: stock code, stock name, amount invested (XXX.XX), shares held, and current price. Sue the internet or your local paper to gather..
How did managers manage projects before the invention : How did managers manage projects before the invention and application of computers and software? Think of all the great construction projects and inventions that were made without computer scheduling software from the pyramids to ships, castles, and ..
How your organisation uses technology roadmaps : Create an initial post in which you analyse how your company uses technology roadmaps. In your analysis, address how successful or unsuccessful the company has been in implementing that roadmap
Design and implement a character generator for dungeons : Use tables and formulas also from workshop file to complete assignment. Design and Implement a character generator for Dungeons and Dragons. It is to have the following specifications:
Calculate the magnitude of the torque due to the force of : Calculate the magnitude of the torque (due to the force of gravity) around this pivot point when the string makes a 45º angle with the vertical. The acceleration of gravity is 9.81 m/s 2.
What is it about agribusiness managers : What is it about agribusiness managers that make them unique from other types of managers? Describe the special preparation agribusiness managers need in a biologically based business such as the agri-food system.
What is there to lose by waiting three months : How can the team hedge its position? What is there to lose by waiting three months to see if the exhibition game is approved before hedging?
Explain kinsey''s hierarchy of why people buy food : Explain Kinsey's hierarchy of why people buy food and then use it to explain the growth of organic foods

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Is this something to do with precedence

Please could you explain why 2**2**0=2

  Determine the value required for any prescaling

A PWM is used in 8-bit mode to produce a signal with a 1 msec period and 60% duty cycle. Determine the value required for any prescaling and the values for the period and duty cycle registers. The E-clock is 24 MHz.

  Explain steps to install apache on the operating system

One of the great benefits of the Apache web server is its wide range of OS and platform support. Apache will run on any Unix-like OS (e.g. Linux, Unix, Mac, Solaris, and Berkeley Software Distribution (BSD) and most Windows OSs).

  Define static binding and dynamic binding

1. Define static binding and dynamic binding and give an example of each. Static binding occurs at compile time and dynamic binding occurs at run time. 2. Describe a situation when a history sensitive variable in a subprogram is useful.

  Calculate the day of the week for that date

If the user enters garbage or the wrong number of digits, we expect the output to be garbage - The calendar has changed over the centuries

  Explain the characteristics of value-type variables

Briefly explain the characteristics of value-type variables that are supported in the C# programming language.

  Describe two advantages of modular design

Describe two advantages of modular design, and give a real business example of how the benefits can be achieved.

  Phases of the database design process

The requirements collection and analysis phases of the database design process have provided the following data requirements for Big City Rentals, which rents out vehicles. Big City Rentals has several rental outlets. Each outlet has an outlet num..

  Conduct internet searches to find the information described

Conduct Internet searches to find the information described in one of the activities below. Write a brief report summarizing your research results. Be sure to document your sources, using the APA format. Submit the report to your instructor.

  Write program displays squares integers

Just starting out with C++ and need some help writing a for loop. Thanks in advance!

  Dimensions of system dependability

"Dimensions of System Dependability" Please respond to the following: Consider the four principal dimensions of dependability. Choose two dimensions, describe them, and explain the relationship between your chosen dimensions. Provide at least two ..

  What would be the output of the countdown routine

Recursion is a powerful technique that is often utilized for a variety or problems. Often, people think iteratively rather than recursively. However, when thinking computationally, as in computer language, recursive techniques are often utilized.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd