Ves al contingut principal

Entrades

S'estan mostrant les entrades d'aquesta data: agost, 2013

Múltiples plataformes amb Visual Studio

Si recordem estàvem creant un dau fa uns quants posts (m'ha pillat vacances, i les vacances, vacances són ;)). Ara anem a aprofitar el projecte que teníem  que simplement era test i la classe dau, i anem a afegir un nou projecte, per exemple Windows phone: (Botó dret sobre la solució i afegir nou projecte) seleccionem Windows phone:

Afegim un botó que quan fem click cree un dau, i mostre el número. Haurem de referenciar els projectes Project->Add Reference, seleccionar projecte i posem el projecte dau per a poder crear el dau, a banda de es recomanable que tot tinga el mateix namespace, si no haurem d'anar afegint usings.
Es possible que si actualitzeu els namespaces vos done problemes. Haureu també de canviar-ho als arxius .xaml:x:Class="RollDice.App ...

on RollDice és el nom del namespace. Afegim un botó, i un event capturador de l'event:
privatevoid Button_Click_1(object sender, RoutedEventArgs e)
{
Dau d = newDau(10);
int res = d.Tirada();
MessageBox.Show(re…

Xamarin Studio

Hem va quedar pendent, fa dos posts, explicar com fer una solución en VS multiplataforma. Per a explicar-ho el primer que necessite és un framework multiplataforma. He elegit Xamarin, podía haver elegit qualsevol altre, però este em permet escriure en C# tot el codi, davall el paraigüa de Mono. Si només vols fer programes sense reutilitzar cap component extern ni res, la versió és gratuïta. Si per exemple vols fer jocs i utilitzar Monogame (port de XNA per a moltes plataformes) ahí has d'adquirir alguna versió de pago. També pot ser que vullgues utilitzar VS per a fer programes en Android amb C#....  Doncs hauràs de pagar mínim 300$ per desenvolupador per plataforma mínim. Pot parèixer un poc car, però si vas a dedicar-te professionalment a desenvolupar aplicacions per a móbil no tens més remei (d'este o d'altre similar). M'explique, imaginem que vas a fer un programa per a mòbils i vols fer-ho per a les plataformes més gastades (Windows phone, Iphone i Android). Tens …

Presumint d'ordinador

Mira que m'agrada presumir de ben poques coses. De fet em considere (i em solen considerar) una persona ben modesta. Però ara no me n'he pogut estar... Vaig a presumir d'ordinador:


Vaig a sustituir el meu ordinador de sobretaula (amb le stres pantalles) per este bitxet. No està mal, eh?
Especificacions:

i7 3610QM8GB de RAM (ampliables a 32)128 GB SSD (si no teniu disc SSD vos ho recomane abans de canviar de PC)500 GB de disc mecànicATI 7970M  2GB (casinà ;)) Això si ho he fet de segona mà, i el problema és que ara no puc fer-li ni una extensió de garantia ni assegurar-lo (no trobe en cap lloc que ho vullguen fer). Però és una filigrana... estic escrivint este post des d'una màquina virtual, sense apenes drivers i MacOS va com el llamp. (No, no m'estic passant a MacOS, però per a fer aplicacions per a iphone/ipad/macos no tens un altre remei).
Em queda fer algun test en algun joc, de moment, el heaven engine trau uns 40-50fps, mentres que la torre vella, apenes passa…

TDDs + reutilització d'objectes en Visual Studio 2012

Doncs això, mai m'he mostrat partidari de cap metodologia de programació, ni tan sols de la programació orientada a objectes... però deu ser que em faig major ;) Anem a matar en un post dos pardals d'un tir. Anem a gastar una de les bases de les metodologies àgils (en realitat no té per què, es pot emprar en qualsevol metodologia) i anem a començar a veure com fer codi "multiplataforma".
Anem a gastar Visual Studio 2012. Creem una solució de Portable Class Library (en C#):
Creem una nova classe, Dau:
namespace RollDice
{
    public class Dau
    {

    }
Sense cap mètode. Per què sense cap mètode? Ahí està la gràcia dels TDD (Test Driven Development, Desenvolupament Orientat a Test). Anirem omplint la classe segons fallen els tests.
Ara anem a afegir una nova solució, què serà de test c#:
Ens crearà una classe de test buida, li canviarem el namespace per a que siga el mateix que la classe dau:
[TestClass]
    public class testDau
    {

         [TestMethod]
         public voi…