collapse collapse

* Who's Online

  • Dot Guests: 1208
  • Dot Hidden: 0
  • Dot Users: 0

There aren't any users online.

* Board Stats

  • stats Total Members: 88
  • stats Total Posts: 11164
  • stats Total Topics: 1700
  • stats Total Categories: 4
  • stats Total Boards: 76
  • stats Most Online: 1370

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - spum789

Pages: [1] 2 3
1
C++ / Pointer's acting up
« on: February 23, 2011, 09:14:18 pm »
ok so i have declared a pointer to an object. when i declare the pointer everything is fine. The problem is when i try to use the pointer outside of the main function whether its for setting the value of one of the variables in the class(which is public). anyways here is the code

Code: C++
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. class Team {
  6. public:
  7.         int players;
  8.         string type;
  9.         string name;
  10.         Team() : players(15) {}
  11.         ~Team() {}
  12. };
  13.  
  14. Team newTeam;
  15.  
  16. Team* pp = &newTeam;
  17.  
  18. //this is the part where i get the error which is this decleration has not storage class or type specifier
  19. //also i still get the same error whether i use the "*" or not
  20. *pp->players = 7;
  21.  
  22. int main(void)
  23. {
  24.         // but when used down here it gives an error that says "operand of '*' must be a pointer
  25.          pp->players = 8;
  26.          cout << pp->players << endl;
  27.          int x = 5;
  28.          cout << x << endl;
  29.          int* px = &x;
  30.          cout << *px << endl;
  31.          *px = 7;
  32.          cout << *px << endl;
  33.          *px -= 2;
  34.          cout << *px << endl;
  35.          getchar();
  36. }

[edited name=spum789 date=1298517503][/edited]
[edited name=spum789 date=1298517620][/edited]

2
C++ / Re: weird problem/bug
« on: November 18, 2009, 01:47:12 pm »
so your the one who fucked up the chat. wow celestial is definatley going to ban you for this

3
Challenges / Guessing Game submission
« on: November 16, 2009, 01:36:45 pm »
ok, this took no time at all. but i'm just getting these challenges out of the way so here it is

Code: C++
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. bool again = true;
  8. char play_again;
  9.  
  10. int main()
  11. {
  12.         do {
  13.         srand(GetTickCount());
  14.         int ran_num = rand()%11;
  15.         int user_guess;
  16.         cout << "Time to play a guessing game" << endl;
  17.         cout << "I'm going to guess a number between 0 and 10" << endl;
  18.         cout << "If you get it right then you'll win." << endl << endl << endl;
  19.         cout << "Enter you guess:";
  20.         cin >> user_guess;
  21.         if(user_guess == ran_num) {
  22.                 cout << "you win!" << "play again? y/n" << endl;
  23.                 cin >> play_again;
  24.                 if(play_again == 'y') {
  25.                         again = true;
  26.                         system("CLS");
  27.                 }
  28.                 else {
  29.                         again = false;
  30.                 }
  31.         }
  32.         else {
  33.                 cout << "you lose, try agian? y/n" << endl;
  34.                 cin >> play_again;
  35.                 if(play_again == 'y') {
  36.                         again = true;
  37.                         system("CLS");
  38.                 }
  39.                 else {
  40.                         again = false;
  41.                 }
  42.         }
  43.         }while(again == true);
  44.         getchar();
  45.         return 0;
  46. }
  47.        

4
Challenges / Re: Simple AI challenge submission - Tic Tac Toe
« on: November 16, 2009, 01:11:37 pm »
testing for viruis justin?

5
C++ / Re: tic-tac-toe game screwing up
« on: November 16, 2009, 12:31:29 am »
this is the final code, everything works great. many thx to jho for telling me my code was trash and start from scratch


Code: C++
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. char box1;
  8. char box2;
  9. char box3;
  10. char box4;
  11. char box5;
  12. char box6;
  13. char box7;
  14. char box8;
  15. char box9;
  16. int user_move;
  17. int com_move;
  18. char comp_move;
  19. bool end_game;
  20. void game();
  21. string play_again;
  22.  
  23. void draw_board() {
  24.         cout << "[" << box1 << "]";
  25.         cout << "[" << box2 << "]";
  26.         cout << "[" << box3 << "]" << endl << endl;
  27.         cout << "[" << box4 << "]";
  28.         cout << "[" << box5 << "]";
  29.         cout << "[" << box6 << "]" << endl << endl;
  30.         cout << "[" << box7 << "]";
  31.         cout << "[" << box8 << "]";
  32.         cout << "[" << box9 << "]" << endl << endl;
  33. }
  34.  
  35. void bitch() {
  36.         cout << "Well it looks like your about to win." << endl;
  37.     Sleep(2000);
  38.         cout << "Not on my watch" << endl;
  39.         Sleep(2000);
  40.         cout << "Since i'm supposed to win every time, i'm going to be a bitch and do this" << endl;
  41.         Sleep(2000);
  42.         cout << "I WIN BITCH!!!!!!!!!!!!!!!!!" << endl;
  43.         Sleep(3000);
  44.         end_game = true;
  45. }
  46.  
  47. void com_AI() {
  48.         //regular AI
  49.         if(box1 == 'X' && box2 == 'X') {
  50.                 if(box3 == '3') {
  51.                         com_move = 3;
  52.                 }
  53.                 else {
  54.                         com_move = rand()%10;
  55.                 }
  56.         }
  57.         if(box2 == 'X' && box3 == 'X') {
  58.                 if(box1 == '1') {
  59.                         com_move = 1;
  60.                 }
  61.                 else {
  62.                         com_move = rand()%10;
  63.                 }
  64.         }
  65.         if(box1 == 'X' && box3 == 'X') {
  66.                 if(box2 == '2') {
  67.                         com_move = 2;
  68.                 }
  69.                 else {
  70.                         com_move = rand()%10;
  71.                 }
  72.         }
  73.         if(box4 == 'X' && box5 == 'X') {
  74.                 if(box6 == '6') {
  75.                         com_move = 6;
  76.                 }
  77.                 else {
  78.                         com_move = rand()%10;
  79.                 }
  80.         }
  81.         if(box5 == 'X' && box6 == 'X') {
  82.                 if(box4 == '4') {
  83.                         com_move = 4;
  84.                 }
  85.                 else {
  86.                         com_move = rand()%10;
  87.                 }
  88.         }
  89.         if(box4 == 'X' && box6 == 'X') {
  90.                 if(box5 == '5') {
  91.                         com_move = 5;
  92.                 }
  93.                 else {
  94.                         com_move = rand()%10;
  95.                 }
  96.         }
  97.         if(box7 == 'X' && box8 == 'X') {
  98.                 if(box9 == '9') {
  99.                         com_move = 9;
  100.                 }
  101.                 else {
  102.                         com_move = rand()%10;
  103.                 }
  104.         }
  105.         if(box8 == 'X' && box9 == 'X') {
  106.                 if(box7 == '7') {
  107.                         com_move = 7;
  108.                 }
  109.                 else {
  110.                         com_move = rand()%10;
  111.                 }
  112.         }
  113.         if(box7 == 'X' && box9 == 'X') {
  114.                 if(box8 == '8') {
  115.                         com_move = 8;
  116.                 }
  117.                 else {
  118.                         com_move = rand()%10;
  119.                 }
  120.         }
  121.         if(box1 == 'X' && box9 == 'X') {
  122.                 if(box5 == '5') {
  123.                         com_move = 5;
  124.                 }
  125.                 else {
  126.                         com_move = rand()%10;
  127.                 }
  128.         }
  129.         if(box1 == 'X' && box5 == 'X') {
  130.                 if(box9 == '9') {
  131.                         com_move = 9;
  132.                 }
  133.                 else {
  134.                         com_move = rand()%10;
  135.                 }
  136.         }
  137.         if(box5 == 'X' && box9 == 'X') {
  138.                 if(box1 == '1') {
  139.                         com_move = 1;
  140.                 }
  141.                 else {
  142.                         com_move = rand()%10;
  143.                 }
  144.         }
  145.         if(box3 == 'X' && box5 == 'X') {
  146.                 if(box7 == '7') {
  147.                         com_move = 7;
  148.                 }
  149.                 else {
  150.                         com_move = rand()%10;
  151.                 }
  152.         }
  153.         if(box5 == 'X' && box7 == 'X') {
  154.                 if(box3 == '3') {
  155.                         com_move = 3;
  156.                 }
  157.                 else {
  158.                         com_move = rand()%10;
  159.                 }
  160.         }
  161.         if(box3 == 'X' && box7 == 'X') {
  162.                 if(box5 == '5') {
  163.                         com_move = 5;
  164.                 }
  165.                 else {
  166.                         com_move = rand()%10;
  167.                 }
  168.         }
  169.         if(box1 == 'X' && box4 == 'X') {
  170.                 if(box7 == '7') {
  171.                         com_move = 7;
  172.                 }
  173.                 else {
  174.                         com_move = rand()%10;
  175.                 }
  176.         }
  177.         if(box1 == 'X' && box7 == 'X') {
  178.                 if(box4 == '4') {
  179.                         com_move = 4;
  180.                 }
  181.                 else {
  182.                         com_move = rand()%10;
  183.                 }
  184.         }
  185.         if(box4 == 'X' && box7 == 'X') {
  186.                 if(box1 == '1') {
  187.                         com_move = 1;
  188.                 }
  189.                 else {
  190.                         com_move = rand()%10;
  191.                 }
  192.         }
  193.         if(box2 == 'X' && box5 == 'X') {
  194.                 if(box8 == '8') {
  195.                         com_move = 8;
  196.                 }
  197.                 else {
  198.                         com_move = rand()%10;
  199.                 }
  200.         }
  201.         if(box5 == 'X' && box8 == 'X') {
  202.                 if(box2 == '2') {
  203.                         com_move = 2;
  204.                 }
  205.                 else {
  206.                         com_move = rand()%10;
  207.                 }
  208.         }
  209.         if(box2 == 'X' && box8 == 'X') {
  210.                 if(box5 == '5') {
  211.                         com_move = 5;
  212.                 }
  213.                 else {
  214.                         com_move = rand()%10;
  215.                 }
  216.         }
  217.         if(box3 == 'X' && box6 == 'X') {
  218.                 if(box9 == '9') {
  219.                         com_move = 9;
  220.                 }
  221.                 else {
  222.                         com_move = rand()%10;
  223.                 }
  224.         }
  225.         if(box6 == 'X' && box9 == 'X') {
  226.                 if(box3 == '3') {
  227.                         com_move = 3;
  228.                 }
  229.                 else {
  230.                         com_move = rand()%10;
  231.                 }
  232.         }
  233.         if(box3 == 'X' && box9 == 'X') {
  234.                 if(box6 == '6') {
  235.                         com_move = 6;
  236.                 }
  237.                 else {
  238.                         com_move = rand()%10;
  239.                 }
  240.         }
  241.         //perfect AI
  242.         //infamous "V" checks
  243.         if(box1 == 'X' && box5 == 'X' && box3 == 'X') {
  244.                 bitch();
  245.         }
  246.         else if(box1 == 'X' && box5 == 'X' && box7 == 'X') {
  247.                 bitch();
  248.         }
  249.         else if(box3 == 'X' && box5 == 'X' && box9 == 'X') {
  250.                 bitch();
  251.         }
  252.         else if(box7 == 'X' && box5 == 'X' && box9 == 'X') {
  253.                 bitch();
  254.         }
  255.         //infamous "C" checks
  256.         else if(box1 == 'X' && box3 == 'X' && box9 == 'X') {
  257.                 bitch();
  258.         }
  259.         else if(box3 == 'X' && box9 == 'X' && box7 == 'X') {
  260.                 bitch();
  261.         }
  262.         else if(box9 == 'X' && box7 == 'X' && box1 == 'X') {
  263.                 bitch();
  264.         }
  265.         else if(box7 == 'X' && box1 == 'X' && box3 == 'X') {
  266.                 bitch();
  267.         }
  268. }
  269.  
  270. void again() {
  271.         cout << "play again" << endl;
  272.         cin >> play_again;
  273.         if(play_again == "y") {
  274.                 cout << "ok" << endl;
  275.                 system("CLS");
  276.                 game();
  277.         }
  278.         else if(play_again == "n") {
  279.                 end_game = true;
  280.         }
  281. }
  282.  
  283. void game_over() {
  284.         //x's win conditions
  285.         if(box1 == 'X' && box2 == 'X' && box3 == 'X') {
  286.                 cout << "X's win" << endl;
  287.                 again();
  288.         }
  289.         else if(box4 == 'X' && box5 == 'X' && box6 == 'X') {
  290.                 cout << "X's win" << endl;
  291.                 again();
  292.         }
  293.         else if(box7 == 'X' && box8 == 'X' && box9 == 'X') {
  294.                 cout << "X's win" << endl;
  295.                 again();
  296.         }
  297.         else if(box7 == 'X' && box4 == 'X' && box1 == 'X') {
  298.                 cout << "X's win" << endl;
  299.                         again();
  300.         }
  301.         else if(box8 == 'X' && box5 == 'X' && box2 == 'X') {
  302.                 cout << "X's win" << endl;
  303.                 again();
  304.         }
  305.         else if(box9 == 'X' && box6 == 'X' && box3 == 'X') {
  306.                 cout << "X's win" << endl;
  307.                 again();
  308.         }
  309.         else if(box7 == 'X' && box5 == 'X' && box3 == 'X') {
  310.                 cout << "X's win" << endl;     
  311.                 again();
  312.         }
  313.         else if(box1 == 'X' && box5 == 'X' && box9 == 'X') {
  314.                 cout << "X's win" << endl;
  315.                 again();
  316.         }
  317.        
  318.         //o's win conditions
  319.         if(box1 == 'O' && box2 == 'O' && box3 == 'O') {
  320.                 cout << "O's win" << endl;
  321.                 again();
  322.         }
  323.         else if(box4 == 'O' && box5 == 'O' && box6 == 'O') {
  324.                 cout << "O's win" << endl;
  325.                 again();
  326.         }
  327.         else if(box7 == 'O' && box8 == 'O' && box9 == 'O') {
  328.                 cout << "O's win" << endl;
  329.                 again();
  330.         }
  331.         else if(box7 == 'O' && box4 == 'O' && box1 == 'O') {
  332.                 cout << "O's win" << endl;
  333.                 again();
  334.         }
  335.         else if(box8 == 'O' && box5 == 'O' && box2 == 'O') {
  336.                 cout << "O's win" << endl;
  337.                         again();
  338.         }
  339.         else if(box9 == 'O' && box6 == 'O' && box3 == 'O') {
  340.                 cout << "O's win" << endl;
  341.                         again();
  342.         }
  343.         else if(box7 == 'O' && box5 == 'O' && box3 == 'O') {
  344.                 cout << "O's win" << endl;
  345.                         again();
  346.         }
  347.         else if(box1 == 'O' && box5 == 'O' && box9 == 'O') {
  348.                 cout << "O's win" << endl;
  349.                 again();
  350.         }
  351. }
  352.  
  353. void game() {
  354.         box1 = '1';
  355.         box2 = '2';
  356.         box3 = '3';
  357.         box4 = '4';
  358.         box5 = '5';
  359.         box6 = '6';
  360.         box7 = '7';
  361.         box8 = '8';
  362.         box9 = '9';
  363.         draw_board();
  364.         cout << "To select a box, enter the corresponding number." << endl << "Your move:";
  365.         do {
  366.         cin >> user_move;
  367.         switch(user_move) {
  368.                 case 1:
  369.                         if(box1 == '1') {
  370.                                 box1 = 'X';
  371.                         }
  372.                         else {
  373.                                 cout << "invalid move" << endl;
  374.                         }
  375.                         break;
  376.                 case 2:
  377.                         if(box2 == '2') {
  378.                                 box2 = 'X';
  379.                         }
  380.                         else {
  381.                                 cout << "invalid move" << endl;
  382.                         }
  383.                         break;
  384.                 case 3:
  385.                         if(box3 == '3') {
  386.                                 box3 = 'X';
  387.                         }
  388.                         else {
  389.                                 cout << "invalid move" << endl;
  390.                         }
  391.                         break;
  392.                 case 4:
  393.                         if(box4 == '4') {
  394.                                 box4 = 'X';
  395.                         }
  396.                         else {
  397.                                 cout << "invalid move" << endl;
  398.                         }
  399.                         break;
  400.                 case 5:
  401.                         if(box5 == '5') {
  402.                                 box5 = 'X';
  403.                         }
  404.                         else {
  405.                                 cout << "invalid move" << endl;
  406.                         }
  407.                         break;
  408.                 case 6:
  409.                         if(box6 == '6') {
  410.                                 box6 = 'X';
  411.                         }
  412.                         else {
  413.                                 cout << "invalid move" << endl;
  414.                         }
  415.                         break;
  416.                 case 7:
  417.                         if(box7 == '7') {
  418.                                 box7 = 'X';
  419.                         }
  420.                         else {
  421.                                 cout << "invalid move" << endl;
  422.                         }
  423.                         break;
  424.                 case 8:
  425.                         if(box8 == '8') {
  426.                                 box8 = 'X';
  427.                         }
  428.                         else {
  429.                                 cout << "invalid move" << endl;
  430.                         }
  431.                         break;
  432.                 case 9:
  433.                         if(box9 == '9') {
  434.                                 box9 = 'X';
  435.                         }
  436.                         else {
  437.                                 cout << "invalid move" << endl;
  438.                         }
  439.                         break;
  440.                 default:
  441.                         cout << "ERROR!!!! try again" << endl;
  442.                         break;
  443.         }
  444.        
  445. rand:
  446.         srand(GetTickCount());
  447.         com_move = rand()%10;
  448.         if(com_move == 0) {
  449.                 goto rand;
  450.         }
  451.         com_AI();
  452.         switch(com_move) {
  453.                 case 1:
  454.                         if(box1 == '1') {
  455.                                 box1 = 'O';
  456.                         }
  457.                         else {
  458.                                 cout << "invalid move" << endl;
  459.                                 goto rand;
  460.                         }
  461.                         break;
  462.                 case 2:
  463.                         if(box2 == '2') {
  464.                                 box2 = 'O';
  465.                         }
  466.                         else {
  467.                                 cout << "invalid move" << endl;
  468.                                 goto rand;
  469.                         }
  470.                         break;
  471.                 case 3:
  472.                         if(box3 == '3') {
  473.                                 box3 = 'O';
  474.                         }
  475.                         else {
  476.                                 cout << "invalid move" << endl;
  477.                                 goto rand;
  478.                         }
  479.                         break;
  480.                 case 4:
  481.                         if(box4 == '4') {
  482.                                 box4 = 'O';
  483.                         }
  484.                         else {
  485.                                 cout << "invalid move" << endl;
  486.                                 goto rand;
  487.                         }
  488.                         break;
  489.                 case 5:
  490.                         if(box5 == '5') {
  491.                                 box5 = 'O';
  492.                         }
  493.                         else {
  494.                                 cout << "invalid move" << endl;
  495.                                 goto rand;
  496.                         }
  497.                         break;
  498.                 case 6:
  499.                         if(box6 == '6') {
  500.                                 box6 = 'O';
  501.                         }
  502.                         else {
  503.                                 cout << "invalid move" << endl;
  504.                                 goto rand;
  505.                         }
  506.                         break;
  507.                 case 7:
  508.                         if(box7 == '7') {
  509.                                 box7 = 'O';
  510.                         }
  511.                         else {
  512.                                 cout << "invalid move" << endl;
  513.                                 goto rand;
  514.                         }
  515.                         break;
  516.                 case 8:
  517.                         if(box8 == '8') {
  518.                                 box8 = 'O';
  519.                         }
  520.                         else {
  521.                                 cout << "invalid move" << endl;
  522.                                 goto rand;
  523.                         }
  524.                         break;
  525.                 case 9:
  526.                         if(box9 == '9') {
  527.                                 box9 = 'O';
  528.                         }
  529.                         else {
  530.                                 cout << "invalid move" << endl;
  531.                                 goto rand;
  532.                         }
  533.                         break;
  534.                 default:
  535.                         cout << "ERROR!!!! try again" << endl;
  536.                         goto rand;
  537.                         break;
  538.         }
  539.         system("CLS");
  540.         game_over();
  541.         draw_board();
  542.         }while(end_game == false);
  543. }
  544.  
  545. int main()
  546. {
  547.         char play;
  548.         cout << "Wanna play tic-tac-toe? y/n" << endl;
  549.         cin >> play;
  550.         if(play == 'y') {
  551.                 game();
  552.         }
  553.         else {
  554.                 cout << "Well fine then, don't click me if you don't want to play.....dousce" << endl;
  555.         }
  556.         return 0;
  557. }

6
Challenges / Simple AI challenge submission - Tic Tac Toe
« on: November 16, 2009, 12:22:25 am »
ok, so after about 2 days of failures, I have perfected my version of tic tac toe.
it comes with all the requirements of this challenge so download the .exe and play it

EDIT: i have posted the soucre because some ppl said that they'd like to see it, so here it is...again.

Code: C++
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. char box1;
  8. char box2;
  9. char box3;
  10. char box4;
  11. char box5;
  12. char box6;
  13. char box7;
  14. char box8;
  15. char box9;
  16. int user_move;
  17. int com_move;
  18. char comp_move;
  19. bool end_game;
  20. void game();
  21. string play_again;
  22.  
  23. void draw_board() {
  24.         cout << "[" << box1 << "]";
  25.         cout << "[" << box2 << "]";
  26.         cout << "[" << box3 << "]" << endl << endl;
  27.         cout << "[" << box4 << "]";
  28.         cout << "[" << box5 << "]";
  29.         cout << "[" << box6 << "]" << endl << endl;
  30.         cout << "[" << box7 << "]";
  31.         cout << "[" << box8 << "]";
  32.         cout << "[" << box9 << "]" << endl << endl;
  33. }
  34.  
  35. void bitch() {
  36.         cout << "Well it looks like your about to win." << endl;
  37.     Sleep(2000);
  38.         cout << "Not on my watch" << endl;
  39.         Sleep(2000);
  40.         cout << "Since i'm supposed to win every time, i'm going to be a bitch and do this" << endl;
  41.         Sleep(2000);
  42.         cout << "I WIN BITCH!!!!!!!!!!!!!!!!!" << endl;
  43.         Sleep(3000);
  44.         end_game = true;
  45. }
  46.  
  47. void com_AI() {
  48.         //regular AI
  49.         if(box1 == 'X' && box2 == 'X') {
  50.                 if(box3 == '3') {
  51.                         com_move = 3;
  52.                 }
  53.                 else {
  54.                         com_move = rand()%10;
  55.                 }
  56.         }
  57.         if(box2 == 'X' && box3 == 'X') {
  58.                 if(box1 == '1') {
  59.                         com_move = 1;
  60.                 }
  61.                 else {
  62.                         com_move = rand()%10;
  63.                 }
  64.         }
  65.         if(box1 == 'X' && box3 == 'X') {
  66.                 if(box2 == '2') {
  67.                         com_move = 2;
  68.                 }
  69.                 else {
  70.                         com_move = rand()%10;
  71.                 }
  72.         }
  73.         if(box4 == 'X' && box5 == 'X') {
  74.                 if(box6 == '6') {
  75.                         com_move = 6;
  76.                 }
  77.                 else {
  78.                         com_move = rand()%10;
  79.                 }
  80.         }
  81.         if(box5 == 'X' && box6 == 'X') {
  82.                 if(box4 == '4') {
  83.                         com_move = 4;
  84.                 }
  85.                 else {
  86.                         com_move = rand()%10;
  87.                 }
  88.         }
  89.         if(box4 == 'X' && box6 == 'X') {
  90.                 if(box5 == '5') {
  91.                         com_move = 5;
  92.                 }
  93.                 else {
  94.                         com_move = rand()%10;
  95.                 }
  96.         }
  97.         if(box7 == 'X' && box8 == 'X') {
  98.                 if(box9 == '9') {
  99.                         com_move = 9;
  100.                 }
  101.                 else {
  102.                         com_move = rand()%10;
  103.                 }
  104.         }
  105.         if(box8 == 'X' && box9 == 'X') {
  106.                 if(box7 == '7') {
  107.                         com_move = 7;
  108.                 }
  109.                 else {
  110.                         com_move = rand()%10;
  111.                 }
  112.         }
  113.         if(box7 == 'X' && box9 == 'X') {
  114.                 if(box8 == '8') {
  115.                         com_move = 8;
  116.                 }
  117.                 else {
  118.                         com_move = rand()%10;
  119.                 }
  120.         }
  121.         if(box1 == 'X' && box9 == 'X') {
  122.                 if(box5 == '5') {
  123.                         com_move = 5;
  124.                 }
  125.                 else {
  126.                         com_move = rand()%10;
  127.                 }
  128.         }
  129.         if(box1 == 'X' && box5 == 'X') {
  130.                 if(box9 == '9') {
  131.                         com_move = 9;
  132.                 }
  133.                 else {
  134.                         com_move = rand()%10;
  135.                 }
  136.         }
  137.         if(box5 == 'X' && box9 == 'X') {
  138.                 if(box1 == '1') {
  139.                         com_move = 1;
  140.                 }
  141.                 else {
  142.                         com_move = rand()%10;
  143.                 }
  144.         }
  145.         if(box3 == 'X' && box5 == 'X') {
  146.                 if(box7 == '7') {
  147.                         com_move = 7;
  148.                 }
  149.                 else {
  150.                         com_move = rand()%10;
  151.                 }
  152.         }
  153.         if(box5 == 'X' && box7 == 'X') {
  154.                 if(box3 == '3') {
  155.                         com_move = 3;
  156.                 }
  157.                 else {
  158.                         com_move = rand()%10;
  159.                 }
  160.         }
  161.         if(box3 == 'X' && box7 == 'X') {
  162.                 if(box5 == '5') {
  163.                         com_move = 5;
  164.                 }
  165.                 else {
  166.                         com_move = rand()%10;
  167.                 }
  168.         }
  169.         if(box1 == 'X' && box4 == 'X') {
  170.                 if(box7 == '7') {
  171.                         com_move = 7;
  172.                 }
  173.                 else {
  174.                         com_move = rand()%10;
  175.                 }
  176.         }
  177.         if(box1 == 'X' && box7 == 'X') {
  178.                 if(box4 == '4') {
  179.                         com_move = 4;
  180.                 }
  181.                 else {
  182.                         com_move = rand()%10;
  183.                 }
  184.         }
  185.         if(box4 == 'X' && box7 == 'X') {
  186.                 if(box1 == '1') {
  187.                         com_move = 1;
  188.                 }
  189.                 else {
  190.                         com_move = rand()%10;
  191.                 }
  192.         }
  193.         if(box2 == 'X' && box5 == 'X') {
  194.                 if(box8 == '8') {
  195.                         com_move = 8;
  196.                 }
  197.                 else {
  198.                         com_move = rand()%10;
  199.                 }
  200.         }
  201.         if(box5 == 'X' && box8 == 'X') {
  202.                 if(box2 == '2') {
  203.                         com_move = 2;
  204.                 }
  205.                 else {
  206.                         com_move = rand()%10;
  207.                 }
  208.         }
  209.         if(box2 == 'X' && box8 == 'X') {
  210.                 if(box5 == '5') {
  211.                         com_move = 5;
  212.                 }
  213.                 else {
  214.                         com_move = rand()%10;
  215.                 }
  216.         }
  217.         if(box3 == 'X' && box6 == 'X') {
  218.                 if(box9 == '9') {
  219.                         com_move = 9;
  220.                 }
  221.                 else {
  222.                         com_move = rand()%10;
  223.                 }
  224.         }
  225.         if(box6 == 'X' && box9 == 'X') {
  226.                 if(box3 == '3') {
  227.                         com_move = 3;
  228.                 }
  229.                 else {
  230.                         com_move = rand()%10;
  231.                 }
  232.         }
  233.         if(box3 == 'X' && box9 == 'X') {
  234.                 if(box6 == '6') {
  235.                         com_move = 6;
  236.                 }
  237.                 else {
  238.                         com_move = rand()%10;
  239.                 }
  240.         }
  241.         //perfect AI
  242.         //infamous "V" checks
  243.         if(box1 == 'X' && box5 == 'X' && box3 == 'X') {
  244.                 bitch();
  245.         }
  246.         else if(box1 == 'X' && box5 == 'X' && box7 == 'X') {
  247.                 bitch();
  248.         }
  249.         else if(box3 == 'X' && box5 == 'X' && box9 == 'X') {
  250.                 bitch();
  251.         }
  252.         else if(box7 == 'X' && box5 == 'X' && box9 == 'X') {
  253.                 bitch();
  254.         }
  255.         //infamous "C" checks
  256.         else if(box1 == 'X' && box3 == 'X' && box9 == 'X') {
  257.                 bitch();
  258.         }
  259.         else if(box3 == 'X' && box9 == 'X' && box7 == 'X') {
  260.                 bitch();
  261.         }
  262.         else if(box9 == 'X' && box7 == 'X' && box1 == 'X') {
  263.                 bitch();
  264.         }
  265.         else if(box7 == 'X' && box1 == 'X' && box3 == 'X') {
  266.                 bitch();
  267.         }
  268. }
  269.  
  270. void again() {
  271.         cout << "play again" << endl;
  272.         cin >> play_again;
  273.         if(play_again == "y") {
  274.                 cout << "ok" << endl;
  275.                 system("CLS");
  276.                 game();
  277.         }
  278.         else if(play_again == "n") {
  279.                 end_game = true;
  280.         }
  281. }
  282.  
  283. void game_over() {
  284.         //x's win conditions
  285.         if(box1 == 'X' && box2 == 'X' && box3 == 'X') {
  286.                 cout << "X's win" << endl;
  287.                 again();
  288.         }
  289.         else if(box4 == 'X' && box5 == 'X' && box6 == 'X') {
  290.                 cout << "X's win" << endl;
  291.                 again();
  292.         }
  293.         else if(box7 == 'X' && box8 == 'X' && box9 == 'X') {
  294.                 cout << "X's win" << endl;
  295.                 again();
  296.         }
  297.         else if(box7 == 'X' && box4 == 'X' && box1 == 'X') {
  298.                 cout << "X's win" << endl;
  299.                         again();
  300.         }
  301.         else if(box8 == 'X' && box5 == 'X' && box2 == 'X') {
  302.                 cout << "X's win" << endl;
  303.                 again();
  304.         }
  305.         else if(box9 == 'X' && box6 == 'X' && box3 == 'X') {
  306.                 cout << "X's win" << endl;
  307.                 again();
  308.         }
  309.         else if(box7 == 'X' && box5 == 'X' && box3 == 'X') {
  310.                 cout << "X's win" << endl;     
  311.                 again();
  312.         }
  313.         else if(box1 == 'X' && box5 == 'X' && box9 == 'X') {
  314.                 cout << "X's win" << endl;
  315.                 again();
  316.         }
  317.        
  318.         //o's win conditions
  319.         if(box1 == 'O' && box2 == 'O' && box3 == 'O') {
  320.                 cout << "O's win" << endl;
  321.                 again();
  322.         }
  323.         else if(box4 == 'O' && box5 == 'O' && box6 == 'O') {
  324.                 cout << "O's win" << endl;
  325.                 again();
  326.         }
  327.         else if(box7 == 'O' && box8 == 'O' && box9 == 'O') {
  328.                 cout << "O's win" << endl;
  329.                 again();
  330.         }
  331.         else if(box7 == 'O' && box4 == 'O' && box1 == 'O') {
  332.                 cout << "O's win" << endl;
  333.                 again();
  334.         }
  335.         else if(box8 == 'O' && box5 == 'O' && box2 == 'O') {
  336.                 cout << "O's win" << endl;
  337.                         again();
  338.         }
  339.         else if(box9 == 'O' && box6 == 'O' && box3 == 'O') {
  340.                 cout << "O's win" << endl;
  341.                         again();
  342.         }
  343.         else if(box7 == 'O' && box5 == 'O' && box3 == 'O') {
  344.                 cout << "O's win" << endl;
  345.                         again();
  346.         }
  347.         else if(box1 == 'O' && box5 == 'O' && box9 == 'O') {
  348.                 cout << "O's win" << endl;
  349.                 again();
  350.         }
  351. }
  352.  
  353. void game() {
  354.         box1 = '1';
  355.         box2 = '2';
  356.         box3 = '3';
  357.         box4 = '4';
  358.         box5 = '5';
  359.         box6 = '6';
  360.         box7 = '7';
  361.         box8 = '8';
  362.         box9 = '9';
  363.         draw_board();
  364.         cout << "To select a box, enter the corresponding number." << endl << "Your move:";
  365.         do {
  366.         cin >> user_move;
  367.         switch(user_move) {
  368.                 case 1:
  369.                         if(box1 == '1') {
  370.                                 box1 = 'X';
  371.                         }
  372.                         else {
  373.                                 cout << "invalid move" << endl;
  374.                         }
  375.                         break;
  376.                 case 2:
  377.                         if(box2 == '2') {
  378.                                 box2 = 'X';
  379.                         }
  380.                         else {
  381.                                 cout << "invalid move" << endl;
  382.                         }
  383.                         break;
  384.                 case 3:
  385.                         if(box3 == '3') {
  386.                                 box3 = 'X';
  387.                         }
  388.                         else {
  389.                                 cout << "invalid move" << endl;
  390.                         }
  391.                         break;
  392.                 case 4:
  393.                         if(box4 == '4') {
  394.                                 box4 = 'X';
  395.                         }
  396.                         else {
  397.                                 cout << "invalid move" << endl;
  398.                         }
  399.                         break;
  400.                 case 5:
  401.                         if(box5 == '5') {
  402.                                 box5 = 'X';
  403.                         }
  404.                         else {
  405.                                 cout << "invalid move" << endl;
  406.                         }
  407.                         break;
  408.                 case 6:
  409.                         if(box6 == '6') {
  410.                                 box6 = 'X';
  411.                         }
  412.                         else {
  413.                                 cout << "invalid move" << endl;
  414.                         }
  415.                         break;
  416.                 case 7:
  417.                         if(box7 == '7') {
  418.                                 box7 = 'X';
  419.                         }
  420.                         else {
  421.                                 cout << "invalid move" << endl;
  422.                         }
  423.                         break;
  424.                 case 8:
  425.                         if(box8 == '8') {
  426.                                 box8 = 'X';
  427.                         }
  428.                         else {
  429.                                 cout << "invalid move" << endl;
  430.                         }
  431.                         break;
  432.                 case 9:
  433.                         if(box9 == '9') {
  434.                                 box9 = 'X';
  435.                         }
  436.                         else {
  437.                                 cout << "invalid move" << endl;
  438.                         }
  439.                         break;
  440.                 default:
  441.                         cout << "ERROR!!!! try again" << endl;
  442.                         break;
  443.         }
  444.        
  445. rand:
  446.         srand(GetTickCount());
  447.         com_move = rand()%10;
  448.         if(com_move == 0) {
  449.                 goto rand;
  450.         }
  451.         com_AI();
  452.         switch(com_move) {
  453.                 case 1:
  454.                         if(box1 == '1') {
  455.                                 box1 = 'O';
  456.                         }
  457.                         else {
  458.                                 cout << "invalid move" << endl;
  459.                                 goto rand;
  460.                         }
  461.                         break;
  462.                 case 2:
  463.                         if(box2 == '2') {
  464.                                 box2 = 'O';
  465.                         }
  466.                         else {
  467.                                 cout << "invalid move" << endl;
  468.                                 goto rand;
  469.                         }
  470.                         break;
  471.                 case 3:
  472.                         if(box3 == '3') {
  473.                                 box3 = 'O';
  474.                         }
  475.                         else {
  476.                                 cout << "invalid move" << endl;
  477.                                 goto rand;
  478.                         }
  479.                         break;
  480.                 case 4:
  481.                         if(box4 == '4') {
  482.                                 box4 = 'O';
  483.                         }
  484.                         else {
  485.                                 cout << "invalid move" << endl;
  486.                                 goto rand;
  487.                         }
  488.                         break;
  489.                 case 5:
  490.                         if(box5 == '5') {
  491.                                 box5 = 'O';
  492.                         }
  493.                         else {
  494.                                 cout << "invalid move" << endl;
  495.                                 goto rand;
  496.                         }
  497.                         break;
  498.                 case 6:
  499.                         if(box6 == '6') {
  500.                                 box6 = 'O';
  501.                         }
  502.                         else {
  503.                                 cout << "invalid move" << endl;
  504.                                 goto rand;
  505.                         }
  506.                         break;
  507.                 case 7:
  508.                         if(box7 == '7') {
  509.                                 box7 = 'O';
  510.                         }
  511.                         else {
  512.                                 cout << "invalid move" << endl;
  513.                                 goto rand;
  514.                         }
  515.                         break;
  516.                 case 8:
  517.                         if(box8 == '8') {
  518.                                 box8 = 'O';
  519.                         }
  520.                         else {
  521.                                 cout << "invalid move" << endl;
  522.                                 goto rand;
  523.                         }
  524.                         break;
  525.                 case 9:
  526.                         if(box9 == '9') {
  527.                                 box9 = 'O';
  528.                         }
  529.                         else {
  530.                                 cout << "invalid move" << endl;
  531.                                 goto rand;
  532.                         }
  533.                         break;
  534.                 default:
  535.                         cout << "ERROR!!!! try again" << endl;
  536.                         goto rand;
  537.                         break;
  538.         }
  539.         system("CLS");
  540.         game_over();
  541.         draw_board();
  542.         }while(end_game == false);
  543. }
  544.  
  545. int main()
  546. {
  547.         char play;
  548.         cout << "Wanna play tic-tac-toe? y/n" << endl;
  549.         cin >> play;
  550.         if(play == 'y') {
  551.                 game();
  552.         }
  553.         else {
  554.                 cout << "Well fine then, don't click me if you don't want to play.....dousce" << endl;
  555.         }
  556.         return 0;
  557. }

7
C++ / Re: tic-tac-toe game screwing up
« on: November 15, 2009, 06:19:22 pm »
so now the AI is kinda messing up, for instance if the computer chooses box 5, sometimes it won't mark it , idk y but i just need some help in debugging.

Code: C++
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. string box1[10];
  8. bool end_game = false;
  9. int end = 0;
  10. void game();
  11.  
  12. void draw_board()
  13. {
  14.         cout << "[" << box1[1] << "]";
  15.         cout << "[" << box1[2] << "]";
  16.         cout << "[" << box1[3] << "]" << endl << endl;
  17.         cout << "[" << box1[4] << "]";
  18.         cout << "[" << box1[5] << "]";
  19.         cout << "[" << box1[6] << "]" << endl << endl;
  20.         cout << "[" << box1[7] << "]";
  21.         cout << "[" << box1[8] << "]";
  22.         cout << "[" << box1[9] << "]" << endl << endl;
  23. }
  24.  
  25. void game_over()
  26. {
  27.         char again;
  28.         if(box1[1] == "X" && box1[2] == "X" && box1[3] == "X") {
  29.                 cout << "you win" << endl << "play again? y/n" << endl;
  30.                 cin >> again;
  31.                 if(again == 'y') {
  32.                         game();
  33.                 }
  34.                 else {
  35.                         system("CLS");
  36.                         end_game = true;
  37.                 }
  38.         }
  39.         if(box1[1] == "O" && box1[2] == "O" && box1[3] == "O") {
  40.                 cout << "you lose" << endl << "play again? y/n" << endl;
  41.                 cin >> again;
  42.                 if(again == 'y') {
  43.                         game();
  44.                 }
  45.                 else {
  46.                         system("CLS");
  47.                         end_game = true;
  48.                 }
  49.         }
  50.  
  51.         if(box1[7] == "X" && box1[5] == "X" && box1[3] == "X") {
  52.                 cout << "you win" << endl << "play again? y/n" << endl;
  53.                 cin >> again;
  54.                 if(again == 'y') {
  55.                         game();
  56.                 }
  57.                 else {
  58.                         system("CLS");
  59.                         end_game = true;
  60.                 }
  61.         }
  62.         if(box1[7] == "O" && box1[5] == "O" && box1[3] == "O") {
  63.                 cout << "you lose" << endl << "play again? y/n" << endl;
  64.                 cin >> again;
  65.                 if(again == 'y') {
  66.                         game();
  67.                 }
  68.                 else {
  69.                         system("CLS");
  70.                         end_game = true;
  71.                 }
  72.         }
  73.         if(box1[1] == "X" && box1[5] == "X" && box1[9] == "X") {
  74.                 cout << "you win" << endl << "play again? y/n" << endl;
  75.                 cin >> again;
  76.                 if(again == 'y') {
  77.                         game();
  78.                 }
  79.                 else {
  80.                         system("CLS");
  81.                         end_game = true;
  82.                 }
  83.         }
  84.         if(box1[1] == "O" && box1[5] == "O" && box1[9] == "O") {
  85.                 cout << "you lose" << endl << "play again? y/n" << endl;
  86.                 cin >> again;
  87.                 if(again == 'y') {
  88.                         game();
  89.                 }
  90.                 else {
  91.                         system("CLS");
  92.                         end_game = true;
  93.                 }
  94.         }
  95.         if(box1[4] == "X" && box1[5] == "X" && box1[6] == "X") {
  96.                 cout << "you win" << endl << "play again? y/n" << endl;
  97.                 cin >> again;
  98.                 if(again == 'y') {
  99.                         game();
  100.                 }
  101.                 else {
  102.                         system("CLS");
  103.                         end_game = true;
  104.                 }
  105.         }
  106.         if(box1[4] == "O" && box1[5] == "O" && box1[6] == "O") {
  107.                 cout << "you lose" << endl << "play again? y/n" << endl;
  108.                 cin >> again;
  109.                 if(again == 'y') {
  110.                         game();
  111.                 }
  112.                 else {
  113.                         system("CLS");
  114.                         end_game = true;
  115.                 }
  116.         }
  117.         if(box1[7] == "X" && box1[8] == "X" && box1[9] == "X") {
  118.                 cout << "you win" << endl << "play again? y/n" << endl;
  119.                 cin >> again;
  120.                 if(again == 'y') {
  121.                         game();
  122.                 }
  123.                 else {
  124.                         system("CLS");
  125.                         end_game = true;
  126.                 }
  127.         }
  128.         if(box1[7] == "O" && box1[8] == "O" && box1[9] == "O") {
  129.                 cout << "you lose" << endl << "play again? y/n" << endl;
  130.                 cin >> again;
  131.                 if(again == 'y') {
  132.                         game();
  133.                 }
  134.                 else {
  135.                         system("CLS");
  136.                         end_game = true;
  137.                 }
  138.         }
  139.         if(box1[9] == "X" && box1[6] == "X" && box1[3] == "X") {
  140.                 cout << "you win" << endl << "play again? y/n" << endl;
  141.                 cin >> again;
  142.                 if(again == 'y') {
  143.                         game();
  144.                 }
  145.                 else {
  146.                         system("CLS");
  147.                         end_game = true;
  148.                 }
  149.         }
  150.         if(box1[9] == "O" && box1[6] == "O" && box1[3] == "O") {
  151.                 cout << "you lose" << endl << "play again? y/n" << endl;
  152.                 cin >> again;
  153.                 if(again == 'y') {
  154.                         game();
  155.                 }
  156.                 else {
  157.                         system("CLS");
  158.                         end_game = true;
  159.                 }
  160.         }
  161.         if(box1[7] == "X" && box1[4] == "X" && box1[1] == "X") {
  162.                 cout << "you win" << endl << "play again? y/n" << endl;
  163.                 cin >> again;
  164.                 if(again == 'y') {
  165.                         game();
  166.                 }
  167.                 else {
  168.                         system("CLS");
  169.                         end_game = true;
  170.                 }
  171.         }
  172.         if(box1[7] == "O" && box1[4] == "O" && box1[1] == "O") {
  173.                 cout << "you lose" << endl << "play again? y/n" << endl;
  174.                 cin >> again;
  175.                 if(again == 'y') {
  176.                         game();
  177.                 }
  178.                 else {
  179.                         system("CLS");
  180.                         end_game = true;
  181.                 }
  182.         }
  183.         if(box1[8] == "X" && box1[5] == "X" && box1[2] == "X") {
  184.                 cout << "you win" << endl << "play again? y/n" << endl;
  185.                 cin >> again;
  186.                 if(again == 'y') {
  187.                         game();
  188.                 }
  189.                 else {
  190.                         system("CLS");
  191.                         end_game = true;
  192.                 }
  193.         }
  194.         if(box1[8] == "O" && box1[5] == "O" && box1[2] == "O") {
  195.                 cout << "you lose" << endl << "play again? y/n" << endl;
  196.                 cin >> again;
  197.                 if(again == 'y') {
  198.                         game();
  199.                 }
  200.                 else {
  201.                         system("CLS");
  202.                         end_game = true;
  203.                 }
  204.         }
  205.  
  206. }
  207.  
  208. void game()
  209. {
  210.         system("CLS");
  211.         cout << "Instructions: to mark you place enter the number that is in that box." << endl << endl;
  212.         box1[1] = "7";
  213.         box1[2] = "8";
  214.         box1[3] = "9";
  215.         box1[4] = "4";
  216.         box1[5] = "5";
  217.         box1[6] = "6";
  218.         box1[7] = "1";
  219.         box1[8] = "2";
  220.         box1[9] = "3";
  221.         do
  222.         {
  223. user_do_over:
  224.                 //system("CLS");
  225.                 draw_board();
  226.                 int user_move = 0;
  227.                 cout << "Your move:";
  228.                 cin >> user_move;
  229.                 if(user_move == 7) {
  230.                         if(box1[1] != "X" && box1[1] != "O") {
  231.                                 box1[1] = "X";
  232.                         }
  233.                         else {
  234.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  235.                                 goto user_do_over;
  236.                         }
  237.                         draw_board();
  238.                         game_over();
  239.                 }
  240.                 else if(user_move == 8) {
  241.                         if(box1[2] != "X" && box1[2] != "O") {
  242.                                 box1[2] = "X";
  243.                         }
  244.                         else {
  245.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  246.                                 goto user_do_over;
  247.                         }
  248.                         draw_board();
  249.                         game_over();
  250.                 }
  251.                 else if(user_move == 9) {
  252.                         if(box1[3] != "X" && box1[3] != "O") {
  253.                                 box1[3] = "X";
  254.                         }
  255.                         else {
  256.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  257.                                 goto user_do_over;
  258.                         }
  259.                         draw_board();
  260.                         game_over();
  261.                 }
  262.                 else if(user_move == 4) {
  263.                         if(box1[4] != "X" && box1[4] != "O") {
  264.                                 box1[4] = "X";
  265.                         }
  266.                         else {
  267.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  268.                                 goto user_do_over;
  269.                         }
  270.                         draw_board();
  271.                         game_over();
  272.                 }
  273.                 else if(user_move == 5) {
  274.                         if(box1[5] != "X" && box1[5] != "O") {
  275.                                 box1[5] = "X";
  276.                         }
  277.                         else {
  278.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  279.                                 goto user_do_over;
  280.                         }
  281.                         draw_board();
  282.                         game_over();
  283.                 }
  284.                 else if(user_move == 6) {
  285.                         if(box1[6] != "X" && box1[6] != "O") {
  286.                                 box1[6] = "X";
  287.                         }
  288.                         else {
  289.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  290.                                 goto user_do_over;
  291.                         }
  292.                         draw_board();
  293.                         game_over();
  294.                 }
  295.                 else if(user_move == 1) {
  296.                         if(box1[7] != "X" && box1[7] != "O") {
  297.                                 box1[7] = "X";
  298.                         }
  299.                         else {
  300.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  301.                                 goto user_do_over;
  302.                         }
  303.                         draw_board();
  304.                         game_over();
  305.                 }
  306.                 else if(user_move == 2) {
  307.                         if(box1[8] != "X" && box1[8] != "O") {
  308.                                 box1[8] = "X";
  309.                         }
  310.                         else {
  311.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  312.                                 goto user_do_over;
  313.                         }
  314.                         draw_board();
  315.                         game_over();
  316.                 }
  317.                 else if(user_move == 3) {
  318.                         if(box1[9] != "X" && box1[9] != "O") {
  319.                                 box1[9] = "X";
  320.                         }
  321.                         else {
  322.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  323.                                 goto user_do_over;
  324.                         }
  325.                         draw_board();
  326.                         game_over();
  327.                 }      
  328. comp_do_over:
  329.                 //system("CLS");
  330.                 draw_board();
  331. rand:
  332.         srand(GetTickCount());
  333.                 int comp_move = rand()%10;
  334.                 if(comp_move == 0) {
  335.                         goto rand;
  336.                 }
  337.                 cout << "comp move:" << comp_move << endl;
  338.                 if(box1[1] == "X" && box1[2] == "X") {
  339.                         comp_move = 9;
  340.                 }
  341.                 else if(box1[4] == "X" && box1[5] == "X") {
  342.                         comp_move = 6;
  343.                 }
  344.                 else {
  345.                 if(comp_move == 7) {
  346.                         if(box1[1] != "X" && box1[1] != "O") {
  347.                                 box1[1] = "O";
  348.                         }
  349.                         else {
  350.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  351.                                 goto comp_do_over;
  352.                         }
  353.                         draw_board();
  354.                         game_over();
  355.                 }
  356.                 else if(comp_move == 8) {
  357.                         if(box1[2] != "X" && box1[2] != "O") {
  358.                                 box1[2] = "O";
  359.                         }
  360.                         else {
  361.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  362.                                 goto comp_do_over;
  363.                         }
  364.                         draw_board();
  365.                         game_over();
  366.                 }
  367.                 else if(comp_move == 9) {
  368.                         if(box1[3] != "X" && box1[3] != "O") {
  369.                                 box1[3] = "O";
  370.                         }
  371.                         else {
  372.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  373.                                 goto comp_do_over;
  374.                         }
  375.                         draw_board();
  376.                         game_over();
  377.                 }
  378.                 else if(comp_move == 4) {
  379.                         if(box1[4] != "X" && box1[4] != "O") {
  380.                                 box1[4] = "O";
  381.                         }
  382.                         else {
  383.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  384.                                 goto comp_do_over;
  385.                         }
  386.                         draw_board();
  387.                         game_over();
  388.                 }
  389.                 else if(comp_move == 5) {
  390.                         if(box1[5] != "X" && box1[5] != "O") {
  391.                                 box1[5] = "O";
  392.                         }
  393.                         else {
  394.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  395.                                 goto comp_do_over;
  396.                         }
  397.                         draw_board();
  398.                         game_over();
  399.                 }
  400.                 else if(comp_move == 6) {
  401.                         if(box1[6] != "X" && box1[6] != "O") {
  402.                                 box1[6] = "O";
  403.                         }
  404.                         else {
  405.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  406.                                 goto comp_do_over;
  407.                         }
  408.                         draw_board();
  409.                         game_over();
  410.                 }
  411.                 else if(comp_move == 1) {
  412.                         if(box1[7] != "X" && box1[7] != "O") {
  413.                                 box1[7] = "O";
  414.                         }
  415.                         else {
  416.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  417.                                 goto comp_do_over;
  418.                         }
  419.                         draw_board();
  420.                         game_over();
  421.                 }
  422.                 else if(comp_move == 2) {
  423.                         if(box1[8] != "X" && box1[8] != "O") {
  424.                                 box1[8] = "O";
  425.                         }
  426.                         else {
  427.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  428.                                 goto comp_do_over;
  429.                         }
  430.                         draw_board();
  431.                         game_over();
  432.                 }
  433.                 else if(comp_move == 3) {
  434.                         if(box1[9] != "X" && box1[9] != "O") {
  435.                                 box1[9] = "O";
  436.                         }
  437.                         else {
  438.                                 cout << "ERROR: this box has already been selected make another selection please." << endl;
  439.                                 goto comp_do_over;
  440.                         }
  441.                         draw_board();
  442.                         game_over();
  443.                 }
  444.                 }
  445.  
  446.         }while(end_game == false);
  447. }
  448.  
  449. int main()
  450. {
  451.         char play;
  452.         cout << "Wanna play tic-tac-toe? y/n" << endl;
  453.         cin >> play;
  454.         if(play == 'y') {
  455.                 game();
  456.                 getchar();
  457.         }
  458.         else {
  459.                 cout << "Well fine then, don't click me if you don't want to play.....dousce" << endl;
  460.         }
  461.         return 0;
  462. }

8
C++ / tic-tac-toe game screwing up
« on: November 15, 2009, 03:37:47 pm »
ok so first off the vaule of user_move doesn't get reset and then the while loop has to have 2 inputs jsut to keep going so idk y its fucking up, i just need help

EDIT: for some gay reason this post wants the 8 in line 46 to be a smiley even when i disable them, so in line 46 wehre you see a weblink just imagnine an 8 plz.


Code: C++
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. string box1[10];
  8. bool end_game = true;
  9. int end = 0;
  10.  
  11. void draw_board()
  12. {
  13.         cout << "[" << box1[1] << "]";
  14.         cout << "[" << box1[2] << "]";
  15.         cout << "[" << box1[3] << "]" << endl << endl;
  16.         cout << "[" << box1[4] << "]";
  17.         cout << "[" << box1[5] << "]";
  18.         cout << "[" << box1[6] << "]" << endl << endl;
  19.         cout << "[" << box1[7] << "]";
  20.         cout << "[" << box1[8] << "]";
  21.         cout << "[" << box1[9] << "]" << endl << endl;
  22. }
  23.  
  24. void game()
  25. {
  26.         system("CLS");
  27.         cout << "Instructions: to mark you place enter the number that is in that box." << endl << endl;
  28.         box1[1] = "7";
  29.         box1[2] = "8";
  30.         box1[3] = "9";
  31.         box1[4] = "4";
  32.         box1[5] = "5";
  33.         box1[6] = "6";
  34.         box1[7] = "1";
  35.         box1[8] = "2";
  36.         box1[9] = "3";
  37.         draw_board();
  38.         do
  39.         {
  40.                 int user_move = 0;
  41.                 cin >> user_move;
  42.                 if(user_move == 7) {
  43.                         box1[1] = "X";
  44.                         draw_board();
  45.                 }
  46.                 else if(user_move == 8 ) {
  47.                         box1[2] = "X";
  48.                         draw_board();
  49.                 }
  50.                 else if(user_move == 9) {
  51.                         box1[3] = "X";
  52.                         draw_board();
  53.                 }
  54.                 else if(user_move == 4) {
  55.                         box1[4] = "X";
  56.                         draw_board();
  57.                 }
  58.                 else if(user_move == 5) {
  59.                         box1[5] = "X";
  60.                         draw_board();
  61.                 }
  62.                 else if(user_move == 6) {
  63.                         box1[6] = "X";
  64.                         draw_board();
  65.                 }
  66.                 else if(user_move == 1) {
  67.                         box1[7] = "X";
  68.                         draw_board();
  69.                 }
  70.                 else if(user_move == 2) {
  71.                         box1[8] = "X";
  72.                         draw_board();
  73.                 }
  74.                 else if(user_move == 3) {
  75.                         box1[9] = "X";
  76.                         draw_board();
  77.                 }      
  78.                 cout << "again? yes = 0 no = 1" << endl;
  79.                 cin >> end;
  80.                 if(end == 0) {
  81.                         end_game = false;
  82.                 }
  83.                 else if(end == 1) {
  84.                         break;
  85.                 }
  86.                 cout << user_move;
  87.         }while(end_game == false);
  88. }
  89.  
  90. int main()
  91. {
  92.         char play;
  93.         cout << "Wanna play tic-tac-toe? y/n" << endl;
  94.         cin >> play;
  95.         if(play == 'y') {
  96.                 game();
  97.                 getchar();
  98.         }
  99.         else {
  100.                 cout << "Well fine then, don't click me if you don't want to play.....dousce" << endl;
  101.         }
  102.         return 0;
  103. }


[edited name=spum789 date=1258321183][/edited]
[edited name=spum789 date=1258321225][/edited]
[edited name=spum789 date=1258321383][/edited]

9
C++ / Re: While loop not exiting
« on: November 13, 2009, 11:24:19 pm »
firstly i didn't know about [ code=cpp].
second thx for your help i've been refreshing myself on wat i know, and i knew it was simpler than wat i was making it out to be.

i ending up doing this
Code: C++
  1. do {
  2.                 choices();
  3.                 cout << "Would you like to enter another number? 0/1" << endl;
  4.                 cin >> again;
  5.         }while(again != 1);
  6.  


USE [ CODE=CPP ]!!!!
------------------------------
On topic: Why are you using a exit condition like that? O_o You really only need those if you have to clean something up, otherwise, you can just do one of these.
Code: C++
  1. do {  
  2.       choices();  
  3.       cout << "Would you like to enter another number? 0/1" << endl;  
  4.       cin >> cont1;  
  5.       if(cont1 == 'y')  
  6.          break;
  7.    }while(cont = true);
  8.  
or
Code: C++
  1. do {  
  2.       choices();  
  3.       cout << "Would you like to enter another number? 0/1" << endl;  
  4.       cin >> cont1;  
  5.       if(cont1 == 'y')  
  6.          return 0;
  7.    }while(cont = true);
  8.  

You may also have a error somewhere in the Choices. It may be taking the 'enter' press as the second cin , to test this, add another
Code: C++
  1. cin >> cont1;
  2.  
after your current one.

10
C++ / While loop not exiting
« on: November 13, 2009, 06:59:44 pm »
hey i have a while loop that refueses to exit even though the condition is false

Code: C++
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int choice;
  5. bool cont = true;
  6. char cont1;  
  7.  
  8. void choices() {
  9.         cout << "Enter 1 or 2" << endl;
  10.         cin >> choice;
  11.         switch(choice)
  12.         {
  13.                 case 1:
  14.                         cout << "you have chosen 1" << endl;
  15.                         break;
  16.                 case 2:
  17.                         cout << "you have chosen 2" << endl;
  18.                         break;
  19.                 default:
  20.                         cout << "Error: You did not choose a 1 or a 2... douscebag" << endl;
  21.                         break;
  22.         }
  23.        
  24.        
  25. }
  26.  
  27. int main()
  28. {
  29.         do {
  30.                 choices();
  31.                 cout << "Would you like to enter another number? 0/1" << endl;
  32.                 cin >> cont1;
  33.                 if(cont1 == 'y') {
  34.                         cont = true;
  35.                 }
  36.                 else {
  37.                         cont = false;//here the condition is set to false if something other than y is entered
  38.                 }
  39.         }while(cont = true); //since the condition is false then the loop should exit but it doesn't
  40.         return 0;
  41. }

11
C++ / Re: Links for C++ tutorials in order
« on: November 13, 2009, 02:07:27 pm »
np, i plan on doing this for all the other language tutorials.

12
C++ / Links for C++ tutorials in order
« on: November 12, 2009, 01:07:18 pm »
*NOTE* the purpose of this post is so you can quickly go to any 1 tutorial without having to search for it.
Also tutorials 8 and 29 do not exist because celestialkey decided not to make them so those tutorials will not have links.

[1] C++ First Program
http://celestialcoding.com/index.php?topic=9.0

Run code: http://celestialcoding.codepad.org/mtRzTuWO

[2] Talking With The Keyboard
http://celestialcoding.com/index.php?topic=10.0

Run Code: http://ideone.com/r4SNE4

[3] Onto While Loops!
http://celestialcoding.com/index.php?topic=11.0

Run code: http://ideone.com/uChOpH

[4] For Loops!
http://celestialcoding.com/index.php?topic=12.0

Run code: http://ideone.com/XSAP04

[5] Conditional Statements
http://celestialcoding.com/index.php?topic=13.0

[6] Calculations and operations
http://celestialcoding.com/index.php?topic=14.0

[7] Defines and Macros
http://celestialcoding.com/index.php?topic=15.0

[9] Fun with Functions
http://celestialcoding.com/index.php?topic=16.0

[10] Time for a review!
http://celestialcoding.com/index.php?topic=17.0

[11] Random Numbers
http://celestialcoding.com/index.php?topic=19.0

[12] Arrays
http://celestialcoding.com/index.php?topic=20.0

[13] Structures
http://celestialcoding.com/index.php?topic=21.0

[14] File I/O
http://celestialcoding.com/index.php?topic=22.0

[15] Recursion
http://celestialcoding.com/index.php?topic=100.0

[16] Ternary Operators
http://celestialcoding.com/index.php?topic=101.0

[17] Pointers
http://celestialcoding.com/index.php?topic=102.0

[18] Dynamic Memory
http://celestialcoding.com/index.php?topic=130.0

[19] Review
http://celestialcoding.com/index.php?topic=133.0

[20] Seducing The Console Window
http://celestialcoding.com/index.php?topic=138.0

[21] Our first Console Game... Well, with graphics at least
http://celestialcoding.com/index.php?topic=140.0

[22] Changing colors of Font and Background
http://celestialcoding.com/index.php?topic=141.0

[23] Experimentation with Buffers
http://celestialcoding.com/index.php?topic=144.0

[24] A Simple Maze
http://celestialcoding.com/index.php?topic=147.0

[25] Overloading Functions
http://celestialcoding.com/index.php?topic=148.0

[26] Templates and 'anything goes' variables
http://celestialcoding.com/index.php?topic=150.0

[27] Classes Part 1
http://celestialcoding.com/index.php?topic=151.0

[28] The next Part of our Classes tutorial
http://celestialcoding.com/index.php?topic=279.0

[29] Virtual Functions
http://celestialcoding.com/index.php?topic=1248

[30] Overloading Operations
http://celestialcoding.com/index.php?topic=285.0

[31] Friend's and how they can touch your privates
http://celestialcoding.com/index.php?topic=286.0

[32] Const Keyword
http://celestialcoding.com/index.php?topic=287.0

[33] Using the Extern keyword
http://celestialcoding.com/index.php?topic=318.0

[34] Implementing a Queue
http://celestialcoding.com/index.php?topic=320.0

[35] Implementing a Stack this time
http://celestialcoding.com/index.php?topic=323.0

[36] Linked lists
http://celestialcoding.com/index.php?topic=324.0

[37] Playing music or sounds
http://celestialcoding.com/index.php?topic=328.0

[38] Searching for Files
http://celestialcoding.com/index.php?topic=329.0

[39] Implementing a BubbleSort
http://celestialcoding.com/index.php?topic=343.0

[40] Simple Vector Rundown
http://celestialcoding.com/index.php?topic=349.0

[41] Function Pointers
http://celestialcoding.com/index.php?topic=350.0

[42] Array of Functions
http://celestialcoding.com/index.php?topic=352.0

[43] Using Singletons
http://celestialcoding.com/index.php?topic=361.0


[edited name=Celestialkey date=1258053371][/edited]

13
C++ / Re: Hacking Solitaire
« on: November 07, 2009, 10:57:16 pm »
ok, wtf?! My score address has been 0x0AB520 for the past 200 times that i've done tSearch. Then i do it this time and it changes to 0x0AB510 and the thing works, wtf!? why would the memory address change and y wouldn't the score change with the old address? But it works now every time using 0x0AB510

14
C++ / Re: Hacking Solitaire
« on: November 07, 2009, 10:48:03 pm »
yes i've found my own memory address, i must have failed to mention that. But yes i have my own and i know its the right one because i can manipulate the score using tSearch. but the modifier that we create in C++ doesn't seem to work. i'll use the latest error checks that you and nathan have provided and i'll let you know if that does the trick.

15
C++ / Re: Hacking Solitaire
« on: November 07, 2009, 02:02:55 pm »
i just don't understand. if i'm not getting any errors what-so-ever then y is the score not changing. That is the only thing that is going wrong. even when i use
Code: [Select]
if(GetLastError()) printf("%d/n"); i now don't get anything. the stupid program just simply continues without acheiving its purpose wat the hell is going wrong!!!

16
C++ / Re: Hacking Solitaire
« on: November 07, 2009, 01:42:32 pm »
i tried that but i just get random numbers. and example is 142080468

17
C++ / Re: Hacking Solitaire
« on: November 06, 2009, 10:36:44 pm »
i try to modify the score but when the program finishes nothing happens. I don't get any compile errors or errors in the modifier. But it just doesn't change the memory vaule. And i know that i got the right memory address for the score so can you tell me what are the possibilities of my thing not working.

18
alright, i'm going to try my hardest to complete this challenge. Wish me luck!!!

19
umm, i kinda feel dumb for asking but wat is a module?

20
let me get this straight then since dll's are required. Make a .exe that loads a DLL which searchs the directory for other .exe's and then outputs them on the screen, then lets you choose which program to run? Is that right?

21
Why does it have to be a DLL? Why can't we just get the names of files in the same directory and then execute the one we want?

22
LUA / Re: 0: Using Lua with C++
« on: August 12, 2009, 06:01:27 pm »
umm, wat is a project template? wow i feel dumb for asking, but wat is it?

23
Introductions / Re: spum789 V2 intro
« on: August 12, 2009, 01:25:34 pm »
[applause] + rep + 5 trust. Eczuo is no longer afraid of Spum. + 13 speech + 15 xp.
What are we doing? Playing dungeons and dragons?

In that case:
- 5 Magic for eczuo :).

More like playing: Celestial Coding, pokemon and Fallout 3.
- 5 int for you, Nathan :)
That is so mean :(.

I'm going to college YAY!!!!

24
General Talk / Re: Post your pic v1 thread
« on: August 12, 2009, 01:57:23 am »
how in the world do i look like elmo?

25
Introductions / Re: spum789 V2 intro
« on: August 12, 2009, 01:55:32 am »
-_- y would you be afriad of someone you can't hack?

26
Hardware Support / Re: Do you like Windows Vista or XP Better?
« on: August 12, 2009, 12:23:11 am »
I like xp because........ My comp can't run Vista. lol
seriously tho i really like vista's look. and i'm kinda blank on xp and vista when it comes to functionallity
but if i had to chose it'd probably be xp just so my comp can have more memory.

27
OpenGL / 5: Alpha blending
« on: August 11, 2009, 11:56:34 pm »
For this tutorial we're going to create 2 cubes, put the smaller one inside the bigger one and make the bigger cube transparent so we can see the other cube.

You'll notice first that we've added a second angle variable, this will be used for the second cube.
Next you'll see, glPushMatrix();. this is used to save a certain "scene". For our program we're creating 2 cubes. were also going to rotate them in different directions. So we need glPushMatrix(); to save the "settings" of the first cube. If we didn't have it and we tried to rotate the 2 different cubes then it would get messed up because OpenGL would take all of the glRotatef() calls and add them together. So with glPushMatrix(); we can make shapes unique.
NOTE** each call to glPush Matrix(); will have a corresponding call to glPopMatrix();

for the rest of the code i'll just use comments to explain.

Code: [Select]
#include <gl.h>
#include <glut.h>

GLfloat angle = 0.0;
GLfloat angle2 = 0.0;

void cube() {
glPushMatrix();
glRotatef(angle, 1.0,0.0,0.0);//rotate along the x-axis
glColor4f(0.0,1.0,0.0,1.0);/* since we're using alpha blending we need the alpha argument for glColor()
so we change the "3" to a "4" alpha is used for transparencies. and its graded from 0.0 to 1.0 were 0 is
                completely transparent and 1 is completely solid.
glutSolidCube(1);// create a small solid cube
glPopMatrix();// pop the save to start a new one
}

void cube2() {
glPushMatrix();
glRotatef(angle2, 0.0,1.0,0.0);//rotate along the y-axis
glColor4f(1.0,0.0,0.0,0.2);// same deal here except this alpha variable is .2 so that it is "see-through"

glutSolidCube(2);
glPopMatrix();
}

void display() {
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// add this to clear alpha stuff
glEnable(GL_BLEND);// enable blending
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);// needed for blending
glLoadIdentity();
gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
cube();
cube2();
glutSwapBuffers();
angle ++;
angle2 ++;
glFlush();
}

void reshape(int w, int h) { // nothing new here
glViewport(0,0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60, (GLfloat)w / (GLfloat)h, 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
}

int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);// we need RGBA and DEPTH for alpha
       // blending
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("Spum Light");
glutDisplayFunc(display);
glutIdleFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}

now we have to cubes that spin the opposite way. and one is transparent

28
LUA / 1: How to execute Lua files from C++
« on: August 11, 2009, 04:38:16 pm »
OK, so after that first lesson your probablly wondering "But how do i code in Lua?". I promise you after these 3 lessons we'll get right into coding with lua.

First copy and paste this code into notepad and title it hello.lua
save the file in then same directory as your main.cpp file in your project
Code: [Select]
print("hello world in lua!!!!!")
here is the C++ code.
Code: [Select]
#include <stdio.h>
#include <iostream>
using namespace std;

/*Because lua is mainly for "C" we need to include it as such.*/
extern "C" {
   #include "lua.h"
   #include "lualib.h"
   #include "lauxlib.h"
}

/*this lua functiion makes a call to the lua interpreter. initializes it, runs the files that we need, and then closes it.*/
void lua() {
        /* these calls to lua are kinda tricky with the "L" but once you type them enough you'll get used to it
        so if you have a problem compiling lua ALWAYS check here first*/
lua_State* L;//call the lua interpreter
L = lua_open();//init lua
luaL_openlibs(L);//init lua libs
luaL_dofile(L, "hello.lua");//do lua files
lua_close(L);//close lua
}

int main (int argc, char** argv)
{
   lua();//call lua function
   cout << "Press enter to exit" << endl;
   getchar();//duh
   return 0;
}

29
LUA / 0: Using Lua with C++
« on: August 11, 2009, 04:27:29 pm »
Lua is a light weight scripting language. It can be used to manipulate variables with out have to change the source code of an application. This first lesson will be on how to get Lua set-up with your compiler.

If you know how to set-up includes and libraries then you can skip step one.

First thing's first, download the attached files.

When the download is finished, open a new project in MVC++. then goto "Tools" - "Options". Nest Expand Projects and Solutions. Click on VC++ directiories. and in the drop down box select Include files, and select the include folder in Lua/5.1/include. Then in the drop down box select library files and do the same for that except use the lib folder in lua/5.1/lib, click "ok". Now your Compiler knows where to find lua



NOTE** YOU'LL HAVE TO REPEAT THIS STEP EVERY TIME YOU CREATE A NEW PROJECT!!!!
then goto your project properties. Expand "Configuration Properties", Expand "C/C++" and click on "Code Generation" and Next to "Runtime Library" change "Multi-Threaded Debug (DLL)" to "Multi-threaded DLL". Now Expand "Linker", click "Input" and in the "Additional Discrepancies" type "lua5.1.lib". congrats now you can compile and run projects with lua.

Next lesson we'll cover how to use lua with C++.

30
General Talk / Re: Best book for learning C++
« on: August 11, 2009, 03:50:54 am »
A very good, cheap, and thorough book is C++ programming language for Dummies. I swear don't be fooled by the title, its a good book and its very intelligently written.   

Pages: [1] 2 3

Donate


* Search


* Recent Posts

I miss the chatbox by Shishka
[August 27, 2019, 11:52:39 pm]


Image Comparison by Shishka
[May 15, 2017, 01:18:02 pm]


Re: srchub - free source code hosting by Nathan
[December 14, 2015, 11:37:02 pm]


Re: srchub - free source code hosting by Celestialkey
[November 27, 2015, 08:51:42 am]


Updates by Nathan
[October 30, 2015, 08:27:36 pm]