Voor de oprichting van een eigen verbinding op 4

, om hun eigen spel voor die 4,,,,,,,,,,,, delen, delen van,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, - ontwikkeling en je kan sneller, de aanvragen sneller.In deze handleiding, zal ik laten zien hoe het creëren van een script 4 met de wedstrijd, het gebruik van een georganiseerde oo, laten we beginnen!,,,,,,, stap 1: te beginnen bij de bron in het dossier, heb ik ook connect4_start.fla dossier.Uitgaande van deze documentatie; het bevat alle video clip nodig om de training.Het bevat 4 een videoclip.De rode en gele microarray film, film, film, een dialoog boardpiece winnaar videoclip, stap 2: het creëren van een connect4 soorten documenten, het creëren van een nieuwe behandelingen voor het behoud van de bestanden en de naam connect4.Voeg de volgende code: invoer invoer, pakje {flash.display.sprite flash.events.mouseevent; de invoer van flash.events.event; de invoer van flash.geom.point; de invoer van caurina.transitions.tweener; uitbreiding van de cursussen connect4 Sprite {particuliere var kolommen: eenheid; particuliere var: de eenheid; particuliere var - plaat: - = nieuwe installatie (); de particuliere var ColumnWidth: eenheid die door particuliere var aangewezen; hoogte: eenheid; particuliere var currentplayer: eenheid = 1; particuliere var currentchip; de functie van connect4 (kolom: de eenheid, de: eenheid): this.columns = kolom this.rows = rij = nieuwe boardpiece () {ColumnWidth ongeldig. De breedte van elk van de hoogte van de vastgestelde regels () = nieuwe boardpiece}}}. De hoogte van dit segment. Code we ingevoerde klassen (ik heb het ook met tweeJe kunt hier ner of in mijn bron te vinden).De definitie van veld variabele, creëren we de constructeurs.De fabrikant heeft twee parameters, wil je de rijen en rijen.We hebben deze waarden in ons gebied variabelen, we starten en de vaststelling van de hoogte van de vastgestelde regels ColumnWidth variabele.Een lijst met dezelfde breedte voor een boardpiece breedte (wordt gebruikt voor de vaststelling van de hoogte van de vastgestelde regels van hetzelfde beginsel), stap 3: de functie van deze functie zal springplank, die spelen op het playboard hoeveel rijen en rijen van je wil.De toevoeging van de functie van de constructeurs, connect4: private functie drawboard ():void {(VAR I: eenheid = 0; ik < rijen; I + + (VAR) {voor J: eenheid = 0; J < kolom; j) {VAR boardpiece:boardpiece = nieuwe boardpiece (x); boardpiece. = J * boardpiece.width; boardpiece. Y = ik boardpiece.height; dit. Addchild (boardpiece);}}}, stap hier 4:createboardarray functie, creëren we een 2d - zal de Raad met al onze positie die generator en 0. Nul betekent dat niet op een chip op positie.Deze elementen toe te voegen aan de fabrikant, private functie createboardarray (): ongeldig {(VAR I: eenheid = 0; ik < rijen; I + +) (bestuur [M] = [...] (de VAR - J: eenheid = 0; J < kolom; j) {[M] [. J] = 0;}}}, stap 5:putchipready functie, in deze functie, weten we wie de spelers toe te voegen die chip op de lijst.We brengen de chip naar de negatieve waarde van de y - dat playboard boven ons.Nogmaals, toe te voegen aan de functie van de fabrikant, private functie putchipready (): ongeldig {als (currentplayer = = 1) {currentchip = nieuwe redchip () {} currentchip = nieuwe; anders yellowchip ();} currentchip. Y = 50; deze addchildat (currentchip, 0);}, stap 6:enterframehander Elk frame functie, de berekening van de kolom in de huidige chip als je op dat moment vallen.Het zal makkelijker zijn voor de gebruikers van een mobiele.De functie van calculatecolumn (de volgende stap terug in je verklaring) die in de berekening van de nieuwe X. En dan op de plaats van de chip.Dus we nemen currentcolumn en de breedte van de kolom.Omdat we de registratie in de chip toe te voegen aan de breedte van de kolom gedeeld door 2, eindelijk hebben wij tussen de huidige chip, we hebben net de positie, voor de berekening van de particuliere enterframehandler (E. Functie: gebeurtenissen): ongeldig {VAR currentcolumn: eenheid = (dit calculatecolumn. MouseX); var xposchip: eenheid = currentcolumn * * * * * * * ColumnWidth + ColumnWidth /2 tweener. Addtween (currentchip {x:xposchip, tijd: 0,3, de overgang van: "lineaire"});}, in het kader van de fabrikant van het toevoegen van de luisteraar,. AddEventListener (event.enter_frame, enterframehandler); 7:calculatecolumn, stap, die helpfunction krijgt een muis terug komt overeen met het standpunt van de positie van de muis, als je minder dan nul, en dan terug naar de eerste kolom (0De generator is tot nul - index.Als je de positie van de muis meer als "je bord", keren we terug naar de laatste kolom.Als je de positie van de muis is in de Raad van bestuur zal de positie van de X - een breedte van de kolom, private functie calculatecolumn (mousexpos): eenheid {als (mousexpos < 0) 0} {terug. Anders als (mousexpos > deze breedte) {terug in kolom 1} {; anders terug mousexpos /ColumnWidth;}}, stap 8:boardclick functie, die in de eerste plaats op de inspectie van de kolom (bij de berekening van de functie van kolom, dat heb ik uitgelegd in de één stap),,,, die door alle handel, bestuur [] [columnclicked] = = 0, We weten dat de chip in die positie worden geplaatst.Weet je nog in de Raad van bestuur de positie 0 - apparaat is leeg, als we de chip is gedaald van plaats te vinden, we vullen en het aantal spelers van de huidige positie van bestuur) (we moeten deze cijfers vervolgens gecontroleerd) en we plaatsen, chip en placechip functies (in de volgende verklaring), wij - speler. (2), hebben we een ander stuk voor te bereiden.Laten we terug naar de uitgang, privé - functie, ring, boardclick (E:MouseEvent): ongeldig {VAR columnclicked: eenheid = calculatecolumn (e.currenttarget. MouseX); (var: int = rows-1; rij > = 0; rij) {als (bestuur [] [columnclicked] = = 0) {- columnclicked] [] = currentplayer; placechip (nieuwe punten (, columnclicked)) toggleplayer () (); putchipready}}}; terugkeer toe te voegen. De fabrikant van de luisteraar, gebeurtenissen, dit. AddEventListener (mouseevent.click, boardclick), maatregelen 9:placechip functie, de functie van de Bank (positie. X) en de Kolom (positie de chip is in de. Y), en de berekening van de afstand X en Y, distancey: je reis je op de hoogte van een rij.Als gevolg van de inschrijving op de chip van onze lijn toe te voegen. De hoogte van de distancex gedeeld door 2, het gebruik van dezelfde beginselen, en door gebruik te maken van de huidige chip tweener Twain in de juiste positie, private functie placechip (:): ongeldig {VAR distancey:int = X * vaststelling van de hoogte van de vastgestelde regels die de positie van de hoogte van de vastgestelde regels. + /2. De positie van distancex:int = var. Y * * * * * * * ColumnWidth + ColumnWidth /2; tweener. Addtween (currentchip {x:distancex, Y:distancey, tijd: 0,7, overgang van: "easeoutbounce"});}, stap 10:toggleplayer functie, deze functie is heel eenvoudig.Als de speler op een andere speler is 1 - 2 - 1, speler, private functie toggleplayer (): ongeldig als (currentplayer = = 1) {2} {currentplayer andere currentplayer = = 1}}, je hebt nu kan de chip, maar op dit moment niet eens een speler met 4 - chip.De volgende stap is de codes te controleren, stap 11:checkforwinner functie, die er een parameter, en, tot slot, de positie en de chip terug waar of onwaar.De functie van respectievelijk 4 - onderzoek met behulp van een winnaar. Door onze positie op de functie van elk kind.Als de vier terug, we hebben een winnaar, private functie checkforwinner (:): booleaanse {als (verticalcheck (positie terug waar)); als (horizontalcheck (positie terug waar)); als (leftupdiagonalcheck (positie terug waar)); als (rightupdiagonalcheck (positie terug waar de terugkeer)); valse;}, stap 12:verticalcheck, controleer de verticale band 4 hebben we alleen maar te kijken naar de chip in de chip.(de huidige chip niet een chip), wij willen in de eerste plaats de herziening van de huidige onder de chip heeft drie locaties.Als er geen, er is geen manier, kan je met 4, we terug, als er drie of meer onder onze positie, de opening van een nieuwe cyclus, door een van de volgende drie rijen.Als een van de andere spelers onder de chip is niet verbonden met onze vier chip (vals), als de cyclus kan worden bereikt, we weten dat er vier die (terug), de functie verticalcheck (:): booleaanse {var: de eenheid = positie. X; var opgenomen: eenheid = Y; var spelers. [] = plaat: eenheid zijn; als (% GT% = 3) {terugkeer valse;} (VAR I: eenheid = 1 +; ik < 3 = +; I + +) {als (bestuur [I] [die].= spelers) {terugkeer valse;}} terug waar;}, stap 13:horizontalcheck, we moeten doen is de eerste inspectie van de chip in de huidige links en rechts - chip, dus we zullen tegen 1, heb je de chip in de rij is artikel 11).Toen we naar links, tot we bij een andere speler voor de berekening van de chips, en we de chip, op dit moment van de spelers, we doen hetzelfde, aan de rechterkant.Dus, als we de teller is 4 of meer verbonden met de chip van onze functie van 4 (terug), horizontalcheck (:): booleaanse {var: de eenheid = positie. X; var opgenomen: eenheid = positie. Y; var spelers: [] [eenheden = plaat opgenomen]; var tegen: eenheid = 1. De in de (VAR I: eenheid = column-1; ik > = 0; -) {als (bestuur [] [M].= spelers) {}) in de pauze, + + + + + +; voor (VAR J: eenheid = kolom + 1; J < kolom; j) {als (bestuur [] [J].= spelers) {}) in de pauze, + + + + + +; als (anti - > = 4) {} {terug waar; anders terug valse;}}, stap 14:leftupdiagonalcheck, functies die vergelijkbaar zijn met die van het niveau van het onderzoek.Het enige verschil is, we controleren nu de diagonaal naar links, de eerste keer dat we boven onze huidige speler: berekening van de chip, als we met andere spelers van de chip we de cyclus doorbreken.Er zeker van zijn dat we niet te maken, buiten onze kamer - de hoogte is te stoppen, terwijl, als onze rij of onze column is minder dan 0, we gebruiken het beginsel te controleren. De functie die downwards., leftUpDiagonalCheck (position:Point): booleaanse {VAR player:uint = board[position.x][position.y]; var row:Number = position.x - 1; var column:Number = position.y - 1; var counter:uint = 1; terwijl (rij > = 0 & & kolom > = 0) {als (board[row][= = = = = = = column]. {counter++; row--; column--;} {}} anders uit, rij = position.x + 1 + 1 = position.y; kolom terwijl (rij <; de rijen & & kolom < de kolommen) {als (board[row][column] = = = = = = = PLOnder leiding van teller + + + +) {+ + + + + +; rijen; de kolom;} {}} als de rest van de anderen; (anti - > = 4) {} {terug waar; anders terug valse;}}, stap 15:rightupdiagonalcheck vorige functie, deze functie is bijna Hetzelfde.Het enige verschil is dat de richting van de bijzonder wit, privé functie rightUpDiagonalCheck (position:Point): booleaanse {VAR player:uint = board[position.x][position.y]; var row:Number = position.x + 1; var column:Number = position.y - 1; var counter:uint = 1; terwijl (rij < de rijen & & kolom > = 0) {als (= = = = = = = board[row][column]. {counter++; row++; column--;} {}} anders uit, rij = position.x - 1, kolom = position.y + 1; terwijl (rij > = 0 & & kolom < de kolommen) {als (= = = = = = = board[row][column]. {counter++; row--; column++} {... Anders.;}} als (1 > 4) {Terug waar;} {}) of terugkeer valse; 16: bijwerking, stap boardclick functie, maar nu moeten we ons de code te schrijven.We hebben de chip in, we onderzoeken een winnaar.Als we een winnaar hebben, we laten je niet in geval van een nieuwe chip, we wie gewonnen (in de volgende verklaring).Als er geen winnaar van de nieuwe chip, we toggleplayer klaar. - functie boardclick (E:MouseEvent): ongeldig {VAR columnclicked: eenheid = calculatecolumn (e.currenttarget. MouseX); (var: int = rows-1; Bank > = 0; -) {als (bestuur [] [columnclicked] = = 0) (Platen met columnclicked [] [] = currentplayer; placechip (nieuwe punten (rij, als columnclicked)) (checkforwinner (nieuwe punten (, columnclicked)) {. RemoveEventListener (event.enter_frame, enterframehandler); dit. RemoveEventListener (mouseevent.click, boardclick); showwinnerdialog (}); of {toggleplayer () (); putchipready;}}}} terug, stap 17:showwinnerdialog functie, die alleen maar tot eenJe nieuwe winnerdialog kan worden gevonden in de bibliotheek.Als de speler is 1 rood wint, andere gele -, privé functie showwinnerdialog ():void {VAR dialoog: winnerdialog = nieuwe winnerdialog (); var. De winnaar:... (currentplayer = = 1)? "De rode ":" geel "dialog.txtwinner.text = +" - kampioen.!!!!!!!!!!!!!!; dialoog. X = (this.width - dialoog. Breedte) /2; dialoog. Y = 100; dit. Addchild (dialoog);}, stappen 18: het creëren van het type document, het creëren van een nieuwe behandelingen voor het behoud van de bestanden en de naam "van toepassing, in de categorie van de connect4 nog een voorbeeld. We schrijven op de lijst.Vergeet niet de fabrikant parameters, pakje {invoer flash.display.movieclip; de invoer van flash.events.event; de toepassing van de uitbreiding een openbare functie movieclip {():void {VAR connect4:connect4 = nieuwe connect4 (7,6); connect4. X = (stage.stagewidth - connect4. Breedte) /2; connect4. Y = (stage.stageheight - connect4. Hoogte) /2 + 50; dit. Addchild (connect4);}}}, de laatste fase van de vaststelling van de categorieën documenten, klik op "de aanvraag", conclusies, heb je net geleerd hoe te komen tot een in verband met vier spelletjes en meerdere dimensies kan worden om het leven gemakkelijker te maken.Ik hoop dat je de handleiding lezen, dank je.





Previous:
Next Page: