斗破苍穹吧 关注:2,313,728贴子:63,693,221

无聊时自己写的C++爱情小游戏代码,有兴趣的来看看o(∩_∩)o

只看楼主收藏回复

从构思到完成,边听歌边敲键盘,一共用了接近六个小时
努力让枯燥的代码生动起来,很幼稚的爱情小游戏
学过的可以指教下,指出我的不足,共同进步o(∩_∩)o
很多预期功能写到最后,连自己都懒得去实现了,就这样也勉强算完整的小游戏了~
大家可以去运行下,在VC++6.0上测试通过,其他平台没试..


1楼2010-05-15 01:07回复
    // P_MM.cpp : Defines the entry point for the console application.
    //
    #include "stdafx.h"
    #include<iostream.h>
    #include<stdlib.h>
    #include<string.h>
    #include<time.h>
    class CBoys;
    class CGirls{
        
         friend class CBoys;
        
    private:
        
         char Name[25];
        
            
    };
    class CBoys{
        
    private:
            
         char Name[25];
        
         int Charisma;    //魅力值
        
         long Money;       //财富
        
         int Age;   //年龄
         int RoseNum;    //拥有的玫瑰数
        
         CGirls LoveGirl;
        
    public:
        
         void InPut();
        
         void   ConfessingLove(); //表白爱意
        
         void Menu();             //程序选项
        
         void Choose();           //选择
        
         void EarnMoney_AddCharisma();   //赚钱、增加魅力
        
         void Purchase();   //购物
        
         void GiveRose();   //送女孩玫瑰
        
         void Propose();   //向心爱的女孩求婚
        
    };
    void CBoys::InPut(){     //输入一些基本信息
        
         Charisma=50;        //初始化
        
         Money=30000;
         RoseNum=0;
        
         char *name=new char[25];
        
         cout<<"请输入你的角色名称:"<<endl;
        
         cin>>name;
        
         strcpy(Name,name);
        
         delete [] name;
        
         int age;
        
         cout<<"请输入你的年龄:"<<endl;
        
         cin>>age;
        
         Age=age;
        
    }
    void CBoys::Menu(){
         cout<<"*****欢迎"<<Name<<"来到爱情之旅!******"<<endl;
        
         cout<<"***********1.表白**********************"<<endl;
        
         cout<<"***********2.挣钱**********************"<<endl;
        
         cout<<"***********3.买玫瑰********************"<<endl;
         cout<<"***********4.送玫瑰********************"<<endl;
        
         cout<<"***********5.求婚**********************"<<endl;
        
         cout<<"***********0.退出**********************"<<endl;
        
    }
    void CBoys::Choose(){
        
         int choose;
        
         cin>>choose;
        
         switch(choose){
            
         case 1: ConfessingLove();break;    
            
         case 2 :EarnMoney_AddCharisma();break;
            
         case 3: Purchase();break;
         case 4: GiveRose();break;
         case 5: Propose();break;
            
         case 0: cout<<"很遗憾,你未能坚持走完这爱情之路。"<<endl;break;
            
         }
        
    }


    2楼2010-05-15 01:08
    回复
      void CBoys::ConfessingLove(){                 //表白 o(∩_∩)o
          
           char *girlname=new char[25];
          
           cout<<"请输入你心爱的女孩的名字:"<<endl;
          
           cin>>girlname;
          
           strcpy(LoveGirl.Name,girlname);
          
           delete [] girlname;
          
           cout<<"大胆对"<<LoveGirl.Name<<"表白吧,你想对她说:"<<endl;
          
           char *BoyWantToSay=new char[200];   //对女孩表白的话
          
           cin>>BoyWantToSay;
           delete [] BoyWantToSay;
          
           if(Charisma>=80&&Charisma<=100)
           {
               cout<<"恭喜!魅力超凡的你,经过不懈努力,终于得到了心爱女孩的芳心!魅力+7!"<<endl;
               Charisma+=7;
               cout<<"你的财富:"<<Money<<endl;
              
               cout<<"你的魅力:"<<Charisma<<endl;
              
               Menu();
              
               Choose();
           }
          
           else
           {
              
               cout<<"你的魅力不足80,继续努力哦,还有希望!不过,你敢于表白,魅力+2!接下来你想干什么呢?"<<endl;
               Charisma+=2;
               cout<<"你的财富:"<<Money<<endl;
              
               cout<<"你的魅力:"<<Charisma<<endl;
              
               Menu();
              
               Choose();
           }
          
      }
      void CBoys::EarnMoney_AddCharisma(){        //挣钱、加魅力
          
           int response;
          
           int probability;       //事件随机概率
      


      3楼2010-05-15 01:08
      回复
            
             cout<<"**********请选择何种挣钱方式***********"<<endl;
            
             cout<<"****************1.做家教***************"<<endl;
            
             cout<<"****************2.做打字员*************"<<endl;
            
             cout<<"****************3.写小说***************"<<endl;
            
             cout<<"****************4.炒股*****************"<<endl;
            
             cout<<"****************0.返回*****************"<<endl;
            
             probability=rand()%10+1;
            
             cin>>response;
            
             switch(response){
                
             case 0 : Menu();Choose();break;
                
             case 1: {
                
                 if(probability<=7){
                    
                     cout<<"恭喜,经过你兢兢业业的教育,你教的孩子成功考取了清华,国家奖励你10000元RMB!!魅力+3!"<<endl;
                    
                     Money+=10000;
                    
                     Charisma+=3;
                    
                 }
                
                 else {
                    
                     cout<<"你教的孩子差500分考取清华,反赔了人家5000元RMB。魅力-3"<<endl;
                    
                     Money-=5000;
                    
                     Charisma-=3;
                    
                 }
                
                 cout<<"你的财富:"<<Money<<endl;
                
                 cout<<"你的魅力:"<<Charisma<<endl;
        


        4楼2010-05-15 01:08
        回复
                  
                   Menu();
                  
                   Choose();
                  
                       }break;
                  
               case 2:{
                  
                   if(probability<=6){
                      
                       cout<<"恭喜!由于你认真努力的打出了高质量的字,老板奖励12000元RMB!魅力+4!"<<endl;
                      
                       Money+=12000;
                      
                       Charisma+=4;
                   }
                  
                   else{
                      
                       cout<<"由于你打一万字出错七千,险些被读者举报盗版,反赔了5000元。魅力-4。"<<endl;
                      
                      
                       Money-=5000;
                      
                       Charisma-=4;
                      
                   }
                  
                   cout<<"你的财富:"<<Money<<endl;
                  
                   cout<<"你的魅力:"<<Charisma<<endl;
                  
                   Menu();
                  
                   Choose();
                  
                      }break;
                  


          5楼2010-05-15 01:08
          回复
            case 3: {
                    
                     if(probability<=5){
                        
                         cout<<"写小说火了,赚了20000!魅力+5!"<<endl;
                        
                         Money+=20000;
                        
                         Charisma+=5;
                     }
                    
                     else{
                        
                         cout<<"写的小说没人看,赔了6000元。魅力-5."<<endl;
                        
                         Money-=6000;
                        
                         Charisma-=5;        
                     }
                    
                     cout<<"你的财富:"<<Money<<endl;
                    
                     cout<<"你的魅力:"<<Charisma<<endl;
                    
                     Menu();
                    
                     Choose();
                    
                         }break;
                    
                 case 4: {
                    
                     if(probability<=4){
                        
                        
                         cout<<"股市涨了!赚了30000!魅力+7!"<<endl;
                        
                         Money+=30000;
                        
                         Charisma+=7;
                        
            


            6楼2010-05-15 01:09
            回复
                       }
                      
                       else {
                          
                          
                           cout<<"股市崩盘,赔了10000!魅力-7!"<<endl;
                          
                           Money-=10000;
                          
                           Charisma-=7;
                          
                       }
                      
                       cout<<"你的财富:"<<Money<<endl;
                      
                       cout<<"你的魅力:"<<Charisma<<endl;
                      
                       Menu();
                      
                       Choose();
                      
                           }break;    
                      
                   }
                  
                   }
                  
                   void CBoys::Purchase(){
                      
                       cout<<"**********************欢迎来到玫瑰乐园!*****************************"<<endl;
                      
                       cout<<"*********你想购买多少玫瑰呢?一朵玫瑰999元,送给女生会+1魅力值哦!******"<<endl;
                          
                       int Pur_Rose;
                      
                       cin>>Pur_Rose;
                       if(Money<Pur_Rose*999){
                       cout<<"钱到用时方恨少啊!你的钱不够,快去赚钱吧!"<<endl;
                       Menu();
                      
                       Choose();
                       }
                       else{
                      
                       RoseNum+=Pur_Rose;
                      
                       Money-=Pur_Rose*999;
                      
                       cout<<"购买成功!你买了"<<Pur_Rose<<"朵玫瑰!"<<endl;
                      
                       cout<<"拥有玫瑰:"<<RoseNum<<endl;
                      
                       cout<<"你的财富:"<<Money<<endl;
                      
                       cout<<"你的魅力:"<<Charisma<<endl;
                      
                       Menu();
                      
                       Choose();
                       }
                      
                   }
              


              7楼2010-05-15 01:09
              回复
                void CBoys::GiveRose(){
                     cout<<"你现在拥有玫瑰:"<<RoseNum<<endl;
                     cout<<"你想送多少多玫瑰给她呢?送一朵玫瑰魅力+3哦!"<<endl;
                     int GiveNum;
                     cin>>GiveNum;
                     if(GiveNum>RoseNum){
                         cout<<"你哪有那么多玫瑰!?快去买吧"<<endl;
                         Menu();
                        
                         Choose();
                     }
                     else{
                         cout<<"你成功送了"<<GiveNum<<"朵玫瑰,魅力+"<<GiveNum<<endl;
                         RoseNum-=GiveNum;
                         Charisma+=GiveNum;
                         cout<<"拥有玫瑰:"<<RoseNum<<endl;
                        
                         cout<<"你的财富:"<<Money<<endl;
                        
                         cout<<"你的魅力:"<<Charisma<<endl;
                         Menu();
                        
                         Choose();
                     }
                     }
                    
                     void CBoys::Propose(){
                     char *girlname=new char[25];
                    
                     cout<<"请输入你想要求婚的女孩的名字:"<<endl;
                    
                     cin>>girlname;
                    
                     strcpy(LoveGirl.Name,girlname);
                    
                     delete [] girlname;
                        
                     cout<<"用你最独特的语言来打动"<<LoveGirl.Name<<"吧!"<<endl;
                     char *BoyWantToSay=new char[200];   //对女孩表白的话
                    
                     cin>>BoyWantToSay;
                     delete [] BoyWantToSay;
                     if(Money>=400000&&Charisma>=90){
                     cout<<"恭喜你,由于你的努力"<<LoveGirl.Name<<"已经愿意嫁给你!"<<endl;
                     }
                     else{
                     cout<<"你还未达到结婚的条件,还需努力啊。提示下哦,想要抱得美人归,你财富至少为40W,魅力至少为90哦!"<<endl;
                     Menu();
                        
                     Choose();
                     }
                        
                     }
                    
                    
                     int main()
                     {
                         CBoys boy1;
                        
                         srand(time(0));
                        
                         boy1.InPut();
                        
                         boy1.Menu();
                        
                         boy1.Choose();
                        
                         return 0;
                        
                     }
                


                8楼2010-05-15 01:09
                回复
                  完事,睡觉去


                  9楼2010-05-15 01:10
                  回复
                    辛苦了


                    IP属地:上海10楼2010-05-15 01:28
                    回复
                      有才


                      IP属地:北京11楼2010-05-15 01:53
                      回复
                        • 123.247.42.*
                        没看懂


                        12楼2010-05-15 02:05
                        回复
                          LZ应该在 switch语句最后加上个default语句,来处理用户不小心时的输入错误。
                          这样就不会在按错键的时候自动退出了。


                          IP属地:辽宁13楼2010-05-15 02:19
                          回复
                            回复:13楼
                            是啊。还很不完善呢,还有很多BUG。毕竟第一次连续这么长时间写代码,最后实在撑不下去了,就草草了事了,呵呵。 谢谢


                            14楼2010-05-15 09:47
                            回复
                              class CBoys;
                              class CGirls{
                                  
                                    friend class CBoys;
                                  
                              private:
                                  
                                    char Name[25];
                                  
                                      
                              }; 是什么作用啊,能不能分析一下,先谢大侠了


                              15楼2010-08-13 19:46
                              回复