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


luffarschack i visual basic, ett litet "designproblem"

Postades av 2005-05-05 10:52:27 - Joakim Rosendahl, i forum vb.net, Tråden har 3 Kommentarer och lästs av 625 personer

Hejsan,
har ett litet "designproblem" när det kommer till ett luffarschackspel jag gör =).

Det är så i mitt luffarschack ska jag kunna ha 3 olika typer av spelare. hotseat (sitter vid datorn), datorspelare och en nätverksspelare.

Jag har designat så att jag ahr ett interface Player som har en metod notify(x as integer, y as integer), meningen var att jag skulle meddela spelaren om det nya draget och sen så få ett svar tillbaka så behöver jag inte bry mig om vilken typ av spelare jag har att göra med.

Har en controllklass som håller i spelbordet och i spelarna och så har jajg en viewklass som ritar ut allt och tar även in input från hotseat'n (eftersom "form1" ligger i view'n).

Nu kommer mitt problem. När jag anropar notify för datorspelaren och nätverksspelaren så kan jag ju sitta och vänta på svar, men hur gör jag med hotseat'aren? Jag kan bara få input från hotseat'aren om jag går ut från notify och sen låter form1 få sitta och lyssna på mouseDown-händelsen. Kan man på nått sätt göra så att man lyssnar efter mouseDown när nofity(..) anropas för en hotseat-spelare? Att vid skeded när notify anropas sitta och vänta på en mustryckning och sen returnera de nya koordinaterna?

Lite pseudokod kanske förklarar vad jag menar:

notify för datospelare:
notify:
newX, newY <- kör algoritm för att hitta ett nytt drag
return newX och newY

notify for nätverksspelare:
notify:
skicka över x, y till nätverksspelaren
vänta på svar
newX, newY <- svar från nätverksspelaren
return newX och newY

notify för hotseatspelare
notify:
vänta på anrop från mouseDown som ligger i form1 <== problem
newX, newY <- svar från mouseDown
return newX och newY

Hoppas ni förstår mitt problem.

mvh Joakim Rosendahl



Svara

Sv: luffarschack i visual basic, ett litet "designproblem"

Postades av 2005-05-07 06:09:43 - Lars Gottfridsson

Hej Joakim!
Jag fattar inte varför du säger dig vilja sitta och vänta i metoden notify?
vb.net är ju händelsestyrt och notify lever ju bara vid anrop?eller?
sen returneras svaret till därifrån anropet kom.


Svara

Sv:luffarschack i visual basic, ett litet "designproblem"

Postades av 2005-05-07 18:38:33 - Joakim Rosendahl

För att jag kan inte behandla hotseatspelare, AI och nätverksspelare lika, eftersom input hos hotseatspelare kommer från ett annat håll och inte från notify. Därför måste jag "specialbehandla" hotseatspelaren så att säga =).

/Joakim.


Svara

Sv: luffarschack i visual basic, ett litet "designproblem"

Postades av 2005-05-09 23:15:49 - Oskar Johansson

Jag skulle nog löst det på följande sätt:

En tråd kör spelmotorn
En tråd per "interface" mot spelmotorn
En tråd för fönstret

Så om du kör med sk. hotseat, dvs. två spelare lokalt på datorn, så har du två trådar. Dessutom har du en tråd för fönstret samt en för spelmotorn.

Fönstrets tråd ser till att några gånger sekund kolla om saker behöver ritas om/Invoke-anrop för att rita om

"interfacen":s enda uppgift är att tala om förflyttningar samt att få reda på när någon annan har gjort något


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 722
27 958
271 751
1 195
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