System.register(["@angular/core","@angular/material/core","@angular/cdk/coercion","@angular/common","rxjs","rxjs/operators","@angular/common/http","@angular/platform-browser"],(function(t){"use strict";var e,n,o,i,s,r,a,c,l,h,u,g,f,m,d,_,p,v,I,S,C,E,F,w,R;return{setters:[function(t){e=t.SecurityContext,n=t,t.Injectable,o=t.Optional,t.Inject,i=t.SkipSelf,s=t.ErrorHandler,r=t.InjectionToken,a=t.inject,t.Component,t.ViewEncapsulation,t.ChangeDetectionStrategy,t.Attribute,t.Input,t.NgModule},function(t){c=t.mixinColor,l=t.MatCommonModule},function(t){h=t.coerceBooleanProperty},function(t){u=t.DOCUMENT},function(t){g=t.of,f=t.throwError,m=t.forkJoin,d=t.Subscription},function(t){_=t.tap,p=t.map,v=t.catchError,I=t.finalize,S=t.share,C=t.take},function(t){E=t,F=t.HttpClient},function(t){w=t,R=t.DomSanitizer}],execute:function(){t({ICON_REGISTRY_PROVIDER_FACTORY:L,MAT_ICON_LOCATION_FACTORY:D,getMatIconFailedToSanitizeLiteralError:b,getMatIconFailedToSanitizeUrlError:x,getMatIconNameNotFoundError:y,getMatIconNoHttpProviderError:A});const N=["*"];function y(t){return Error(`Unable to find icon with the name "${t}"`)}function A(){return Error("Could not find HttpClient provider for use with Angular Material icons. Please include the HttpClientModule from @angular/common/http in your app imports.")}function x(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function b(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class T{constructor(t,e,n){this.url=t,this.svgText=e,this.options=n}}class M{constructor(t,e,n,o){this._httpClient=t,this._sanitizer=e,this._errorHandler=o,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,o){return this._addSvgIconConfig(t,e,new T(n,null,o))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,n,o,i){const s=this._sanitizer.sanitize(e.HTML,o);if(!s)throw b(o);const r=s;return this._addSvgIconConfig(t,n,new T("",r,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new T(e,null,n))}addSvgIconSetLiteralInNamespace(t,n,o){const i=this._sanitizer.sanitize(e.HTML,n);if(!i)throw b(n);const s=i;return this._addSvgIconSetConfig(t,new T("",s,o))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(...t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){const n=this._sanitizer.sanitize(e.RESOURCE_URL,t);if(!n)throw x(t);const o=this._cachedIconsByUrl.get(n);return o?g(O(o)):this._loadSvgIconFromConfig(new T(t,null)).pipe(_((t=>this._cachedIconsByUrl.set(n,t))),p((t=>O(t))))}getNamedSvgIcon(t,e=""){const n=U(e,t);let o=this._svgIconConfigs.get(n);if(o)return this._getSvgFromConfig(o);if(o=this._getIconConfigFromResolvers(e,t),o)return this._svgIconConfigs.set(n,o),this._getSvgFromConfig(o);const i=this._iconSetConfigs.get(e);return i?this._getSvgFromIconSetConfigs(t,i):f(y(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?g(O(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(p((t=>O(t))))}_getSvgFromIconSetConfigs(t,n){const o=this._extractIconWithNameFromAnySet(t,n);if(o)return g(o);const i=n.filter((t=>!t.svgText)).map((t=>this._loadSvgIconSetFromConfig(t).pipe(v((n=>{const o=`Loading icon set URL: ${this._sanitizer.sanitize(e.RESOURCE_URL,t.url)} failed: ${n.message}`;return this._errorHandler.handleError(new Error(o)),g(null)})))));return m(i).pipe(p((()=>{const e=this._extractIconWithNameFromAnySet(t,n);if(!e)throw y(t);return e})))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){const o=e[n];if(o.svgText&&o.svgText.toString().indexOf(t)>-1){const e=this._svgElementFromConfig(o),n=this._extractSvgIconFromSet(e,t,o.options);if(n)return n}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(_((e=>t.svgText=e)),p((()=>this._svgElementFromConfig(t))))}_loadSvgIconSetFromConfig(t){return t.svgText?g(null):this._fetchIcon(t).pipe(_((e=>t.svgText=e)))}_extractSvgIconFromSet(t,e,n){const o=t.querySelector(`[id="${e}"]`);if(!o)return null;const i=o.cloneNode(!0);if(i.removeAttribute("id"),"svg"===i.nodeName.toLowerCase())return this._setSvgAttributes(i,n);if("symbol"===i.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(i),n);const s=this._svgElementFromString("");return s.appendChild(i),this._setSvgAttributes(s,n)}_svgElementFromString(t){const e=this._document.createElement("DIV");e.innerHTML=t;const n=e.querySelector("svg");if(!n)throw Error(" tag not found");return n}_toSvgElement(t){const e=this._svgElementFromString(""),n=t.attributes;for(let t=0;tt)),I((()=>this._inProgressUrlFetches.delete(s))),S());return this._inProgressUrlFetches.set(s,a),a}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(U(t,e),n),this}_addSvgIconSetConfig(t,e){const n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){const e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let o=0;oe?e.pathname+e.search:""}}const k=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],H=k.map((t=>`[${t}]`)).join(", "),$=/^url\(['"]?#(.*?)['"]?\)$/;class W extends j{get inline(){return this._inline}set inline(t){this._inline=h(t)}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){const e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){const e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}constructor(t,e,n,o,i,s){super(t),this._iconRegistry=e,this._location=o,this._errorHandler=i,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=d.EMPTY,s&&(s.color&&(this.color=this.defaultColor=s.color),s.fontSet&&(this.fontSet=s.fontSet)),n||t.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(t){if(!t)return["",""];const e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const t=this._elementsWithExternalReferences;if(t&&t.size){const t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();const e=this._location.getPathname();this._previousPath=e,this._cacheChildrenWithExternalReferences(t),this._prependPathToReferences(e),this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){const t=this._elementRef.nativeElement;let e=t.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();e--;){const n=t.childNodes[e];1===n.nodeType&&"svg"!==n.nodeName.toLowerCase()||n.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const t=this._elementRef.nativeElement,e=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter((t=>t.length>0));this._previousFontSetClass.forEach((e=>t.classList.remove(e))),e.forEach((e=>t.classList.add(e))),this._previousFontSetClass=e,this.fontIcon===this._previousFontIconClass||e.includes("mat-ligature-font")||(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return"string"==typeof t?t.trim().split(" ")[0]:t}_prependPathToReferences(t){const e=this._elementsWithExternalReferences;e&&e.forEach(((e,n)=>{e.forEach((e=>{n.setAttribute(e.name,`url('${t}#${e.value}')`)}))}))}_cacheChildrenWithExternalReferences(t){const e=t.querySelectorAll(H),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let t=0;t{const i=e[t],s=i.getAttribute(o),r=s?s.match($):null;if(r){let t=n.get(i);t||(t=[],n.set(i,t)),t.push({name:o,value:r[1]})}}))}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){const[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(C(1)).subscribe((t=>this._setSvgElement(t)),(t=>{const o=`Error retrieving icon ${e}:${n}! ${t.message}`;this._errorHandler.handleError(new Error(o))}))}}static{this.\u0275fac=function(t){return new(t||W)(n.\u0275\u0275directiveInject(n.ElementRef),n.\u0275\u0275directiveInject(M),n.\u0275\u0275injectAttribute("aria-hidden"),n.\u0275\u0275directiveInject(z),n.\u0275\u0275directiveInject(n.ErrorHandler),n.\u0275\u0275directiveInject(P,8))}}static{this.\u0275cmp=n.\u0275\u0275defineComponent({type:W,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(t,e){2&t&&(n.\u0275\u0275attribute("data-mat-icon-type",e._usingFontIcon()?"font":"svg")("data-mat-icon-name",e._svgName||e.fontIcon)("data-mat-icon-namespace",e._svgNamespace||e.fontSet)("fontIcon",e._usingFontIcon()?e.fontIcon:null),n.\u0275\u0275classProp("mat-icon-inline",e.inline)("mat-icon-no-color","primary"!==e.color&&"accent"!==e.color&&"warn"!==e.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[n.\u0275\u0275InheritDefinitionFeature],ngContentSelectors:N,decls:1,vars:0,template:function(t,e){1&t&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275projection(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0})}}t("MatIcon",W);class B{static{this.\u0275fac=function(t){return new(t||B)}}static{this.\u0275mod=n.\u0275\u0275defineNgModule({type:B})}static{this.\u0275inj=n.\u0275\u0275defineInjector({imports:[l,l]})}}t("MatIconModule",B)}}})); Video Poker Pay Tables: Why Full House and Flush Rule – Gavin Mostert Attorneys

Video Poker Pay Tables: Why Full House and Flush Rule

Video poker looks like a slot machine with cards, but the maths sits in plain sight on the screen. Two numbers on the pay table, the full house and the flush, tell you almost everything about whether a machine is worth your money. Get those two right and you can ignore most of the marketing.

The two numbers that decide what a video poker machine is worth

Every video poker pay table pays the full house and the flush at fixed multiples of your bet. In Jacks or Better, the benchmark game, those two entries are written as a pair: 9/6 means nine coins for a full house and six for a flush on a five-coin bet. That single ratio drives the return to player (RTP) more than any other line on the table.

The gap is not small. A 9/6 Jacks or Better machine returns about 99.5% over the long run with correct play. The same game with a 6/5 pay table returns roughly 95%. That 4.5-point swing is larger than the RTP spread between most slot titles on any casino floor, and it happens on identical-looking machines sitting side by side.

For context, at Imperial Wins the game library passes a thousand titles and splits into slots, table games, live casino and video poker. The video poker section is where a pay table habit pays off fastest. Slots hide their return in a help screen; video poker prints it on the glass.

Why the full house and flush carry so much weight

In Jacks or Better, a full house and a flush are the two most common paying hands above the low pairs. The strategy chart tells you to chase them constantly, so you hit them often. Change their payout by a coin or two and you change the return on a huge share of your hands.

The royal flush gets the attention, but it arrives roughly once in 40,000 hands. Its payout barely moves the overall RTP for a casual player. The full house and flush arrive hundreds of times more often, and that frequency is why the 9/6 versus 6/5 distinction matters more than any jackpot headline.

Two related terms sit behind the numbers. Return to player is the long-run average, not a promise for one session. The playthrough clause on any bonus you claim changes the effective value of the game, because wagering requirements are usually calculated on total bets, not on net wins. A high-RTP game with a heavy playthrough can still be a worse deal than a lower-RTP game played with cash.

Reading a pay table without getting lost

A video poker pay table is a vertical list of hands with coin payouts beside them. Read it top to bottom once, then focus on the middle. The top rows (royal flush, straight flush, four of a kind) are the headline hands. The bottom rows (jacks or better, two pair) are the small change. The middle rows, full house and flush, are the ones that decide the machine.

Check the coin denomination before anything else. A table showing 9/6 on a five-coin max bet means nine coins per coin wagered, so a full house on a five-coin bet pays 45 coins. If the machine only pays the full ratio at maximum coins, playing fewer coins can quietly cut your return. Most machines pay the royal flush bonus only at five coins, which is why the standard advice is to play max coins or not at all on that machine.

  • Find the full house and flush rows first. Write down the pair, for example 9/6, 8/5 or 7/5. That pair is the machine’s shorthand and its reputation.
  • Confirm the max-coin rule. Check whether the royal flush pays the full 4,000-coin jackpot at five coins and whether any other row drops at lower stakes.
  • Look for the game variant. Jacks or Better, Bonus Poker and Double Double Bonus all use different tables. A 9/6 on one game is not the same return as a 9/6 on another.
  • Check the paytable help screen. It should state the return to player and the game providers behind the software. A missing RTP figure is a reason to walk away.
  • Test in practice mode. Most slots and many video poker games open in practice mode without an account, so you can read the table and play a few hundred hands before spending anything.

Pay table literacy also protects you from a common trap. Some operators advertise a generous welcome bonus and then route video poker players onto 6/5 tables, where the house edge eats the bonus before the playthrough clears. Imperial wins casino has more details on this topic. The opening package at Imperial Wins is CAD 1,000 with 150 free spins, and the sign-up form requires one short form, but the bonus terms still decide whether the offer suits a video poker player. Read the wagering contribution for video poker before you claim anything.

How to compare two machines in under a minute

Find the full house and flush rows. If the pair is 9/6, the machine is close to the best Jacks or Better available and returns about 99.5% with perfect play. If it is 8/5, the return drops to around 97.3%. If it is 7/5, expect roughly 96.1%. At 6/5 you are looking at about 95%, and at 5/4 the machine is closer to 92%.

Those figures assume optimal strategy, which is a real caveat. A player who chases straights and flushes badly can give back several percentage points of return on any table. The pay table sets the ceiling; your decisions decide how close you get to it. That is the sceptic’s point: a 9/6 table played badly is worse than a 7/5 table played well, so learn the basic strategy chart for the variant you play.

The same logic applies across the wider library. Titles such as Big Bass Splash, 3 Pots Riches: Hold and Win, 333 Jolly Fat Frogs Power Combo, Amazing Catch Power Combo, Coins of Zeus – Hold & Win, Wild West Trueways, Piggy Power: Hit the Bonus, Mighty Fish: Blue Marlin, Pink Joker: Hold and Win and Ultimate Golden Dragon Inferno – Hold & Win all publish their RTP somewhere in the game info. The difference is that a slot’s RTP is fixed by the provider and you cannot change it, while a video poker player can choose the table and the strategy.

Where the pay table fits into the wider casino picture

For Canadian players, the practical questions are money in, money out and whether the operator behaves. Imperial Wins accepts players from Canada, prices its cashier in Canadian dollars and lists more than twenty payment methods, including the Canadian payment methods most people actually use. Deposits are quick. Withdrawals take roughly a day on an e-wallet and the better part of a working week on a bank transfer or card, which is standard for the industry and worth knowing before you plan a session.

Account security matters as much as the pay table. Look for an encrypted connection on the cashier and login pages, a visible licence line in the footer, and a customer support channel that answers before you deposit. A responsible operator publishes its terms, its licence and its RTP figures. A machine with a great pay table on a site with no licence is still a bad bet.

The Imperial Wins casino login flow is straightforward, and once you are inside, the game tiles make it easy to find video poker variants. Compare the tables across games rather than assuming one is best. Jacks or Better with 9/6 is the beginner benchmark, but Bonus Poker and Double Double Bonus can beat it on certain tables if you understand the variance and the strategy adjustments.

A simple checklist before you play

Pick a game you understand. Read the full house and flush rows. Confirm the max-coin rule. Check the RTP in the help screen. Decide your session budget in Canadian dollars before you log in, and treat the playthrough clause on any bonus as part of the cost, not a free extra. If the table shows 6/5 and you have a 9/6 option elsewhere in the lobby, take the 9/6 option.

None of this guarantees a winning session. Variance is real, and a 99.5% table still loses money for most players on most nights. What the pay table does is remove the guesswork about which machine is fairer. That is more than most casino games offer.

Start with the two numbers. A 9/6 table returns about 99.5% and a 6/5 table returns about 95%, and that single comparison tells you more about a video poker machine than the jackpot graphic, the theme or the animation ever will. Read the full house and flush rows before you insert a coin, play max coins when the royal flush requires it, and let the pay table, not the marketing, choose your machine.

Message Us on WhatsApp