Porovnání hráčů (struct) – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Porovnání hráčů (struct) – .NET – Fórum – Programujte.comPorovnání hráčů (struct) – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Flouwie
~ Anonymní uživatel
18 příspěvků
7. 5. 2012   #1
-
0
-

Ahoj,
jsem teprve začátečník a snažím se vytvořit zjednodušenou verzi hry člověče nezlob se. Je zjednodušená tak, že všichni začínají na stejném políčku. Takže to bude akorát větší řežba :-D Ale teď jsem se zadrhl a nevím jak pokračovat Potřebuji nějak porovnat hráče, ale nevím jak. Nebo alespoň vím, že si mám vytvořit struct Hrac a pak do ní přidat pozici hráče, kolik má figurek v domečku a kolik jich má na herní ploše. Poté přetypovat znaménko > = <... Ale netuším jak. Mohl by mi někdo poradit prosím? 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CloveceNezlobSe
{
public class Clovece
{
private Random nahoda;

private int[] hrac;
private string[] jmenoHrace;
private int[] policko;
private int[] domecek;
private int[] mistoFigurky;
private int pocetHracu;
private int hozeno;

private bool konec;

public Clovece(int promenna)
{
this.hrac = new int[promenna];
this.jmenoHrace = new string[promenna];
this.policko = new int[promenna];
this.domecek = new int[promenna];
this.pocetHracu = promenna;
this.konec = false;
}

public int HodKostkou
{
get
{
return this.nahoda.Next(6) + 1;
}
}

public int Hod(int promenna)
{
hozeno = HodKostkou;

mistoFigurky[promenna] = mistoFigurky[promenna] + hozeno;

return hozeno;
}

public int Domecek(int promenna, int domecek)
{
if (mistoFigurky[promenna] >= 36)
{
domecek++;
}
return domecek;
}

public bool KonecHry
{
get
{
return konec;
}
}
}
}

Nahlásit jako SPAM
IP: 85.132.185.–
Reklama
Reklama
ingiraxo+15
Grafoman
7. 5. 2012   #2
-
0
-

Tohle můžeš dělat hned několika způsoby... ale to co ty chceš se říká přetížení operátoru... na to bych se vykašlal, protože to jde jednodušeji

Nevim sice co přesně chceš porovnávat, ale řekněme, že struct Hrac má proměnný (int) pozice X a Y, takže následná fce může vypadat nějak takto: 

public bool Equals(Hrac h)
{
    if (h == null) return false;
    return (X == h.X) && (Y == h.Y);
}

Na tomhle principu můžeš porovnat cokoliv ve struct.

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Flouwie
~ Anonymní uživatel
18 příspěvků
7. 5. 2012   #3
-
0
-

#2 ingiraxo

Chtěl bych porovnat hráče s hráčem. Kde se hráč nachází atd... 

Ale tohle zkusím, díky :)

Nahlásit jako SPAM
IP: 85.132.185.–
ingiraxo+15
Grafoman
7. 5. 2012   #4
-
0
-

#3 Flouwie
Ano, takže chceš porovnat pozice pouze... doporučuju místo int[] použít objekt Point a potom to bude to jak jsem psal jen lehká úprava v return podmínce

A pokud jde o porovnání více hodnot nejenom pozic, tak to samozřejmě můžeš též nacpat do tý funkce nebo udělat další co bude porovnávat pouze třeba jméno hráce a fci řádně pojmenovat (EqualsNames, EqualsPosition etc.)

Ale když struct bude mít veřejný hodnoty, což většinou struktůry maj (jinak zvol třídu, páč se ztrácí význam struct), tak nemusíš dělat žádnou fci a jen jednoduše porovnat hodnoty a objekt  Point ma už Equals

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
8. 5. 2012   #5
-
0
-

#1 Flouwie
Prosím, zdrojový kód by měl být naformátovaný / odsazený a vložený s pomocí tlačítka "Vložit zdrojový kód". Není zde jen pro okrasu. Díky za nápravu.

Nahlásit jako SPAM
IP: 91.217.52.–
Dušan Janošík | web: djanosik.cz, @djanosik
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 38 hostů

Podobná vlákna

Rozlosování hráčů — založil kezalb

Struct — založil

Struct vo funkcii — založil Eversmann

Struct vs. class — založil Jakub Sosnovec

Dyn Struct — založil myth

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý