私はC++とQTに非常に慣れていません。基本的に、私は Java をやっただけですが、Zork ゲームの UI を設計する必要があるモジュールのために C++ を使用しています。Room オブジェクトの作成を計画している方法は、roomnum.long、.short、および long desc、short desc、および name の .name を使用して Room を構築することです。
最初の部屋では、オブジェクトなどを適切に取得するまで、ファイルを直接ロードします。ただし、ファイルをテキスト ラベルに書き込むことができないようです。ボタンを押すと、「ゲームの再起動など」という戻り値が書き込まれますが、ファイルの内容は書き込まれません。Rooms フォルダーは、ソース ファイルと同じフォルダーにあります (この場合は islandmain.cpp)。
何か案は?
void TheIslandMain::on_startButton_clicked()
{
ui->roomDesc->setText(readFirstRoom("/Rooms/room1.long"));
ui->roomDesc->setWordWrap(true);
}
QString TheIslandMain::readFirstRoom(QString filename)
{
QFile mFile(filename);
if (!mFile.open(QFile::ReadOnly | QFile::Text))
{
qDebug() << "Could not open file for reading Line 31";
return "Could not load file. Please restart game.";
}
QTextStream in(&mFile);
QString fileInput = in.readAll();
qDebug() << fileInput;
mFile.close();
return fileInput;
}