[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Skjermbilde
- To: pvvmud@pvv.ntnu.no
- Subject: Skjermbilde
- From: "Sigmund Motzfeldt \\y" <sigmundo@marin.ntnu.no>
- Date: Fri, 20 Nov 1998 21:18:20 +0100 (MET)
- Delivered-To: home/andersr+pvvmud@homepvva.pvv.ntnu.no
- Delivered-To: andersr+pvvmud@pvv.ntnu.no
- Delivered-To: pvvmud@pvv.ntnu.no
Jeg oensker minimum :
Pekk og klikk
Tekstvindu
Ut fra Tore sine betraktninger (som likner veldig paa det en gjoer i
dagens LP MUDs) kunne jeg ogsaa tenke meg et dra og slipp interface. Det
jeg ser for meg er at en velger ett objekt som 'aktivt'. Default er
spilleren selv, alternativet er ett eller annet objekt han har foran seg
eller med seg og klikker paa. Da kan en tenke seg at klikk paa hoeyre
mustast paa et annet objekt gir deg en meny over ting dette objektet
tillater ditt 'aktive' objekt aa gjoere.
Eksempel :
Du har en bag og vil legge noe i den. Du velger bagen og hoeyreklikker paa
noe paa bakken. Menyen du faar opp da har 'insert' som ett av sine valg.
Dersom du i stedet hoeyreklikker paa noe som er i bagen faar du 'drop' og
'move to inventory' som mulige valg.
Dette kan administreres i kode ved at en lar objekter i serveren definere
interfaces som f.x. : 'takable' 'droppable' 'gettable' 'puttable' etc.
Disse metodene eller egenskapene kan en saa legge inn i ei liste og matche
mot tilsvarende lister for andre objekter.
Bag : rock :
accepts:
'insertable'
is:
'insertable' 'insertable'
'droppable' 'droppable'
Vi ser at 'rock' er 'insertable', og 'bag' har definert de noedvendige
funksjoner for aa ta imot handlinger fra 'insertable' objekter. Siden vi
har en match, kommer 'insert' opp i menyen naar en merker en bag og
hoeyreklikker paa en stein. Dette kan i en stor grad skje i gameserveren.
Det klienten maa gjoere er aa sende en handling til serveren der den
forteller at brukeren har valgt objekt saa og saa og hoeyreklikket paa
objekt saa og saa. Gameserveren sammenlikner saa egenskapene til objektene
og returnerer ei liste over ting som skal staa i menyen.
Eksempel 2:
valgt : spiller (accepts: attackable, gettable,
droppable, wieldable)
hoeyreklikk paa : sverd (is: wieldable, insertable, droppable)
resulterer i menyen : (drop, wield)
Eksempel 3:
Du hoeyreklikker paa en person og faar muligheter til aa snakke, kjoepe,
selge etc. ettersom hva denne personen har lagt inn av funksjonalitet.
Eksempel 4:
Du hoeyreklikker paa en stein og faar mulighet til aa ta den opp, kaste
den eller flytte den.
Mulig jeg blander litt rekkefoelge paa hva som er valgt og hva som er
hoeyreklikk fra tid til annen, men jeg haaper dere fikk med dere tanken
bak systemet. Ulempen er at det stiller en del krav til linken til
gameserveren. Hvor mye arbeid ville det vaere aa ha forskjellige linker
for disse tingene dersom en ville ha ulike typer overfoering for ulike
handlinger ?
Dette var paa sett og vis grensesnittversjonen av Tore sine betraktninger.
Jeg har ogsaa stor sans dette systemet naar det gjelder kode
ellers i systemet, gitt at en kan finne en god implementasjon. Det er
denne typen system jeg ser for meg selv. Problemet er at en enten maa
flytte veldig mye ut fra den kompilerte kjernen i systemet eller lage alt
i samme spraak. Arv paa kryss av spraakgrenser er vel neppe noen god ide ?
Ellers kan en vel komme et godt stykke ved aa spesifisere grensesnitt uten
aa arve, men det blir mye mere arbeid aa skrive kode paa den maaten.
Sigmund.