Package cz.beranek.projekt

Source Code of cz.beranek.projekt.HraController

package cz.beranek.projekt;

import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;

import cz.beranek.model.Hra;
import cz.beranek.model.Hrac;
import cz.beranek.model.ObsazeniDostihu;
import cz.beranek.model.SeznamHracu;
import cz.beranek.model.SpravceHer;
import cz.beranek.model.herniPlan.HerniPlan;
import cz.beranek.model.herniPlan.Kun;

@Controller
@SessionAttributes({"userId", "login","hraId","usrKey"})
public class HraController {

  @RequestMapping(value="/hra.start")
  public String start(Model model,@ModelAttribute("usrKey") String usrKey,@ModelAttribute("hraId") String hraId,@ModelAttribute("userId") String user){

    model.addAttribute("usrKey", Zpravy.upravText(usrKey))
    model.addAttribute("user", Zpravy.upravText(user))
    return "hra";
  }

 
  /**
   * Metoda obsluhujici konec tahu hrace
   * @param hraId
   * @param hracId
   * @return
   */
  @RequestMapping(value="/konecTahu.do")
  public String konecTahu(Model model,@ModelAttribute("hraId") String hraId,@ModelAttribute("userId") String hracId){
    //System.out.println(hraId + " konec tahu.");
    Hra h = SpravceHer.getInstance().getHra(hraId);
    if(h.konecTahu(h.getHrac(hracId))){
      //ma pravo prehodit tah
      model.addAttribute("JSON", "{\"prepnuto\":true}");
    }else{
      //nema pravo prehodit tah
      model.addAttribute("JSON", "{\"pripraven\":false}");
    }
    return "JSON";
  }


  /**
   * Metoda pro koupeni pole..musi se overit, zda je hrac na tahu, zda je pole volne, zda ma finance atd
   * Pote poslat potvrzeni nebo zamitnuti.
   */
  @RequestMapping(value="/KupPole.do")
  public String kupPole(Model model,@ModelAttribute("userId") String userId,@ModelAttribute("hraId") String hraId){

    Hra hra = SpravceHer.getInstance().getHra(hraId);
    Hrac hrac = hra.getHraci().get(userId);
   
    HashMap<String, String> zprava = new HashMap<String, String>(8);
    zprava.put("typ", "koupePole");
   
    int res = hra.kupPole(hra.getHrac(userId));
    switch(res){
    case 0:
      // tady pak  pouzit odesliKoupiPole (nebo teda nakou metodu ktera to pouzije)
      zprava.put("vysledek", "true");
      zprava.put("hrac", Integer.toString(hra.getHraci().getPoradi(userId)));
      zprava.put("pole", Integer.toString(hrac.getPozice()+1));
      break;
    case 10:     
      zprava.put("vysledek", "false");
      zprava.put("text", HerniPlan.getPole(hrac.getPozice()) + " pat�� jin�mu hr��i.");
      break;
    case 20:
      zprava.put("vysledek", "false");
      zprava.put("text", "Nedostatek pen�z.");
    }
   
    JSONObject json = JSONObject.fromObject(zprava);
    Zpravy.odesliVsem(hra, json.toString());
   
    return "zprava";
   
  }
 
  /**
   * Metoda pro koupeni pole..musi se overit, yda je hrac na tahu, zda je pole volne, zda ma finance atd
   * Pote poslat potvrzeni nebo zamitnuti.
   */
  @RequestMapping(value="/kupDostih.do")
  public String kupDostih(Model model,@ModelAttribute("userId") String userId,@ModelAttribute("hraId") String hraId){

    Hra hra = SpravceHer.getInstance().getHra(hraId);   
    Hrac hrac = hra.getHrac(userId);
    int res = hra.kupDostihy(hrac, 1);
    //FIXME: kupDostihy. Spring ResourceBundle na text zprav...
    switch (res){
    case 0:
      Kun k = (Kun)HerniPlan.getPole(hrac.getPozice());
      int pd = hra.getObsazeniDostihu().getDostihy(k);
      Zpravy.odesliPocetDostihu(hra, hrac, pd, hrac.getPozice());
      // Zpravy.odesliVsemZpravu(this, k + " je nyn� obsazen " + newKd + " dostihy.");
      break;
    case 10:
      Zpravy.odesliHraciZpravu(hrac, "Dostihy sm� kupovat pouze majitel cel� st�je.");
      break;
    case 20:
      Zpravy.odesliHraciZpravu(hrac, "Tohoto kon� nelze postavit do v�ce dostih�.");
      break;
    case 21:
      Zpravy.odesliHraciZpravu(hrac, "K�� mus� b�t nejpreve postaven do 4 dostih�, aby mohl b�t postaven do hlavn�ho dostihu.");
      break;
    case 22:
      Zpravy.odesliHraciZpravu(hrac, "Nelze koupit tolik dostih�. N�kde je chyba!");
      break;
    case 23:
      Zpravy.odesliHraciZpravu(hrac, "Nelze koupit vedlej�� i hlavn� dostih v jednom kole.");
      break;
    case 30:
      Zpravy.odesliHraciZpravu(hrac, "Dostihy lze zakoupit a� v dal��m kole.");
      break;
    case 100:
      Zpravy.odesliHraciZpravu(hrac, "Nedostatek pen�z na zakoupen� dostih�.");
      break;
      //Zpravy.odesliPocetDostihu(hra, hrac, , hrac.getPozice()+1);
    }
   
    return "zprava";
   
  }
 
  /**
   * Metoda pro refresh
   */
  @RequestMapping(value="/refresh.do")
  public String refreshHry(Model model,@ModelAttribute("userId") String userId,@ModelAttribute("hraId") String hraId){
    Hra hr = SpravceHer.getInstance().getHra(hraId);
    Map<String, String> zprava = new HashMap<String, String>();
   
    //prace s majetkem
    HashMap<String, Integer> tmp= new HashMap<String, Integer>();
    Map<Integer, Hrac> majetek = hr.getSeznamMajetku().getVeskeryMajetek();
   
    for (Integer klic : majetek.keySet()) {
      tmp.put(Integer.toString(klic+1), hr.getHraci().getPoradi((majetek.get(klic))));
    }
   
    JSONObject json=JSONObject.fromObject(tmp);
    zprava.put("majetek", json.toString());
   
    //prace s dostihy
    tmp= new HashMap<String, Integer>();
    Map<Integer, Integer> dostihy = hr.getObsazeniDostihu().getVsechnyDostihy();
   
    for (Integer klic : dostihy.keySet()) {
      tmp.put(Integer.toString(klic+1), dostihy.get(klic));
    }
   
    JSONObject jsonDostihy=JSONObject.fromObject(tmp);
    zprava.put("dostihy", jsonDostihy.toString());
   
    //pozice hracu
    tmp= new HashMap<String, Integer>();
    for (Hrac hrac : hr.getHraci()) {
      tmp.put(Integer.toString(hr.getHraci().getPoradi(hrac.getUserId())), hrac.getPozice()+1);
    }
    JSONObject jsonPozice=JSONObject.fromObject(tmp);
    zprava.put("pozice", jsonPozice.toString());
    //hrac na tahu
    SeznamHracu sh= hr.getHraci();
    Zpravy.odesliHraceNaTahu(hr, sh.naTahu());
    //penize
    tmp= new HashMap<String, Integer>();
    for (Hrac hrac : hr.getHraci()) {
      tmp.put(hrac.getUserId(), hrac.getPenize());
    }
    JSONObject jsonPenize=JSONObject.fromObject(tmp);
    zprava.put("penize", jsonPenize.toString());
   
    //zaver
    JSONObject jsonZprava=JSONObject.fromObject(zprava);
    model.addAttribute("JSON", jsonZprava.toString());
    return "JSON";
   
  }
}
TOP

Related Classes of cz.beranek.projekt.HraController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.