ตามคำเเนะนำที่ได้มาเมื่อวาน ผมได้เปลี่ยน ตัวรับ input เป็น string เเละ เเยกระหว่าง ROCK กับ 1 bool check_type เเละสร้าง logic output ด้วย if ทำ loop game ด้วย for นับ รอบด้วย cout<< i ตอนนี้กำลังหาวิธีบันทึก score อยู่ครับ เเบบถ้าสร้าง loop 10 รอบ เก็บ score เรา เเพ้-ชนะ pc เเพ้-ชนะ เเต่ไม่รู้ว่าควรจะใช้อะไรครับ ความรู้ไม่ถึง ขอไอเดียหน่อยครับ ขอบคุณที่เข้ามาคอยช่วยนะครับ comment ของ 3-4 user เเต่ละกระทู้ของผม มีประโยชน์ต่อการเรียนรู้ผมมากจริงๆครับ
>>>ถามเพิ่มอีกนิดครับ มีวิธี ให้โปรเเกรมเเยก input stringอักขระ ที่เป็นตัวใหญ่ตัวเล็กได้ไหม
เช่น (ROCK กับ rock) มีฟังก์ชันที่ทำให้โปรเเกรมมันเช็คได้ไหมครับว่า input string ไหนเป็น ตัวอักษรพิมพ์ใหญ้ หรือ ตัวอักษรพิมพ์เล็ก
#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
bool status,win,draw;
void line();
bool check_type (string player_ch,string system_Rch,string system_Pch,string system_Sch,string system_exit){
status=0;
if(player_ch==system_Rch||player_ch==system_Pch||player_ch==system_Sch||player_ch==system_exit)
status=1;
}
logic_int (int random,string player_ch,string system_1,string system_2,string system_3,string system_4){
if(player_ch==system_1){
cout<<"Your weapon is ROCK\n";
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U LOSE\n";
win=0;
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U WIN\n";
win=1;
line();
}
else if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"DRAW\n";
draw=1;
line();
}
}
if(player_ch==system_2){
cout<<"Your weapon is PAPER\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U WIN\n";
win=1;
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U LOSE\n";
win=0;
line();
}
else if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"DRAW\n";
draw=1;
line();
}
}//paper
if(player_ch==system_3){
cout<<"Your weapon is SCISSOR\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U LOSE\n";
win=0;
line();
}
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U WIN\n";
win=1;
line();
}
else if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"DRAW\n";
draw=1;
line();
}
}
if(player_ch==system_4){
cout<<"program close";
system;exit(0);
}
else if(player_ch!=system_1&&player_ch!=system_2&&player_ch!=system_3&&player_ch!=system_4){
cout<<"invalid input, try again\n";
line();
}
}//logic_int
logic (int random,string player_ch,string system_Rch,string system_Pch,string system_Sch,string system_exit){
if(player_ch==system_Rch){
cout<<"Your weapon is ROCK\n";
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U LOSE\n";
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U WIN\n";
line();
}
else if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"DRAW\n";
line();
}
}//rock
if(player_ch==system_Pch){
cout<<"Your weapon is PAPER\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U WIN\n";
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U LOSE\n";
line();
}
else if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"DRAW\n";
line();
}
}//paper
if(player_ch==system_Sch){
cout<<"Your weapon is SCISSOR\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U LOSE\n";
line();
}
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U WIN\n";
line();
}
else if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"DRAW\n";
line();
}
}//Scissor
if(player_ch==system_exit){
cout<<"Program close";
system;exit(0);
}
else if(player_ch!=system_Rch&&player_ch!=system_Pch&&player_ch!=system_Sch&&player_ch!=system_exit){
cout<<"Invalid input, Try again";
line();
}
}
void game(){
int i,random,score;
string player_ch;
string system_Rch="ROCK";
string system_Pch="PAPER";
string system_Sch="SCISSOR";
string system_1="1";
string system_2="2";
string system_3="3";
string system_4="4";
string system_exit="EXIT";
for(i=0;i<10;i++){
random=1+(rand()%3);
cout<<"ROUND :"<<i+1<<endl;
cout<<"ROCK PAPER SCISSOR GAME!!!\n";
cout<<"1:ROCK\n2
APER\n3:SCISSOR\n4.Exit \n";
cout<<"Choose number to select your weapon or type it down:";
getline (cin,player_ch);
if(check_type(string (player_ch),string (system_Rch),string (system_Pch),string (system_Sch),string (system_exit))==1){
(logic(int (random),string (player_ch),string (system_Rch),string (system_Pch),string (system_Sch),string (system_exit)));{
}
}//check_type
else {
(logic_int(int (random),string (player_ch),string (system_1),string (system_2),string (system_3),string (system_4)));{
}
}
}//for
}//GAME
int main(){
srand(time(0));
game();
return 0;
}
void line(){
cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
}
โปรเเกรม เป่า ยิ้ง ชุบ รับ อักขระ เเละ ตัวเลข logic เสร็จเเล้วครับ เเต่หา ไอเดีย เก็บ score เเละ ช่วยด้วยครับ
>>>ถามเพิ่มอีกนิดครับ มีวิธี ให้โปรเเกรมเเยก input stringอักขระ ที่เป็นตัวใหญ่ตัวเล็กได้ไหม
เช่น (ROCK กับ rock) มีฟังก์ชันที่ทำให้โปรเเกรมมันเช็คได้ไหมครับว่า input string ไหนเป็น ตัวอักษรพิมพ์ใหญ้ หรือ ตัวอักษรพิมพ์เล็ก
#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
bool status,win,draw;
void line();
bool check_type (string player_ch,string system_Rch,string system_Pch,string system_Sch,string system_exit){
status=0;
if(player_ch==system_Rch||player_ch==system_Pch||player_ch==system_Sch||player_ch==system_exit)
status=1;
}
logic_int (int random,string player_ch,string system_1,string system_2,string system_3,string system_4){
if(player_ch==system_1){
cout<<"Your weapon is ROCK\n";
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U LOSE\n";
win=0;
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U WIN\n";
win=1;
line();
}
else if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"DRAW\n";
draw=1;
line();
}
}
if(player_ch==system_2){
cout<<"Your weapon is PAPER\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U WIN\n";
win=1;
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U LOSE\n";
win=0;
line();
}
else if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"DRAW\n";
draw=1;
line();
}
}//paper
if(player_ch==system_3){
cout<<"Your weapon is SCISSOR\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U LOSE\n";
win=0;
line();
}
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U WIN\n";
win=1;
line();
}
else if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"DRAW\n";
draw=1;
line();
}
}
if(player_ch==system_4){
cout<<"program close";
system;exit(0);
}
else if(player_ch!=system_1&&player_ch!=system_2&&player_ch!=system_3&&player_ch!=system_4){
cout<<"invalid input, try again\n";
line();
}
}//logic_int
logic (int random,string player_ch,string system_Rch,string system_Pch,string system_Sch,string system_exit){
if(player_ch==system_Rch){
cout<<"Your weapon is ROCK\n";
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U LOSE\n";
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U WIN\n";
line();
}
else if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"DRAW\n";
line();
}
}//rock
if(player_ch==system_Pch){
cout<<"Your weapon is PAPER\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U WIN\n";
line();
}
if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"U LOSE\n";
line();
}
else if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"DRAW\n";
line();
}
}//paper
if(player_ch==system_Sch){
cout<<"Your weapon is SCISSOR\n";
if(random==1){
cout<<"Pc weapon is ROCK\n";
cout<<"U LOSE\n";
line();
}
if(random==2){
cout<<"Pc weapon is PAPER\n";
cout<<"U WIN\n";
line();
}
else if(random==3){
cout<<"Pc weapon is SCISSOR\n";
cout<<"DRAW\n";
line();
}
}//Scissor
if(player_ch==system_exit){
cout<<"Program close";
system;exit(0);
}
else if(player_ch!=system_Rch&&player_ch!=system_Pch&&player_ch!=system_Sch&&player_ch!=system_exit){
cout<<"Invalid input, Try again";
line();
}
}
void game(){
int i,random,score;
string player_ch;
string system_Rch="ROCK";
string system_Pch="PAPER";
string system_Sch="SCISSOR";
string system_1="1";
string system_2="2";
string system_3="3";
string system_4="4";
string system_exit="EXIT";
for(i=0;i<10;i++){
random=1+(rand()%3);
cout<<"ROUND :"<<i+1<<endl;
cout<<"ROCK PAPER SCISSOR GAME!!!\n";
cout<<"1:ROCK\n2APER\n3:SCISSOR\n4.Exit \n";
cout<<"Choose number to select your weapon or type it down:";
getline (cin,player_ch);
if(check_type(string (player_ch),string (system_Rch),string (system_Pch),string (system_Sch),string (system_exit))==1){
(logic(int (random),string (player_ch),string (system_Rch),string (system_Pch),string (system_Sch),string (system_exit)));{
}
}//check_type
else {
(logic_int(int (random),string (player_ch),string (system_1),string (system_2),string (system_3),string (system_4)));{
}
}
}//for
}//GAME
int main(){
srand(time(0));
game();
return 0;
}
void line(){
cout<<">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
}