Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak zrobić save ?

Ostatnio zmodyfikowano 2010-10-20 20:25
Autor Wiadomość
mesajah
Temat założony przez niniejszego użytkownika
Jak zrobić save ?
» 2010-10-19 15:31:42
jak zrobić save do gry , że np włączam grę i jest wczytaj gre a jak naciśniemy wczytaj to odtwarza sie plik save.txt w ktorym jest np kod int lol = 10; . i jak zapisać taki plik ?
P-22998
kamillo121
» 2010-10-19 15:47:18
1. naucz się obsługiwać pliki(odczytywanie/zapisywanie)
2. stwórz sobie funkcję która wczyta plik z zapisami i drugą, która go zapisze
3. ustal sobie jak mają wyglądać save, tzn czy ma to być sama pozycja gracza i powiedzmy jakiś lvl i życie czy też np. budynki dostosowane do poziomu gracza, brak zebranych przedmiotów czy co tam masz
4. zakoduj :)
P-22999
SeaMonster131
» 2010-10-19 15:55:03
Zerknij sobie na biblioteke fstream :)
P-23000
ison
» 2010-10-19 16:00:25
przykład wczytywania i zapisywania zmiennej do pliku:
C/C++
#include <cstdio>
#include <iostream>
#include <fstream>

void DisplayMenu( int val ) {
    system( "cls" );
    printf( "1: Save value to file\n" );
    printf( "2: Load value from file\n" );
    printf( "3: Change value\n" );
    printf( "4: Exit\n" );
    printf( "VALUE = %d\n\n", val );
}

void SaveToFile( char * path, int val ) {
    std::ofstream out( path );
    out << val << std::endl;
    out.close();
    delete[] path;
}

void LoadFromFile( char * path, int & val ) {
    std::ifstream in( path );
    in >> val;
    in.close();
    delete[] path;
}

void ChangeValue( int & val ) {
    int NewVal;
    printf( "Enter new value: " );
    scanf( "%d", & NewVal );
    val = NewVal;
}

int main()
{
    int value = 0;
    char cmd = 0;
    while( cmd != '4' ) {
        DisplayMenu( value );
        cmd = std::cin.get();
        if( cmd == '1' ) SaveToFile( "save.txt", value );
       
        if( cmd == '2' ) LoadFromFile( "save.txt", value );
       
        if( cmd == '3' ) ChangeValue( value );
       
        std::cin.sync();
    }
}
P-23001
mesajah
Temat założony przez niniejszego użytkownika
» 2010-10-19 16:07:01
1. sam sie skapnołem ,ale...
mam taki kod i kolorów mi nie wyświetla dlaczego ?
C/C++
#include <iostream>
#include <conio.h>
#include <fstream>
#include "class.h"
#include "ddtconsole.h"

using namespace ddt::console;

using namespace std;
void main()
{
    int false_load = 7;
    int true_load = 1;
    //Koniec bazki danych
    ddt::console::gotoxy( 36, 11 ); //kolumna=70; wiersz=11;
    cout << " Menu Glowne \n";
    ddt::console::gotoxy( 36, 14 ); //kolumna=70; wiersz=11;
    cout << " 1. Nowa Gra ";
    ddt::console::gotoxy( 36, 17 ); //kolumna=70; wiersz=11;
    bool good();
    bool is_open();
    std::fstream plik;
    plik.open( "save.txt", std::ios::in | std::ios::out );
    if( plik.good() == true )
    {
       
        void textcolor( int true_load );
        cout << " 2. Wczytaj Gre ";
        plik.close();
    }
    if( plik.good() == false )
    {
        void textcolor( int false_load );
        cout << " 2. Wczytaj Gre ";
        plik.close();
    }
    getch();
}
w class.h tylko są komentarze wymyślałem z kolegą klasy,frakcje i rasy :P
P-23002
pekfos
» 2010-10-19 16:13:28
bo nie umiesz nawet funkcji odpalić
funkcja( wartosc );
P-23005
mesajah
Temat założony przez niniejszego użytkownika
» 2010-10-19 16:23:12
pekfos źle mówisz sam zauważyłem zobacz :
void textcolor( int true_load );
od kiedy void przyjmuje wartość ?
Dla innych z tym problemem ZAMIEŃCIE NA INT

kiedy to debuguje :
C/C++
#include <iostream>
#include <conio.h>
#include <fstream>
#include "class.h"
#include "ddtconsole.h"

using namespace ddt::console;

using namespace std;
void main()
{
    int false_load = 7;
    int true_load = 1;
    //Koniec bazki danych
    ddt::console::gotoxy( 36, 11 ); //kolumna=70; wiersz=11;
    cout << " Menu Glowne \n";
    ddt::console::gotoxy( 36, 14 ); //kolumna=70; wiersz=11;
    cout << " 1. Nowa Gra ";
    ddt::console::gotoxy( 36, 17 ); //kolumna=70; wiersz=11;
    bool good();
    bool is_open();
    std::fstream plik;
    plik.open( "save.txt", std::ios::in | std::ios::out );
    if( plik.good() == true )
    {
       
        int textcolor( 1 );
        cout << " 2. Wczytaj Gre ";
        plik.close();
    }
    if( plik.good() == false )
    {
        int textcolor( 7 );
        cout << " 2. Wczytaj Gre ";
        plik.close();
    }
    getch();
}
Pisze mi takie coś
"Unable to start program , ścieżka do projektu i na dole Odmowa dostępu"
P-23006
ison
» 2010-10-19 17:01:15
od kiedy void przyjmuje wartość ?
od zawsze kiedy funkcja oczekuje jakichkolwiek argumentów... Radzę powtórzyć lekcję o funkcjach bo coś mało je ogarniasz
przy wywoływaniu funkcji nie piszesz 'int' ani 'void'
w przypadku:
C/C++
int Foo( int a );
funkcja ZWRACA int
jak masz
C/C++
void Foo( int a );
znaczy że funkcja nic nie zwraca

pekfos źle mówisz sam zauważyłem zobacz :
mocne słowa... nie ma to jak pouczać moderatorów fora dla programistów swoją nikłą wiedzą ;p

Dla innych z tym problemem ZAMIEŃCIE NA INT
http://www.youtube.com/watch?v=XZxzJGgox_E&feature=related
P-23010
« 1 » 2 3 4 5 6 7
  Strona 1 z 7 Następna strona