Diskuze: Zadání: Vytvořte simulátor zjednodušené hry „Člověče, nezlob se!“

Člen

Zobrazeno 13 zpráv z 13.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
No jo, začaly Podzimní prázdniny a úkoly se nahrnuly.. Avšak snaha vypracovat úlohu
sám je ta tam.. Přitom k vyřešení nepotřebuješ víc než základní
dovednosti. Pokud se o něco pokusíš, i třeba že něčemu nebudeš rozumět,
ale pokusíš, tak se zde jistě najde někdo kdo Ti poradí...
Otevřeš si editor, ve kterém budeš psát kód, otevřeš browser a
půjdeš na google.com. Přečteš si pořádně zadání.
Až budeš něco mít napsané, ale na něčem se zasekneš, tak napíšeš
sem.
Forum je od toho, aby ses mohl poradit o nejakem problemu v kodu. Neresi cele
programovani. Na to mas jine webovky, jako webtrh nebo tusim na jakpsatweb maji
nabidky prace.
Pokud se neptas na chybu v kodu, tak se da ocekavat, ze cena programovani bude
prinejmensim 500kc za kazdou zapocatou hodinu. Cili, pokud k tomu, co ti dodaji,
budes mit nejake pripominky a budou to spravovat, tak te to bude stat uz min
1000, protoze mezi zacatkem prace a zacatkem uprav nejspis uplyne vice nez
hodina, takze zapocnes uz 2h.
Nicmene, je tu ten google. Clovece nezlob se je pomerne proflaknuta hra a kod
se bude dat najit googlem v mnoha jazycich. Jiny nazev je treba Ludo. V
html/javascriptu to muzes najit treba zde (soubor - ulozit jako... a mas cely
programovay kod, jen to umet prepsat do pythonu ):
https://mlich.zam.slu.cz/…/clovece.htm
Fiha, koukam, ze to je spesl zadani. To, hodne stesti Zkus spoluzaky. Tohle se v podstate
bude muset delat cele od zacatku a promyslet. Domecek a pole pred domeckem nesmi
byt otravene ani starto pole, protoze otravou se na ne vracis. At...
Zkus kliknout na tlacitko editoru tady </>
a zkopirovat
sem kod. Obrazek neni mozne spustit na mem pc.
https://docs.python.org/…/random.html
N = random.randint(a, b)
# a zeptas se IFem, zda je mensi nez 6, ne?
Sak, v te v javascriptu delam neco podobne. Pokud nema hrac zadnou figurku mimo domecek, a ma alespon 1 nenasazenou, tak muze hazet 3x, dokud nehodi 6. Jinak muze hazet jen jednou a hrat figurkou nebo stat, podle situace. Lepsi by bylo, na jeden klik, hodit hnedka vsemi kostkami a hracovi zobrazit 1 kostku nebo 3. V tomhle to mam blbe, ze hrac musi opakovane klikat, kdyz nema nic nasazene.
from random import randint
kostka = randint(1,6)
if kostka == 6:
for j in range(kostka != 6):
print(kostka, kostka)
n = 50
x = n +2
fig = "#"
tries = 1
print("Turn:",tries, '\t' "Throws:", kostka)
i = ("." * x)
forr_i = ""
l_p = 0
while l_p < len(i):
if l_p % 10 == 0 and l_p != 0:
forr_i += "P"
forr_i += i[l_p]
l_p += 1
print(forr_i)
start = 0
end = x
print("Game finished in turn", tries)
// Forrest Gump Simulator
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define GUMP 'P'
#define NONE '.'
#define SHIT '#'
#define NEWLINE '\n'
#define SPACE ' '
#define LIMIT 100
#define START_POS 1
void draw_info(unsigned turns, unsigned throws);
void game_simul(unsigned len);
void draw_board(unsigned len, unsigned forr_pos, unsigned shit_pos);
void draw_nums(unsigned len);
unsigned dice_roll(unsigned max);
int main(void) {
srand((unsigned)time(NULL));
puts("Jmenujes se Forrest Gump. Investice do firmy s ovocem Ti bohuzel nevysla.");
puts("A tak si se rozhodl, ze uspejes tim ze prebehnes napric celou Alabamu.\n");
puts("Priprav se, jdeme na to.\n");
game_simul(80);
return 0;
}
void game_simul(unsigned len) {
unsigned forr_pos = START_POS;
unsigned shit_pos = 10;
unsigned throws = 0;
unsigned turns = 0;
while(turns <= LIMIT) {
draw_info(turns, throws);
draw_board(len, forr_pos, shit_pos);
draw_nums(len);
putchar(NEWLINE);
if (forr_pos == len) break;
throws = dice_roll(6);
if (forr_pos + throws <= len) {
forr_pos += throws;
if (((forr_pos % shit_pos) == 0) && (forr_pos != len)) {
puts("Jee, prave si slapnul do desivyho hovna. Vracis se na start pro nove Najky.\n");
forr_pos = START_POS;
}
}
turns++;
}
if (forr_pos == len) {
puts("Gratuluji Forreste, podarilo se Ti prebehnou napric celou Alabamu.");
puts("Libas sve bezecke Najky a odhazujes do rvouciho davu sve upocene tricko.");
puts("V cili Te s nadsenim vita Buba, ktery mezitim zbohatl na obchodu s krevetami.");
puts("Zapomen na neuspesnou investici do firmy s ovocem, krevety jsou nej.\n");
}
else {
puts("Bohuzel Forreste, nepodarilo se Ti prebehnout napric celou Alabamu. To bejva.");
puts("Ale diky tobe jsme zjistili jak je cela ta cesta plna desivych hoven.");
puts("Nevzdavej se, priste se Ti to urcite podari.\n");
}
}
void draw_info(unsigned turns, unsigned throws) {
printf("Turn: %5u Throws: %5u\n", turns, throws);
}
void draw_board(unsigned len, unsigned forr_pos, unsigned shit_pos) {
for (unsigned i = 1; i <= len; i++) {
if(((i % shit_pos) == 0) && (i != len)) putchar(SHIT);
else {
if (i == forr_pos) putchar(GUMP);
else putchar(NONE);
}
}
putchar(NEWLINE);
}
void draw_nums(unsigned len) {
for (unsigned i = 1; i <= len; i++) {
if ((i % 2) == 0) printf("%u", i % 10);
else putchar(SPACE);
}
putchar(NEWLINE);
}
unsigned dice_roll(unsigned max) {
unsigned throw, sum = 0;
do {
throw = (rand() % max) + 1;
sum += throw;
if (throw != max) break;
} while (sum < LIMIT);
return sum;
}
Zobrazeno 13 zpráv z 13.