Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-18 13:30:51 - Urban Olsson, i forum c++, Tråden har 7 Kommentarer och lästs av 1165 personer

Hej på er alla.
Undrar om någon vet hur jag ska gå till väga.

Har 78 kort ( jpg format/bilder)
Ska slumpa fram 14 kort av dessa 78.
Samma kort får inte komma upp 2 gånger.
25 kort av dessa kan även ligga upp och ner.
(possitiv=rättvänt kort, negativ=felvänt kort)
Som ni förstår så är detta ingen vanlig kortlek. (en slags spå-kortlek)
Om det skulle underlätta när jag skriver programmet så kan jag kopiera de 25 korten
och spara dessa upp och ner. Då skullle det bli 78+25 kort.
Men det gäller samma här, bara ett kort av varje får komma upp.
Oavsett om det är possitivt eller negativt kort som kommer upp.
Någon som kan hjälpa mig....

Mvh

Urban Olsson



Svara

Sv: Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-18 19:57:14 - Niklas Jansson

Ett annat sätt är att plocka ett av n där n går från max till max-14 ur en lista, kan bli lite mer effektivt.

Angående korten upp och ner:
Hur lagrar du korten nu?

Det enklaste är att helt enkelt ha en bool i klassen eller strukten som står för "är kortet uppåt?"


Svara

Sv:Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-19 11:41:29 - Urban Olsson

Hejsan

Det jag menar med att 25 kort kan vara upp och nervända är följande.
Av dessa 78 kort så kan 25 även ligga upp och ner.
(det betyder något annat då, i spå termer)
53 kort kan inte ligga mer än på de vanliga sättet, men de övriga 25 kan
ligga på 2 sätt. De jag kallar för possetiva/negativa kort.
(Dessa 25 kort ser ut som alla de andra kort, fast de ligger bara upp och ner.)
De 78 kort jag har nu är lagrat på det vanliga sättet.
Men jag reder inte riktigt ut hur jag ska koda mig igenom detta.

/Urban


Svara

Sv: Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-19 13:49:06 - Niklas Jansson

<b>>De jag kallar för possetiva/negativa kort.</b>
Jag skulle kallat dem positiva/negativa. =)

<b>>De 78 kort jag har nu är lagrat på det vanliga sättet.
Men jag reder inte riktigt ut hur jag ska koda mig igenom detta.</b>
Jo, men vad är "lagrat på det vanliga sättet"?
Det vanligaste sättet jag kan tänka mig är en vector av en klass du har skrivit själv. Då säger jag: lägg till en "bool positive" till den klassen.

Eller ligger det som strängar i en vector? Gör då om det till std::pair<std::string, bool> eller skriv en egen klass eller struct.
Eller i värsta fall; använd ytterligare en vector för att beskriva om de är upp eller ner.


Svara

Sv: Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-19 15:03:07 - Pontus Wång

Till att börja med bör du hålla alla kort i en vector och vill du då plocka fram ett eller flera kort bör du blanda korten vectorn, det kan man göra genom att välja ett slumpvist valt kort och ta bort det ur vektorn för att sedan lägga till det som sista enhet i vectorn, gör man det ca: 140ggr så kan du betrakta korten som blandade. Sedan plockar du bara ut de 14 översta korten så har du löst det problemet.

Om du medan du blandar även vill slumpa fram vridningen på korten (positiv / negativ) så kan du innan du stoppar in kortet i vectorn slumpa vridningen för att sedan återinföra kortet.

Ett simpelt kodexempel, som kanske inte är helt korrekt men ger en tydlig bild över hur jag menar:
struct card
{
public int value;
public bool negative;
public bool can_be_negative;
}

class deck
{
private:
vector <card> cards;
public:
deck()
{
for (int i = 0; i < 78; i++)
{
card c;
if (i < 25)
c.can_be_negative = true;
else
c.can_be_negative = false;
cards.push_back(c);
}
};

shuffle()
{
for (int i = 0; i < cards.size() * 3; i++)
{
int r = get_random_number_between(0, cards.size()-1);
card c = cards.at(r);
if (c.can_be_negative)
c.negative = get_random_bool_value();
cards.remove(c);
cards.push_back(c);
}
}
};


Svara

Sv:Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-19 15:18:26 - Niklas Jansson

Det finns betydligt bättre sätt att blanda kortleken, för att inte tala om de inbyggda.


Svara

Sv:Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-19 15:44:42 - Urban Olsson

Kanon killar

Då har jag lita att labba med.

Tack ska ni ha

/Urban


Svara

Sv: Slumpa fram 14 kort av 78 möjliga

Postades av 2006-07-20 00:11:02 - Pontus Wång

Viist finns det bättre sätt men det där var det jag kom på på en gång...


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
501
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies