Kezdőoldal » Számítástechnika » Programozás » Scratch projekt ötletek?

Scratch projekt ötletek?

Figyelt kérdés
Mit készítsek scratchban? :D

2016. márc. 19. 17:11
1 2
 1/11 anonim ***** válasza:
Aknakeresőt.
2016. márc. 19. 17:35
Hasznos számodra ez a válasz?
 2/11 A kérdező kommentje:

Még igen az elején vagyok szóval lehet nehéz lesz :D főleg random berakni az aknákat

De Köszi! Én csak 2d-s autós játékra meg kétszemélyes pongra tudtam gondolni :D

2016. márc. 19. 17:38
 3/11 anonim ***** válasza:

Aknák random elhelyezése:


1. Tedd be az összes mezőt egy halmazba (a pályáról nyilván ne távolítsd el)!

2. Ismételd az alábbiakat annyiszor, ahány akna van:

3. Válassz ki a halmazból egy véletlenszerű mezőt! (Generálj egy véletlen számot: 0 <= n < halmaz aktuális mérete)

4. Helyezd el benne az aknát

5. Távolítsd el a foglalt mezőt a halmazból, így mégegyszer már nem kerülhet kiválasztásra


Kész.

Halmaz helyett jobb híján lista/tömb is megteszi.


Pszeudokód:


halmaz szabad_mezők;

csináld x = 0-tól (pálya_szélesség - 1)-ig {

˙˙˙˙csináld y = 0-tól (pálya_magasság - 1)-ig {

˙˙˙˙˙˙˙˙halmazhoz_hozzáad(szabad_mezők, pálya[x, y])

˙˙˙˙}

}


ismételd aknák_száma alkalommal {

˙˙˙˙egész_szám kiválasztott = véletlen_tól_ig(0, méret(halmaz));

˙˙˙˙aknát_hozzáad(halmaz[kiválasztott]);

˙˙˙˙halmazból_eltávolít(kiválasztott);

}


Egy másik lehetőség ugyanerre (csak egyszer megy végig a mezőkön):


1. Ismételd az alábbiakat annyiszor, ahány mező van:

2. Válassz egy véletlen számot 0 és a mezők száma közt!

3. Ha ez a szám nagyobb, mint a hátralevő mezők számának fele, add hozzá az aknát


Ezzel elméletileg egyenlő eséllyel osztasz el tetszőleges számú aknát tetszőleges számú mező közt.


Scratchben valószínűleg szívás azért...

2016. márc. 19. 18:35
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
Bocsánat, elírtam, a második megoldás második lépésénél 0 és a hátralevő mezők száma közti véletlen szám kell.
2016. márc. 19. 18:37
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

Köszi:)

Majd próbálkozom vele. Véletlen számot lehet generálni, változót is lehet készíteni, műveletek is vannak. Csak a megrajzolt mezők halmazban lévő eltárolása lesz nehéz

2016. márc. 19. 18:51
 6/11 anonim ***** válasza:

Megvan erre a megfelelő megoldás, de sajnos a Scratch homlokegyenest ellene megy a megfelelő praktikáknak.


Külön kellene választani a megjelenítést az adattól, amivel dolgozol, de ez itt nem olyan egyszerű, mint egy rendes nyelvben, mert szűkös az eszközkészlet és sok dolog nyakatekert.


Bizonyára megoldható valahogyan (szereplővel, vagy listával), de kicsit kevés a hely ezt itt elmagyarázni.


A pályának talán egy többdimenziós listának kellene lennie (listák a listában). Ebben tartod X és Y koordináták szerint a mezőidet.

A mező lehet - jó rondán - megint egy lista:

- Lefedett avagy feltárt mezőről van-e szó

- Milyen jelölő van rajta (semmi, zászló, kérdőjel)

- Tartalmaz-e aknát


Fontos, hogy itt ne képekben, grafikában gondolkozz, ez csak az adat!


A kirajzolás egy másik kérdéskör: Végigmész a pályán (a listában szereplő összes listán), majd az aktuális mező tulajdonságainak megfelelően kirajzolod a grafikát. Ez nem maga a mező, csupán a képernyőn jelképezi azt!


Klikkelésnél kiszámolod, hogy a koordináták a pályán melyik mezőhöz tartoznak, és megvizsgálod a tulajdonságait, ami alapján döntesz, hogy mi történik.


Stbstb., a Scratch sajnos tényleg nem a legcélszerűbb eszköz :)

2016. márc. 19. 19:28
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

Tessék - aknakereső Scratchben:

[link]

2016. márc. 19. 19:41
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
#7: Szép találat! Ellenben, ha megnézed közelebbről, ez pont a rossz megoldás az aknák elhelyezésére (valószínűleg hozzá is tesz a jelzett loading-problémákhoz; technikailag előfordulhat, hogy soha nem fejezi be az inicializálást). Az viszont itt is látható, hogy a megjelenítés külön van kezelve maguktól az adatoktól. Kicsit bugzik btw. :)
2016. márc. 19. 20:38
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
De jól példázza, hogy a feladat nem megoldhatatlan.
2016. márc. 19. 21:39
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:
Ez így igaz. Valószínűleg az összes "alap" projektre - mint pl. ez az aknakereső, vagy épp tetris, pacman, whatever - van példa.
2016. márc. 19. 21:48
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!