I need some help, i do not fully understand either of these topics or how to go about writing out the design for my project. Just a little help would be helpful. Here is a brief description of the program i need to design.
It is played on the board. (usually with pegs fitting into holes at the intersections of the lines). The yellow circles represent sheep. The red circles represent foxes. This diagram shows the starting position of the sheep and foxes.
The sheep will move first.
On their turn, any single sheep may be moved forward or sideways into an open space. Backwards and diagonal moves are not permitted.
On the foxes' turn, one fox may move in any direction along one of the lines into an open space. If a sheep is adjacent to one of the foxes with an empty space just beyond it, the fox can capture the sheep by jumping over it (as in checkers). Multiple jumps are possible. Capturing is, in fact, required, as are multiple jumps. If either fox can capture a sheep, then one of them must do so and must execute multiple jumps if possible.
If, on the foxes’ turn, either fox is completely surrounded and cannot move, that fox is captured.
The sheep win the game if they can occupy all nine squares of the "paddock", the cluster of positions shown in orange in the figure. The foxes win if they reduce the number of remaining sheep below 9 (because the sheep cannot then occupy the entire paddock.
See here for both of these. For the game, do you need to implement it in C++? If so, you may be partly right here. What do you already have, and where do you have problems?