[pascal]program losujący pytanie spośród podanych dziesięciu


(Lvki32) #1

witam wszystkich, na wstępie zaznaczam, że dopiero rozpoczynam przygodę z programowaniem więc nie wymagajcie ode mnie zbyt wiele :slight_smile: chciałem napisać grę typu milionerzy. jedną już zrobiłem ale ma tylko 15 pytań. mój problem polega na tym, że do każdej kwoty program wylosuje sobie jedno pytanie,wraz z podprogramem sprawdzającym poprawność odpowiedzi (if then else). chciałbym się dowiedzieć jak napisać takowy program i czy jest to w ogóle wykonalne. próbowałem połączyć case of z randomize ale jakbym to nie zrobił ciągle wyskakiwał błąd error in expresion. krócej chciałbym aby program wylosował jeden z dziesięciu podprogramów a potem przeszedł do kolejnej kwoty i wykonał to samo. prosiłbym was drodzy czytelnicy o fragment kodu, wskazówkę, link czy cokolwiek co pomoże mi uporać się z problemem. pozdrawiam


(Drobok) #2

var x:integer;

randomize;

x:=random(10)+1;

case x of

1:

(...)

else write("cos nie tak");

end;

robisz coś podobnego ?? Jak podasz kod na pewno ci ktoś poprawi. Trzeba przyznać, iż słowne opisanie problemu jest dosyć trudne do wyobrażenia sobie osobie, która od roku nic w tym języku nie napisała ;]


(klemensior15) #3

Może tak:

Pytania wczytujesz do tablicy stringów ,komputer losuje pytanie po czym po poprawnej odpowiedzi nadpisuje je powiedzmy 0. Następnie losuje następne pytanie przy czym jeżeli pytanie które wylosuje będzie pytaniem z 0 losuje ponownie.


(Lvki32) #4

oba pomysły są dobre ale wolałbym coś w tym rodzaju:

var x,a:integer;

writeln('Pytanie za 100 zl');

readln;

randomize;

x:=random(10)+1;

case x of

1: begin

writeln('Pytanie za 100 zl: ile to 2x2?');

readln(a);

if a=4 then

begin

writeln('dobrze'); readln

end

else begin

writeln('zle, koniec gry'); readln; halt;

end;

end;

2: begin

{to samo }

end;

(...)

10: {to samo}

program losuje jedno z pytań, gracz wybiera odpowiedz i jeżeli jest dobra to przechodzi do pytania za 200 zł, gdzie jest to samo. program losuje jedno itd do miliona.

po zrobieniu kodu na 3 pytania do losowania za każdym razem losuje pierwsze

i jeszcze jedno głupie pytanie: jak skopiować kod programu i go tu wkleić? szukam i szukam i nie mogę znaleźć :slight_smile:


([alex]) #5

Na wklejanie kodu masz przycisk Code nad polem w które wpisujesz odpowiedź.

Co do twojego kodu aby zmienić zestaw pytań lub chociażby dołożyć jedno to trzeba cały program zmieniać, uważasz to za słuszne podejście?

A jak ci się nazbiera kilkadziesiąt tysięcy pytań to program ci się w pamięci nie zmieści :smiley:

Może zastanów się jednak dan umieszczeniem pytań i odpowiedzi w osobnym pliku.


(Lvki32) #6

Myslalem nad 150 pytanaimi bo kilkadziesiat tysiecy to troche za duzo :slight_smile: czy gdybym chcial umiescic pytania w innym pliku to bylyby to fragmenty kodu razem ze sprawdzaniem odpowiedzi czy same pytania?


([alex]) #7

Format pliku może być w stylu ini:

[ile to 2x2]

5=0

4=1

3=0

22=0


[Czy poprzednie pytanie było trudne]

trudne=0

średnie=0

łatwe=0

bardzo łatwe=1

Jedynkami oznaczone poprawne odpowiedzi.