Tai rekisteröidy jo tänään!
GameDev Suomi Pelinkehitys Valmiit pelit
Lottokone [Android] -lottoamissimulaattori
Sivuja: [1]

Lottokone [Android] -lottoamissimulaattori

0 jäsentä ja 1 Vieras katselee tätä aihetta.
Aloitusviesti: 17. Syyskuu 2016, 15:54Peukku ylös +0Peukku alas -0
Tein tälläsen Lotto-simulaattorin ajankuluksi, kun tykkään itsekin lottoilla ja tälläisiä tilastoja kaipaisin oikeeseenkin Lottoon.

Eli Lottokoneessa pelaat ilman oikeaa rahaa ja voit tilastoista katsella helposti, paljonko olet pelannut, paljonko mitäkin voittoja tullut yms.

Peli on vasta alkuvaiheissa ja pientä viilausta tarvii varmasti ja virheitä on mitä todennäköisemmin.
Palaute olisi toivottavaa, mitä voisi vielä parantaa yms :)

Koko noin 12 mb.
Latauslinkki:https://play.google.com/store/apps/details?id=com.jessesopanen.lottokone





Tykkään
#1: 17. Syyskuu 2016, 17:54Peukku ylös +0Peukku alas -0
Ihan hauska idea.

Muutama bugi ja ehdotus:
- sama numero voi tulla useamman kerran. (Eli voittorivi voi olla vaikka 1,2,2,2,5,8,5)
-Joku pelaa 10 peliä nappi voisi olla kiva lisä.
- ehkä turha ominaisuus, mutta olisi kiva nähdä joku eniten ja vähiten esiintynyt numero.

Muutoin ihan kiva naksutella ja testailla. Ulkoasulle voisi tietysti jotain tehdä.
Tykkään
NInjan matkimista


Spoiler






:carrot2:
#2: 17. Syyskuu 2016, 18:27Peukku ylös +0Peukku alas -0
Ihan hauska idea.

Muutama bugi ja ehdotus:
- sama numero voi tulla useamman kerran. (Eli voittorivi voi olla vaikka 1,2,2,2,5,8,5)
-Joku pelaa 10 peliä nappi voisi olla kiva lisä.
- ehkä turha ominaisuus, mutta olisi kiva nähdä joku eniten ja vähiten esiintynyt numero.

Muutoin ihan kiva naksutella ja testailla. Ulkoasulle voisi tietysti jotain tehdä.

Kiitos palautteesta.
Voi ei, vieläkö niitä samoja numeroita tulee. Luulin että sain sen korjattua jo :(

Mites mä saisin sen korjattua?
Mulla on nyt, kun painaa "pelaa" -nappia:

global.arvottu_1 = irandom(38)+1
global.arvottu_2 = irandom(38)+1
global.arvottu_3 = irandom(38)+1
global.arvottu_4 = irandom(38)+1
global.arvottu_5 = irandom(38)+1
global.arvottu_6 = irandom(38)+1
global.arvottu_7 = irandom(38)+1
global.arvottu_lisa_1 = irandom(38)+1
global.arvottu_lisa_2 = irandom(38)+1
global.arvottu_tuplaus = irandom(38)+1

while global.arvottu_1 = global.arvottu_2        global.arvottu_1 = irandom(38)+1 
while global.arvottu_1 = global.arvottu_3        global.arvottu_1 = irandom(38)+1
while global.arvottu_1 = global.arvottu_4        global.arvottu_1 = irandom(38)+1
while global.arvottu_1 = global.arvottu_5        global.arvottu_1 = irandom(38)+1
while global.arvottu_1 = global.arvottu_6        global.arvottu_1 = irandom(38)+1
while global.arvottu_1 = global.arvottu_7        global.arvottu_1 = irandom(38)+1
while global.arvottu_1 = global.arvottu_lisa_1 global.arvottu_1 = irandom(38)+1
while global.arvottu_1 = global.arvottu_lisa_2 global.arvottu_1 = irandom(38)+1


jne..
Tykkään
#3: 18. Syyskuu 2016, 01:34 (muokannut Murzy 18. Syyskuu 2016, 01:47)Peukku ylös +0Peukku alas -0
Eihän tuo nykyinen koodi pidä millään tapaa huolta siitä ettei samat numerot toistu :| Suosittelen perehtymään tuohon while ehtolausekkeen toimintaan vähän tarkemmin.

Yleensä en tähän tapaan tee valmista koodia, mutta tässä nyt pienet pätkät mistä pääset hieman kärylle siitä miten homman voisi esimerkiksi hoitaa:

Tee ensin skripti mikä arpoo numeroita, niin toiston määrä koodissa vähenee, ja jos vaikka haluaisi tehdä jatkossa vastaavan systeemin vaikka Kenolle, niin ei tarvitse tuota numeroiden määrää muuttaa miljoonaan eri paikkaan. Samalla tehdään myös tarkistus jo arvottujen numeroiden välttämiseksi:
///arvoNumero(ds_list - nykyiset numerot)

// Annetaan skriptille lista jo arvotuista numeroista
var arvotutNumerot = argument0;

var uusiNumero;

do {
   // Arvo uusi numero,
   // "do" -rakenteen takia tätä toistetaan kunnes "until" ehto täyttyy
   uusiNumero = irandom_range(1, 39);
} until ( ds_list_find_index(arvotutNumerot, uusiNumero) == -1 ); // Lopetusehto, ds_list_find_index palauttaa -1 jos numeroa ei ollut listassa entuudestaan

// Talletetaan numero listaan, että tiedetään olla arpomatta samaa numeroa jatkossa uudestaan
ds_list_add(arvotutNumerot, uusiNumero);

return uusiNumero; // Palautetaan arvottu numero


Sitten vaan käytetään skriptiä numeroiden arpomiseen ja talletetaan tulokset.
var arvotutNumerot = ds_list_create(); // Luodaan listatietorakenne numeroiden talletukseen ja käsittelyyn

// Arvotaan seitsemän päänumeroa
for(var i = 0; i < 7; i++) {
   global.arvottu[ i ] = arvoNumero(arvotutNumerot);
}

// Lisänumerot ja tuplausnumero
global.lisaNumero[1] = arvoNumero(arvotutNumerot);
global.lisaNumero[2] = arvoNumero(arvotutNumerot);

global.tuplausNumero = arvoNumero(arvotutNumerot);

ds_list_destroy(arvotutNumerot); // Vapautetaan luotu lista muistista, kun arvonta on valmis


Arvontatulosten säilyttely globaaleissa muuttujissa ei ole ehkä myöskään paras mahdollinen tapa hoitaa homma, mutta ehkä tämänkokoisessa projektissa tälläinen ratkaisu saattaa toimia mutkitta.
Tykkään
#4: 18. Syyskuu 2016, 03:16 (muokannut Mercedes 18. Syyskuu 2016, 07:27)Peukku ylös +0Peukku alas -0
Tämä toimi myös android-tabletin kanssa. Minulla oli sellainen ongelma, että kun menin katsomaan mainoksia se kyllä avasi mainoksen mutta siitä ei päässyt pois. Jouduin pakottamaan lopetuksen asetusten kautta. Vielä jäin kaipaamaan järjestelmä-, ja harava  pelaamista. Lisäksi loton säännöt uudistuvat ensi kuussa ja tulee kuulemma uusi numero arvottavaksi, en kyllä tiedä miten koska veikkaus ei anna enempää tietoja siitä. Ja oikeasti lotossa ei voita 3+1 ja 3+2 voittoluokilla mitään, viking lotossa kyllä mutta siinä taas arvotaan vain kuusi numeroa.


Ja Murzy, jos käsitin oikein tuossa sinun koodissa tuplausnumero arvotaan samalla lailla kuin muut numerot, tämä ei käy koska tuplattu numero voi olla sama kuin aikaisemmin arvottu numero joten se pitää arpoa käskyllä tuplausNumero=irandom_range(1,39) ,ei siis arvoNumeroa käyttäen.
Tykkään
#5: 18. Syyskuu 2016, 10:12Peukku ylös +0Peukku alas -0
Se on joka tapauksessa turhan tehoton tapa, että arvotaan numeroita niin kauan kunnes ei tule samoja. Mieluummin:

// laitetaan kaikki mahdolliset numerot listaan
var mahdollisetNumerot = ds_list_create();
for (var i = 1; i <= 39; i++) {
    ds_list_add(mahdollisetNumerot, i);
}

// sekoitetaan lista
ds_list_shuffle(mahdollisetNumerot);

// ja sitten napataan 7+3 numeroa sieltä
global.arvottu_1 = ds_list_find_index(mahdollisetNumerot, 0);
global.arvottu_2 = ds_list_find_index(mahdollisetNumerot, 1);
global.arvottu_3 = ds_list_find_index(mahdollisetNumerot, 2);
global.arvottu_4 = ds_list_find_index(mahdollisetNumerot, 3);
global.arvottu_5 = ds_list_find_index(mahdollisetNumerot, 4);
global.arvottu_6 = ds_list_find_index(mahdollisetNumerot, 5);
global.arvottu_7 = ds_list_find_index(mahdollisetNumerot, 6);
global.arvottu_lisa_1 = ds_list_find_index(mahdollisetNumerot, 7);
global.arvottu_lisa_2 = ds_list_find_index(mahdollisetNumerot, 8);
global.arvottu_tuplaus = ds_list_find_index(mahdollisetNumerot, 9);

ds_list_destroy(mahdollisetNumerot);
5x
Tykkään
Spoiler
#6: 18. Syyskuu 2016, 13:47Peukku ylös +0Peukku alas -0
Ja Murzy, jos käsitin oikein tuossa sinun koodissa tuplausnumero arvotaan samalla lailla kuin muut numerot, tämä ei käy koska tuplattu numero voi olla sama kuin aikaisemmin arvottu numero joten se pitää arpoa käskyllä tuplausNumero=irandom_range(1,39) ,ei siis arvoNumeroa käyttäen.

Ah, totta. Tämä menee tietämättömyyden piikkiin, kun en tälläisiä Lottolisäveroja normaalisti pelaa :D

Se on joka tapauksessa turhan tehoton tapa, että arvotaan numeroita niin kauan kunnes ei tule samoja. Mieluummin:

Ainiin, ds_listeillehän löytyy tälläinen valmis sekotuskomentokin. Tosiaan varmaan elegantimpi tapa hoitaa homma kotiin sen avulla.

Näiden vinkkien lisäksi muista myös kutsua pelin alussa jossain vaiheessa
randomize();
-komentoa, jolloin kaikki satunnaisfunktiot eivät palauta pelin käynnistyttyä aina samoja arvoja.
Tykkään
#7: 19. Syyskuu 2016, 12:45Peukku ylös +0Peukku alas -0
Suurkiitokset! Sain nyt vihdoinkin tuon ongelman korjattua ds_listillä :)
Tykkään
#8: 19. Syyskuu 2016, 16:40Peukku ylös +0Peukku alas -0
Tämä toimi myös android-tabletin kanssa. Minulla oli sellainen ongelma, että kun menin katsomaan mainoksia se kyllä avasi mainoksen mutta siitä ei päässyt pois. Jouduin pakottamaan lopetuksen asetusten kautta. Vielä jäin kaipaamaan järjestelmä-, ja harava  pelaamista. Lisäksi loton säännöt uudistuvat ensi kuussa ja tulee kuulemma uusi numero arvottavaksi, en kyllä tiedä miten koska veikkaus ei anna enempää tietoja siitä. Ja oikeasti lotossa ei voita 3+1 ja 3+2 voittoluokilla mitään, viking lotossa kyllä mutta siinä taas arvotaan vain kuusi numeroa.


Ja Murzy, jos käsitin oikein tuossa sinun koodissa tuplausnumero arvotaan samalla lailla kuin muut numerot, tämä ei käy koska tuplattu numero voi olla sama kuin aikaisemmin arvottu numero joten se pitää arpoa käskyllä tuplausNumero=irandom_range(1,39) ,ei siis arvoNumeroa käyttäen.

Mikähän siinä mainoksessa on vikana. En ole kokeillut tabletilla, mutta ainakin tuo testimainos toimii hyvin puhelimella.
Kiitos tuosta, niin korjasin voittoluokat nyt. Muistelin, että Lotossa oli noita Plus-voittoluokkia ainakin joskus.

Nyt pitäisi olla kaikki korjattu. Saas nähdä saanko uuden version Google Playhin, kun Game Makeriin ei ole vissiin korjattu sitä LibPNG-ongelmaa vielä.
Tykkään
#9: 25. Syyskuu 2016, 13:28Peukku ylös +0Peukku alas -0
Hyvältä vaikutti, ainoa mikä hämäsi hieman oli tuo tuplaus (rasti ruudussa), oletin että se oli valittuna.. not :)

Pnglib on tosiaan korjattu eli kun päivität hässäkät ja buildaat uudestaan niin se kolmio katoaa google play consolesta vähän ajan kuluttua apk lähettämisestä.

IAP näytti olevan myös päällä tuossa (billing permission), jos ei tarvetta käyttää missään vaiheessa niin kannattaa napata se pois. Tulee oletuksena google play services extensioniin (extensionin android välilehti).
Tykkään
#10: 30. Syyskuu 2016, 11:44Peukku ylös +0Peukku alas -0
Sain mainokset toimimaan, se oli kai minussa vika etten saanut niitä toimimaan ennen. Pelaan siis tabletilla.


Se minkä huomasin oli se että jos voittaa 4+1 oikein, niin ohjelma ei osaa laskea niitä voittoluokkaan 4 oikein niinkuin pitäisi, 4+1 voittoluokkaa ei ole olemassakaan, se lasketaan voitoksi 4 oikein. Muuten ohjelma toimii hyvin.
Tykkään

Sivuja: [1]
GameDev Suomi Pelinkehitys Valmiit pelit
Lottokone [Android] -lottoamissimulaattori
 

Powered by SMF 2.0.11 | SMF © 2006–2009, Simple Machines LLC