Roboten Counter-Strike (15 / 16 steg)

Steg 15: Klienten GUI

Som sagt tidigare, kommer vi att använda Shoes.rb, en GUI wrapper för Ruby kod. Skor projektet är ganska snyggt - definitivt kolla in deras hemsida. Jag kunde har valt för att använda Java, men beslutade att det skulle vara snyggare provar ett annat ramverk.

Klientkoden är kopplad. Som ni ser, är det en relativt normal .rb ruby fil.

Mycket av denna kod är självförklarande, så jag ska bara gå över de delar som kan vara förvirrande.

# MOTION CAPTURE BEGIN
= noll, noll

motion gör |_x, _y|
om och och (! = _x eller! = _y) och _x < 500 och _y < 500 och _x > 0 och _y > 0 och < 500 och < 500
Lägg till göra
linje _x, _y
slutet
"X är nu #{
"Y är nu #{

slutet

= _x, _y

slutet

Här, använder vi skons 'rörelse' block för att fånga musen rörelse. Vi sparar den nya x, y av musen som _x och _y. Att först om uttalande, vi kontrollera att x och y båda finns, och anger sedan att vi bara bryr sig om x / y-värden som ändras om den inledande/produkten ligger båda inom 0-500 pixlar (en 500 x 500 pixel kvadrat).

Om som uppfyller våra villkor, vi kommer att uppdatera med nya positioner.

Nästa, vi har våra block som är ansvarig för att faktiskt skicka meddelanden till vår server. Kommentarer förklara en hel del.:

def x_scaler(raw_x)
(raw_x.to_f / 250.to_f).round(1) * 2
slutet

def y_scaler(raw_y)

# minsta värdet bör vara 800 (hela vägen upp):-700
# största värdet bör vara 2200 (hela vägen ner): +800
# noll bör vara 1500 (center)

# så:
# 0 -> 800
# 250 -> 1500
# 500 -> 2200

Return (((raw_y * 2.8) + 800) / 10) .to_i * 10

slutet

# Startvärde
= 1500

# Animate(2) körs det två gånger en andra. Animate(8) (snabbaste) skulle köra denna kod 8 gånger per sekund.
Animate(2) gör

# För y-variabel
om och > 0 och < 500 och! = och > 0 och < 500
= y_scaler)
"Skicka Y: #{(rå: #{
0)

annat

slutet

# För x-variabel
om och och > 0 och < 500 och! =

= x_scaler (-() #x_scaler
"Skicka X: #{(rå: #{
0)

annat
"Ingenting förändrats."
= 0

slutet

# Rädda dessa värden till nästa gång
=
=

slutet

Vi definierar x_scaler och y_scaler som formatters för rå X och Y ingång, att ge det ett värde som är mer vänlig till uppsättningen upp vi har på Pi-servern.

Blocket animate(2) innebär att vi kommer att köra detta kommando två gånger varje sekund. Shoes.RB gör saker att köra så snabbt som 8 gånger en andra, men för våra ändamål, två gånger en andra räcker. Detta i huvudsak styr våra Samplingsfrekvens för och (hur ofta vi röstningen dessa variabler)

Inom det kvarteret, vi hanterar och annorlunda. I vårt fall betyder tornet, som kontrolleras av en PWM servo motor pulse. Detta innebär att vi behöver bara ge det ett värde för att det ska gå till, och så vi kan mata i direkt till y_scaler

Däremot betecknar sedan gir vinkel pi, som kontrolleras av våra motorer körs på en variabel tid längd, detta måste faktiskt vara ett tal som betyder värdeförändring sedan förra valet. En lite mer komplicerat, men inte rocket-science math.

I slutet av detta block, vi sparar och framtida jämförelse för nästa polling produktionscykel.

Resten av klienten GUI koden är relativt självförklarande, så jag kommer inte att klå upp punkten försöker gå över den här.

Se Steg
Relaterade Ämnen

Counter Strike spel spelare Assault Hoodie

Japp, görs denna xmas gåva för den samma ungen med TARDIS bokhylla och Halo M5AB gevär prop. Verkar hans senaste intresse är datorspelet Counter Strike och alltid ber om att få några ånga saker att göra i app inköp. Hur som helst, inspirerade från de...

Att nå en högre rang i Counter Strike: globala offensiv

Counter Strike: Globala offensiv är en av de mest populära tävlingsmatcher. På övre nivå av lek, kan professionell spelare vinna hundratusentals dollar i turneringar. Om du har hittat denna guide, du är troligen en ny eller kämpande spelare och du ha...

Hur till få & installerar CS:S(Counter Strike Source) texturer på Garry's Mod

Med en enkel server updater kan vi installera Counter Strike Source texturer på Garry's Mod.Steg 1: Steg 1: Skaffa Steam CMDLadda ner härFN-Zip filen steamcmd_win32.zip till en helt ny mappSteg 2: Steg 2: kör SteamCMD och uppdateringDubbelklicka på S...

HLDS Counter Strike 1.6 [Linux]

så att du har spelat Counter Strike ett tag och funderar på att ställa in din egen server. Så är det handledningen du.Välkommen till min andra tutorial om hur du konfigurerar en Half Life dedikerad Server, HLDS för spel. Denna handledning kommer att...

Counter-Strike Source Console kommandon.

i nästan varje spel med console kommandon aktiverat de spelar en stor roll, från modding storleken på din hårkorset till fina tweaking din server console kommandon finns överallt.I detta instructable jag kommer att visa dig hur du använder dessa komm...

Counter Strike C4 Prop

Genom att följa detta instructable kan du göra din alldeles egna CS:GO C4 prop.För detta projekt behöver du:KortBruna papperspåsarSilvertejpMassor av varmt limEn gammal LCD-modulEn gammal knappsatsEtt 9 volts batteriWireMenyfliksområdet trådEn röd LE...

Counter-Strike Source karta till 3D-modellen.

Något jag har velat göra för en lång tid eftersom jag hittade ut i Source SDK att göra kartor för Half-life Source spel kunde exportera till. DXF. Detta var inte en enkel process. Exportera till. DXF gjorde allt som enskilda delar som modeller. Expor...

Heta till göra en enkel men effektiv katapult i GMOD 10

detta instructable visar dig hur man gör en enkel, men långt skjuter katapult i garry's mod 10. Det är en gemensam grej som är perfekt för nybörjare. de flesta Garry's Mod spelare vet hur man gör något sådant.Njut!Krav:Garry's Mod 10 - http://store.s...

Hur du lägger till en Nuclear Option risken (brädspel Mod)

Risken är ett klassiskt brädspel som ofta har husets regler. Några av dessa mods är även officiella mods, som Starcraft, Sagan om ringen, Halo, Doctor Who, Walking Dead och 2210. Eftersom risken är ursprungligen om posten andra världskriget kalla kri...

CS:go Shadow dolkar

I denna tutorial jag ska visa dig hur man gör dolkar från counter strike: globala offensiv.Steg 1: mall Skriva ut mallen och dra den eller limma fast den i trä.Steg 2: Skär trä Steg 3: slipning Steg 4: färg Steg 5: gjort Hoppas ni gillar den. :-D...

Cosplay Karambit kniv

Ursprungligen från Indonesien är karambit en handhållen kniv vars design sägs vara insired av kattens klo. Karambit funktioner i populära datorspelet Counter Strike. Jag gjorde denna cosplay karambit kniv för #1Son. Klingan är tillverkad av svart akr...

Hur att delta i ett LAN-party

LAN parterna kan vara en fantastisk upplevelse med dina vänner! Eller en frustrerande övning i datorn fel eller programvara installationsproblem. Idag skulle prata om hur man få den bästa upplevelsen och vara den mest beredd att ha kul med vänner och...

Billiga (men utmärkt) musmatta

jag är för billigt att spendera $25 på en kvalitet musmatta, så jag bestämde mig att göra min egen. Allt ska vara under $5. Jag använder den med en Logitech G5 lasermus och har testat det med en Razer Copperhead lasermus och billiga Microsoft ball mu...

Gör en tid förflutit av din datorskärm

du kan göra en tidsfördröjning på skärmen med hjälp av enkla program.Den som jag rekommenderar är CamStudioAnledningarna till varförGratisLätt att användaÖppen källkodVista eller XPFungerar med nästan alla video-codecFör lappteknik videor tillsammans...

TRÅDLÖSA 555 timer mus ändring

först av allt, min blogg/the original.Andra av allt, vill jag nämna hur lätt Instructables är att använda. Det är bara så mycket lättare att ge instruktioner när du kan märka dina bilder och svara på kommentarer.Kan komma till business...Ett par år s...

Gamla tangentbord Transormed in Custom Gaming Keyboard

Hej alla, detta är en instructable om hur man gör och gamla, nu värdelösa, tangentbord i en aktuell gaming klaviatur. Detta kommer att vara mest effektiva om gjort för ett visst spel (dvs Counter-Strike ) på grund av nyckel-borttagning. Dessutom reko...

Hur man gör texturer för något spel som använder Source-motorn

denna handledning visar hur man gör en grundläggande struktur för alla source spel, såsom; Half Life 2, Half Life 2: episode 1, Half Life 2: episode 2, Counter-Strike: Source och många andra.När jag började göra egna texturer, fann jag att det var vä...

Fixa validering fel med Steam-spel (Windows)

i detta instructable jag wil lära dig hur man gör en vbscript i anteckningar som kommer att åtgärda valideringsfel med steam spel som portal 2 och sedan ge dig möjligheten th lansera dem.Det kommer också ge dig en uppfattning om hur du skriver din eg...

PC Rapid Fire

Redigera: fast det slutliga programmet så kommer du inte att byta namn på dess förlängningSkjuta semi-auto pistoler med automatisk hastighet! Detta är en risk-fri programvara mod, så det finns inget sätt du kan permanent skruva upp din mus/joystick.X...