• 1
  • 2
2007-01-25, 19:33
  #13
Medlem
Citat:
Ursprungligen postat av äppelkaka
What? Du menar för att representera ett kort?

6 bitar binärt = ett intervall på 0-63

it's elementary my dear Watson.....
Citera
2007-01-25, 19:58
  #14
Medlem
Marulks avatar
kanske tänker fel nu, men man kan väl numrera dem rakt av 1-52... sedan har man en function som fungerar så här nåt


X=Talet(1-52)
Farg=heltal som anger färg(0-3)
Kort=Heltal som anger kort (0-12)

Farg=X\13
Kort= X- (Farg*13)

Sedan returnerar den färg och kort
Citera
2007-01-25, 20:37
  #15
Medlem
StefanHeterJags avatar
Här kan du hämta inspiration, exemplet är för pocket-pc, men jag har lärt mig att man lär sig mycket genom att titta på andras exempel även om det inte råkar vara exakt det man själv vill göra:
http://msdn2.microsoft.com/en-us/library/aa446554.aspx

Titta även på Card Game Starter Kit för vb2005, är ganska lätt att porta till C#, finns till och med siter där man klistar in vbkod och får det i C# och tvärtom.

http://msdn2.microsoft.com/en-us/vbasic/ms789080.aspx
Citera
2007-01-25, 20:43
  #16
Medlem
StefanHeterJags avatar
Den som letar den finner..
Här är Visual C# 2005 Starter Kits, där ligger även Card Game Starter Kit
http://msdn2.microsoft.com/en-us/vcsharp/aa336742.aspx

däri finns klasser för hand, deck, card, player osv osv osv..

Happy coding!
Citera
2007-01-25, 20:45
  #17
Medlem
Citat:
Ursprungligen postat av äppelkaka
What? Du menar för att representera ett kort?

Hehe, ja ett kort menade jag naturligtvis.
Citera
2007-01-26, 09:15
  #18
Medlem
äppelkakas avatar
Citat:
Ursprungligen postat av @moSphere
6 bitar binärt = ett intervall på 0-63

it's elementary my dear Watson.....
Ok, jag som trodde vi snackade korlekar med 52 kort i. För att representera en sådan kortlek krävs ett intervall på 52! om jag inte tänker fel, dvs ungefär 0 - 8.06581752 × 10^67

Men du menade förstås någon avancerad sorts korlek som jag inte förstår mig på...
Citera
2007-01-26, 11:01
  #19
Medlem
Citat:
Ursprungligen postat av äppelkaka
Ok, jag som trodde vi snackade korlekar med 52 kort i. För att representera en sådan kortlek krävs ett intervall på 52! om jag inte tänker fel, dvs ungefär 0 - 8.06581752 × 10^67

Men du menade förstås någon avancerad sorts korlek som jag inte förstår mig på...
.....tror nog du tänker fel. Ett intervall 0-63 = 64 UNIKA poster, alltså gott och väl tillräckligt för att representera en kortlek på 52 kort. Man kan tom representera 12 jokrar....

Med ditt intervall så kan man nog koda för flertalet av världens kortlekar

Säker på att det är äppelkaka och inte haschkaka du borde heta
(inget ont om haschkakor, det slinker ner ett par i månaden )
Citera
2007-01-26, 11:22
  #20
Medlem
äppelkakas avatar
Citat:
Ursprungligen postat av @moSphere
.....tror nog du tänker fel. Ett intervall 0-63 = 64 UNIKA poster, alltså gott och väl tillräckligt för att representera en kortlek på 52 kort. Man kan tom representera 12 jokrar....
En datastruktur som representerar en kortlek måste minst ha lika många tillstånd som en kortlek kan existera i.
En kortlek kan existera i 52! (52 fakultet) olika tillstånd.
52! är 8.06581752 × 10^67.
Citera
2007-01-26, 12:58
  #21
Medlem
Citat:
Ursprungligen postat av äppelkaka
En datastruktur som representerar en kortlek måste minst ha lika många tillstånd som en kortlek kan existera i.
En kortlek kan existera i 52! (52 fakultet) olika tillstånd.
52! är 8.06581752 × 10^67.

^^ är ju inte helt korrekt....rent tekniskt försvinner ju ett par miljoner kombinationer med tanke på att tex R10-S3-H8 = H8-S3-R10 = S3-R10-H8 osv osv....kommer inte ihåg formeln men kan gräva fram Beta när jag kommer hem, kombinatoriken är inte helt färsk i minnet direkt

Sen var ju faktiskt inte frågan i vilka tillstånd en kortlek kan hamna i utan hur man representerar den så att det går att värdera jämförelsen av individuella kort! Datastrukturen som representerar kortspelet behöver ha alla tillstånd, men inte datastrukturen som representerar kortleken. Tror att det är där vi går om varandra

Sen kan det visserligen vara så att det kommer att bli 6x52 bitar som kommer representera kortlekens tillstånd (inte helt korrekt dock då ett kort är "taget" så blir det bara 51 kort kvar i leken osv), men faktum kvarstår att det räcker med 6 bitar för att representera korten i en kortlek.
Citera
2007-01-26, 13:39
  #22
Medlem
äppelkakas avatar
För det första, vi talar om att representera en kortlek, inte ett specifikt kort.
En kortlek är 52 stycken unika kort som ligger på varandra i en hög.

Citat:
Ursprungligen postat av @moSphere
^^ är ju inte helt korrekt....rent tekniskt försvinner ju ett par miljoner kombinationer med tanke på att tex R10-S3-H8 = H8-S3-R10 = S3-R10-H8 osv osv....kommer inte ihåg formeln men kan gräva fram Beta när jag kommer hem, kombinatoriken är inte helt färsk i minnet direkt
Nej, ingenting försvinner, vi talar om permutationer, inte kombinationer.

Citat:
Sen var ju faktiskt inte frågan i vilka tillstånd en kortlek kan hamna i utan hur man representerar den så att det går att värdera jämförelsen av individuella kort! Datastrukturen som representerar kortspelet behöver ha alla tillstånd, men inte datastrukturen som representerar kortleken. Tror att det är där vi går om varandra
Jag talar fortfarande bara om att representera en kortlek. (52 unika kort i en hög).
Citat:
Sen kan det visserligen vara så att det kommer att bli 6x52 bitar som kommer representera kortlekens tillstånd (inte helt korrekt dock då ett kort är "taget" så blir det bara 51 kort kvar i leken osv), men faktum kvarstår att det räcker med 6 bitar för att representera korten i en kortlek.
Sex bitar för att representera ett kort, ja.



EDIT: Du kanske menar någonting helt annat med att "representera en kortlek"?
Citera
2007-01-26, 19:19
  #23
Medlem
Citat:
Ursprungligen postat av äppelkaka
För det första, vi talar om att representera en kortlek, inte ett specifikt kort.
En kortlek är 52 stycken unika kort som ligger på varandra i en hög.

Nej, ingenting försvinner, vi talar om permutationer, inte kombinationer.

Jag talar fortfarande bara om att representera en kortlek. (52 unika kort i en hög).
Sex bitar för att representera ett kort, ja.



EDIT: Du kanske menar någonting helt annat med att "representera en kortlek"?

Ok, ok, jag erkänner att jag hade fel, det behövs 6 bitar för att beskriva ett kort i en kortlek. Men samtidigt står jag för att det inte handlar om permutationer utan kombinationer då vi snackar om ett kortspel. Det spelar ju ingen roll vilken inbördes ordning korten på handen har, utan att du har korten på handen! abc=bac=cab=acb= bca=cba eller hur!
Alltså: n!/((n-k)!*k!) där k är antalet kort på handen, kallas för övrigt binomialformeln (fast det visste du nog ).
Givetvis hade det ju varit permutationer om vi tex. hade snackat om 7 rätt på V75 eller nåt annat, men inte när vi snackar denna form av kortspel!

Anyways....tror nog redan att ollonborre har fixat det men here goes (mest för egen skull...)

ETT kort representeras av 6 bitar, därigenom kan du således beskriva en möjlig hand med en Int[] (eller gör helt enkelt en egen klass där 0="R2", 1="R3" and so on).
Vet inte om färgerna är olika värda i Gin eller inte, men om de är det så blir regeln att lägst värderade kulör får intervallet 0-12, nästa 13-25 osv.
Sen får du göra regler för vad som konstituerar en viss hand med värde (par-triss....).
Och till sist får du stipulera regler för värdering av de olika händerna, högt kort<par<triss osv.

Borde funkar eller? Får nog ta lite kaka och suga på den borren en stund
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in