Hi here is my problem I want to have the outcome of my rock paper scissors game to print outcomes like: You chose paper and I chose rock. You win. The value for player_choice and machine_choice is declared in select.cpp (listed below).
My question is how would I go about telling, the report.cpp code below to check the select.cpp code for the variable to print?
#include "p_r_s.h"
void report(outcome result, int *win_cnt_ptr,
int *lose_cnt_ptr, int *tie_cnt_ptr)
{
switch(result) {
case win:
++*win_cnt_ptr;
printf("%27s I chose");
printf("%c", player_choice);
printf("%27s you chose");
printf("%c", machine_choice);
printf("%27s You win.\n", "\"");
break;
case lose:
++*lose_cnt_ptr;
printf("%27s i chose");
printf("%c", player_choice);
printf("%27s you chose");
printf("%c", machine_choice);
printf("%27s You lose.\n", "");
break;
case tie:
++*tie_cnt_ptr;
printf("%27s A tie.\n", "");
break;
default:
printf("PROGRAMMER ERROR: Unexpected result!\n\n");
exit(1);
}
}
#include "p_r_s.h"
p_r_s selection_by_machine(void)
{
return ((p_r_s) (rand() % 3));
}
p_r_s selection_by_player(char x)
{
char c;
p_r_s player_choice;
printf("Input p, r, or s: ");
scanf("%c", &c);
switch (c) {
case 'p':
player_choice = paper;
break;
case 'r':
player_choice = rock;
break;
case 's':
player_choice = scissors;
break;
case 'g':
player_choice = game;
break;
case 'i':
player_choice = instructions;
break;
case 'q':
player_choice = quit;
break;
default:
player_choice = help;
break;
}
return player_choice;
}
8 5390
R u saking how should you call the corresponding function in select.cpp or something else..?
can you explain it further as ia m not able to understand ...
Raghu
yeah thats basically it. In select.cpp the player and the machine makes a choice of rock paper or scissor. In report.cpp I want to call the selection that the player and the machine made in select.cpp to report.cpp and print that selection.
yeah thats basically it. In select.cpp the player and the machine makes a choice of rock paper or scissor. In report.cpp I want to call the selection that the player and the machine made in select.cpp to report.cpp and print that selection.
I think you have to call the report() function in a loop and from the report function you have to call the function in select().
NOTE:Please use code tags while posting the code.
Raghu
You do that all over the place; check your manuals because it is not correct.
kind regards,
Jos
You use a storage class specifier to tell the compiler the variable exists but it's not in this file: -
/*report.cpp*/
-
extern p_r_s player_choice;
-
extern p_r_s machine_choice;
-
Then just define the variables in another file: -
/*select.cpp*/
-
p_r_s player_choice;
-
p_r_s machine_choice;
-
The linker will hook the variable in one file to the code in the other file.
I've got the program to at least build and executed it by adding the underlined code. - void report(outcome result, int *win_cnt_ptr,
-
int *lose_cnt_ptr, int *tie_cnt_ptr, p_r_s player_choice, p_r_s machine_choice)
to my header and my report function but now when I win. It prints funny characters like an up and down character before "you chose" and a smiley face box after "you chose." I'm now lost can someone please point me in the right direction. I'm assuming its because my outcome function is only returning a win or lose to main. - #include "p_r_s.h"
-
-
outcome compare(p_r_s player_choice, p_r_s machine_choice)
-
{
-
outcome result;
-
-
if (player_choice == machine_choice)
-
return tie;
-
switch (player_choice) {
-
case paper:
-
result = (machine_choice == rock) ? win : lose;
-
break;
-
case rock:
-
result = (machine_choice == scissors) ? win : lose;
-
break;
-
case scissors:
-
result = (machine_choice == paper) ? win : lose;
-
break;
-
default:
-
printf("PROGRAMMER ERROR: Unexpected choice!\n\n");
-
exit(1);
-
}
-
return result;
-
}
-
Whoops I just figured it out but thanks to everyone that responded and tried to help
Whoops I just figured it out
That's what we like to see.
Sign in to post your reply or Sign up for a free account.
Similar topics
by: ccdetail |
last post by:
http://www.journyx.com/pdf/PythonAtAGlance.pdf
the above paper is a response to some of our prospects complaints
they were asking us why we use python
thought you guys might be interested
...
|
by: Ira S |
last post by:
I use a DYMO labelwriter with my Access 97 database. I just purchased a new
computer and in the report section under page setup/paper size, the new
computer keeps changing the size automatically. I...
|
by: bcanavan |
last post by:
When I export xml(and xls) from Access 2003 the result is a complete
report in a single page. I would like to get the entire report in a
single page (one trip to the server) for printing and...
|
by: TooNaive |
last post by:
Hello all,
I'm taking a C class and am having to write a program to play a game
of rock, paper scissors, and with the output of:
You chose paper and I chose rock. You Win
where paper is the...
|
by: Piotr Nienaltowski |
last post by:
!!! DEADLINE FOR PAPER SUBMISSIONS HAS BEEN EXTENDED UNTIL FEBRUARY 26, 2004
!!!
----------------------------------------------------------------
.NET TECHNOLOGIES 2004
2nd International...
|
by: Sukh |
last post by:
Hi,
I am tring to change the paper size from default to custom paper size.
In print preview its showing my custom size but when I print it print
on default paper size.
Can any one help me to...
|
by: gc |
last post by:
Hi
I'm working on a rock, scissors, paper program. I think I have most of
it, but I am having trouble with my main function, here is my code:
#include <stdio.h>
#include <stdlib.h> /* for...
|
by: blackhacker |
last post by:
Please can anyone help me to make a simple simple Java code to force the game scissor,paper,rock to work ?
for example i know how to do it in Visual Basic but not in java,for example this is kind...
|
by: flg22 |
last post by:
Hi
I am working on this Rock, paper, scissors java game and the program works, but I can not figure out how to get the images to load onto the program. So my question is how do I get the images to...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM)
The start time is equivalent to 19:00 (7PM) in Central...
|
by: kcodez |
last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
|
by: Taofi |
last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same
This are my field names
ID, Budgeted, Actual, Status and Differences
...
|
by: Rina0 |
last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
|
by: DJRhino |
last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer)
If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _
310030356 Or 310030359 Or 310030362 Or...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: lllomh |
last post by:
How does React native implement an English player?
|
by: Mushico |
last post by:
How to calculate date of retirement from date of birth
|
by: DJRhino |
last post by:
Was curious if anyone else was having this same issue or not....
I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
| | |