2012-02-20 16 views
-3
この時

見... http://www.youtube.com/watch?v=b7PD5969hho (そのヘリウムイオン:P(奇妙な)私はコードがハイパー長くすることなく、2個の電子を組み込む方法についての提案が必要)地雷鉱山のゲームは、スイッチのステートメントのみを使用しています...エラーが発生しました,,,,?

私はドットのように削除したいですよく......また http://www.2shared.com/document/RbqXfIdH/Helium_ion_XD.html(これは私のC++コードである)

コードの下に問題がある...私を助け..... switch文に問題

#include<iostream> 
#include<cmath> 
#include<string> 
#include<iomanip> 
using namespace std; 
#include <stdlib.h> 

int main() 
{ 
    int i=1,t=0,live=3; 
    char choice=' '; 
    char b1='a'; 
    char b2='b'; 
    char b3='c'; 
    char b4='d'; 
    char b5='e'; 
    char b6='f'; 
    char b7='g'; 
    char b8='h'; 
    char b9='i'; 
    char b10='j'; 

    clear: 
    switch (choice) 
    case 'a': 
     b1='*'; 
     live--; 
     break; 
    case 'b': 
     b2='-'; 
     t++; 
     break; 
    case 'c': 
     b3='*'; 
     live--; 
     break; 
    case 'd': 
     b4='-';t++; 
     break; 
    case 'e': 
     b5='-';t++; 
     break; 
    case 'f': 
     b6='-';t++; 
     break; 
    case 'g': 
     b7='-';t++; 
     break; 
    case 'h': 
     b8='*'; 
     live--; 
     break; 
    case 'i': 
     b9='-';t++; 
     break; 
    case 'j': 
     b10='-';t++; 
     break; 
    ///////////////////////////BOX////////… 
    cout<<setw(20)<<'|'<<setw(10)<<'|'<<se… 
    cout<<setw(15)<<b1<<setw(5)<<'|'<<setw(5… 
    cout<<setw(20)<<'|'<<setw(10)<<'|'<<setw… 
    cout<<setw(20)<<'|'<<setw(10)<<'|'<<setw… 
    cout<<setw(60)<<"---------------------… 
    //////////////////////////////////////… 
    cout<<setw(20)<<'|'<<setw(10)<<'|'<<se… 
    cout<<setw(15)<<b6<<setw(5)<<'|'<<setw(5… 
    cout<<setw(20)<<'|'<<setw(10)<<'|'<<setw… 
    cout<<setw(20)<<'|'<<setw(10)<<'|'<<setw… 
    cout<<setw(60)<<"---------------------… 

    /////////////////////////////////box end/////////////////////////////////////… 
    //////////////start//////////////// 
    cout<<setw(40)<<"THIS GRID CONTAINS 8 BOMBS...CHOOSE 15 NUMBERS WITHOUT hittng a landmine"; 
    { 
     cout<<"YOUR "<<live <<"LIVES REMAIN"<<endl; 
     cout<<"ENTER YOUR"<< i << "NUMBER :"; 
     i++; 
     cin>>choice; 
     if(t==15) 
     { 
     cout<<"YOU WIN"; 
     goto end; 
     }; 
     if(live==0) 
     cout<<"YOU LOSE"; 

     goto clear;}; 
    if(live==0) 
     cout<<"YOU LOSE"; 
    end: 
    return 0; 
} 
+1

インデントが必要です! :o –

+2

'goto clear;};'ああ、神様..なぜ? – amit

+0

'switch 'の問題はコンパイルされていないことですか? 'switch 'には' {}'はありません:switch(choice){case 'a':...} ' – hmjd

答えて

2

を持つイムvidからの私の最初の印象あなたが提供していることは、あなたがしようとしているものを出力するためのシンプルなグラフィックスライブラリのいくつかの形式が必要であるということです。コンソール内に「疑似グラフィックス」を出力するだけで、管理が煩雑になり混乱することになります。たとえば、SDLを参照してください。

質問の2番目のセクションに対処するには、スイッチのステートメントは、本体をカプセル化するために中括弧を必要とします。インデントと書式設定の方法は、これらの問題を迅速かつ個別に特定するのに役立ちます。したがって、これらの問題を使用する習慣を覚えるのは良い考えです。

補足として、私はあなたのコードでgotoステートメントを使用しないことをお勧めします。それらは、プロジェクトが成長するとすぐに管理できなくなります。たぶんあなたのC/C++を改訂することは良い考えです。

+0

私はそのことを知っています....私はopenglを学ぶことを計画しています...私はあなたも私の他のビデオをチェックすることができます.....これを挑戦として取った.....彼らはうっとりしていて厄介な感じがしません:P –

+0

OK実行可能な代替手段としてグラフィックライブラリを完全に認識していないかもしれないと考えました。 ASCIIグラフィックスも正しく表示されれば美しく見えますが、あなたのコードを整理することは関係なく役立ちます! ;) –

+0

@ Yashashavi Ym - これは間違った方法ではありませんが、このようなものからopenGLへのジャンプはグランドキャニオンのようなものです。 C++の知識を増やし、OpenSceneGraphのような小さなグラフィックスライブラリで始める必要があります。基本的なことをやろうとする人と学ぶ人のための非常に良いG1。 openGlの小さな3Dプロジェクトを見れば、あなたは決して夢にも思わなかったことに気づくでしょう。 – SD1990

関連する問題