Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: C++ Program Ideas

  1. Sep 2, 2005 #1
    Umm guys, can you give me some ideas of what ptogram to create using basic c++? I've already learnt arrays, pointers, classes, strings, etc. I really like to make a game but don't know what game to create.

    Actually, i had the idea to make a hack/cheat for microsoft's spider solitair wherein it will automatically solve the card game (set in difficulty since it really is difficult to win at this level). But it seems that i cant still do such a thing with my current knowledge of c++. Also, it seems that i need to have the source code for the game.

    Ao any bright ideas, anyone???
  2. jcsd
  3. Sep 2, 2005 #2
    build a math engine, a rendering window using SDL, datastructures engine(or learn STL), graphics rendering engine(or learn OGL), GUI engine(or learn CEGUI/or something of that type), learn OpenAL/DirectMusics then move onto a prebuilt engine or visualization toolkit like Ogre/Irrlicht/VTK.

    as for simple programs what is your primary study? high school? then i suggest air hockey or bomberman with SDL. or a simple text based card game, like how they print out bridge i the newspaper. if your in first year university. Write a Math engine.

    learn what these are and the operations on them(also learn templates while your at it. when doing a math engine)
    general Math: tuple(set), Integer(Z), Rational(R), Complex(C), Polynomial(P)
    3D Math:Point, Vector, Matrix, Quaternion, Frustum, Camera
    Last edited: Sep 2, 2005
  4. Sep 2, 2005 #3
    Arrays and pointers in C++? That one takes years to get good at. The advantage of CPP is/are the ability to add inline assembly code, manipulate arrays better and do more compute focused tasks, where something like C# and VB.net allow easy user interfaces.

    And it depends on what part of software eng you are interested in?
  5. Sep 3, 2005 #4
    Is this just for fun or for an assignment? I had to create a game for my object-oriented design class last semester -- it took the entire semester, over 100 hours of work, and my combined knowledge not just of the language I was working in, but of programming skills -- which is 4 college years worth. When I was done, however, I completed the card game Skip-Bo in a clickable, graphical interface and I still love the fact that I accomplished all that by myself. The language was Java, whose syntax is a lot like C++ only it's much more stable (read: you can't get away with doing as much as you'd like, but at the same time it saves you headaches).

    I liked doing Skip-Bo ... I suggest thinking about what games you really really like to play, because you're going to be spending A LOT of time with it!
  6. Sep 3, 2005 #5
    "must more stable"?? mmmm....

    my first game was automata, then i tried chinese checkers but the pieces wouldn't stay on teh board(was 16 at the time)...haven't done a card game yet but i did bomberman. Well a demo version.
    I want to do mahjong and chinese chess as well as something like bridge
  7. Sep 4, 2005 #6


    User Avatar
    Homework Helper

    Write a program that calculates the Mandelbrot/Julia sets, and maybe the fractal boundaries for Newton's method when iteratively approximating the roots of degree 3 and 4 polynomials. Beautiful fractals on a 24 bpp monitor.
  8. Sep 4, 2005 #7
    Or since you want something in C++ ? Here is a zinger, create your own method to serialize objects. Thats one of the Mount Everest hill climbing challenges to CPP. Not that you could serialize one thing, but make a method thats robust.

    Its one thing that makes Microsoft Windows so powerful. If thats not your bag? you could work on a thin client application thats secure?

    Or just practice with linked lists
  9. Sep 14, 2005 #8
    i see. thanks for the ideas guys. I currently trying to understand basic openGL, as suggested by neurocomp2003. I actually first planned to make my own chinese chess program but thought i would finish it in one month's time since i'm not that good yet. I'm still even having a hard time with classes and pointers.
  10. Sep 15, 2005 #9


    User Avatar
    Homework Helper

    Writing games is very time intensive. One needs to learn and do quite a lot. Therefore you need all the help you can get. A very good book on 2D programming is "Tricks of the Windows Game Programming Gurus." by Andre La Mothe. He uses DirectX technology and gives source code for implementing all the basic game primitives one would need to develop a 2D game. All sorts of free and shareware are also included for game development on the CD. The code is intented for compilation with Microsoft Visual C++. It takes quite a lot of effort to make it work in Borland C++ (the DirectX code), but not impossible. He uses C++ code, but no classes. The book covers most of game programming topics quite satisfactory. One would need to add some graphics development (drawing) in order to implement a game though (and sound!). It will take about one to two months to cover the topics in the book if you work very hard at it, but it is definitely worth it if you are thinking seriously about it. An idea for a game is were the real genius of the procedure lies, but it is best to keep it very simple (maybe an arcade type of game in order to keep the graphics and sound development to a minimum) if you are a virgin game programmer - otherwise the chances that you would not finish is quite high.
  11. Sep 15, 2005 #10


    User Avatar
    Gold Member

    Write a program that only does implicit differtiation. I started a topic about this in the calc forum. But I couldnt get a working one. Just basic theory.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook