Vinnaren i pepparkakshustävlingen!
2016-05-16, 18:57
  #2641
Medlem
Varför fungerar det inte att välja med 1,2 och 3 med en if-sats?
Oavsett siffra så väljer den alltid den första if satsen?



Citera
2016-05-16, 19:55
  #2642
Medlem
Citat:
Ursprungligen postat av KenslanForOrd
Varför fungerar det inte att välja med 1,2 och 3 med en if-sats?
Oavsett siffra så väljer den alltid den första if satsen?




För det första så är det rekommenderat att använda indentering så vi andra kan läsa din kod lättare. Problemet med dina if-satser är att du försöker tilldela val istället för att jämföra.

Det du behöver göra är att använda operatorn == istället:

Kod:
if (val == 1) {
    // kod
}
__________________
Senast redigerad av .Lia 2016-05-16 kl. 19:57.
Citera
2016-05-17, 00:43
  #2643
Medlem
Citat:
Ursprungligen postat av .Lia
För det första så är det rekommenderat att använda indentering så vi andra kan läsa din kod lättare. Problemet med dina if-satser är att du försöker tilldela val istället för att jämföra.

Det du behöver göra är att använda operatorn == istället:

Kod:
if (val == 1) {
    // kod
}

Haha jag gillar verkligen denna "småpyssel" del i programmering, men jag är en dålig student antar jag.

Tack för din hjälp, nu går programmet som en klocka.
Gällande identiering ska jag fixa det till nästa gång!
Citera
2016-05-20, 12:04
  #2644
Medlem
Kod:
int move(void){
    switch (
riktning) {
        case 
0:
        
y++;
        break;
        case 
1:
        
x++;
        break;
        case 
2:
        
y--;
        break;
        case 
3:
        
x--;
        break;
        default:
        
printf("Nu gick nogot fel");
        break;
    }
    


Denna kod ger mig felmeddelandet "Error: expected 'while' before 'int' "
Vet någon varför?¨
Har jag missuppfattat switch satsen möjligtvis?
Citera
2016-05-20, 12:20
  #2645
Moderator
RostigHinks avatar
Citat:
Ursprungligen postat av KenslanForOrd
Denna kod ger mig felmeddelandet "Error: expected 'while' before 'int' "
Vet någon varför?¨
Har jag missuppfattat switch satsen möjligtvis?
Hur ser koden ut före denna funktionsdefinition?

Troligen hittar du felet där.
Citera
2016-05-20, 12:22
  #2646
Medlem
Citat:
Ursprungligen postat av KenslanForOrd
Denna kod ger mig felmeddelandet "Error: expected 'while' before 'int' "
Vet någon varför?¨
Har jag missuppfattat switch satsen möjligtvis?
Felet ligger högre upp. Förmodligen har du en do utan avslutande while just innan.

Sen är det ju lite konstigt att ha en int-funktion som inte returnerar nånting.
Citera
2016-05-20, 17:33
  #2647
Medlem
En gammal do-sats var det, insåg halvvägs in att den inte behövdes!
Och ja, mongomannen, int funktionen var lite klantig.


Tack för hjälpen, uppskattas mycket!
Citera
2016-05-24, 14:31
  #2648
Medlem
Grafik

Jag vet ej om det hör hemma här, men grafik som finns i följande spel (till exempel) https://www.youtube.com/watch?v=YSpo2VvN0SM


Hur skapas den? Görs bakgrund/sprites etc i typ photoshop?
Citera
2016-05-25, 21:11
  #2649
Medlem
Citat:
Ursprungligen postat av Hingst1
Grafik

Jag vet ej om det hör hemma här, men grafik som finns i följande spel (till exempel) https://www.youtube.com/watch?v=YSpo2VvN0SM


Hur skapas den? Görs bakgrund/sprites etc i typ photoshop?

Inte helt hundra, men jag tror det har gjorts i exempelvis After Effects.
Citera
2016-06-13, 17:46
  #2650
Medlem
Skadans avatar
Kod:
#include <iostream>
#include <string>

using namespace std;

enum TicTacToeCases {
        PLAYER_ONE = 'O',
        PLAYER_TWO = 'X',
        NEUTRAL    = '*'
    };

int main(){

    int decide;

    TicTacToeCases ticTacToe[3][3];
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 3; j++){
            ticTacToe[i][j] = NEUTRAL;
        }
    }
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 3; j++){
            cout<< ticTacToe[i][j]<< "   ";
        }
        cout<< "\n\n";
    }

    while (1){

        if (decide % 2 == 0){
            int i;
            int j;
            cout<< "Player one decide position\n";
            cin>> i;
            cin>> j;
            ticTacToe[i][j] = PLAYER_ONE;
            for (int i = 0; i < 3; i++){
                for (int j = 0; j < 3; j++){
                    cout<< ticTacToe[i][j]<< "   ";
                }
                cout<< "\n\n";
            }
        }

        if (decide % 2 == 1){
            int i;
            int j;
            cout<< "Player two decide position\n";
            cin>> i;
            cin>> j;
            ticTacToe[i][j] = PLAYER_TWO;
            for (int i = 0; i < 3; i++){
                for (int j = 0; j < 3; j++){
                    cout<< ticTacToe[i][j]<< "   ";
                }
                cout<< "\n\n";
            }
        }
        decide++;
    }
}

Vet någon varför det blir siffror istället för X, O och *? Det blir kompileringfel om jag tar bort ' '. Det är C++.
Citera
2016-06-13, 17:55
  #2651
Medlem
enowens avatar
Citat:
Ursprungligen postat av Skadan
Kod:
#include <iostream>
#include <string>

using namespace std;

enum TicTacToeCases {
        PLAYER_ONE = 'O',
        PLAYER_TWO = 'X',
        NEUTRAL    = '*'
    };

int main(){

    int decide;

    TicTacToeCases ticTacToe[3][3];
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 3; j++){
            ticTacToe[i][j] = NEUTRAL;
        }
    }
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 3; j++){
            cout<< ticTacToe[i][j]<< "   ";
        }
        cout<< "\n\n";
    }

    while (1){

        if (decide % 2 == 0){
            int i;
            int j;
            cout<< "Player one decide position\n";
            cin>> i;
            cin>> j;
            ticTacToe[i][j] = PLAYER_ONE;
            for (int i = 0; i < 3; i++){
                for (int j = 0; j < 3; j++){
                    cout<< ticTacToe[i][j]<< "   ";
                }
                cout<< "\n\n";
            }
        }

        if (decide % 2 == 1){
            int i;
            int j;
            cout<< "Player two decide position\n";
            cin>> i;
            cin>> j;
            ticTacToe[i][j] = PLAYER_TWO;
            for (int i = 0; i < 3; i++){
                for (int j = 0; j < 3; j++){
                    cout<< ticTacToe[i][j]<< "   ";
                }
                cout<< "\n\n";
            }
        }
        decide++;
    }
}

Vet någon varför det blir siffror istället för X, O och *? Det blir kompileringfel om jag tar bort ' '. Det är C++.

För att enums är integers:

Kod:
#include <iostream>

enum Test
{
    
'8',
    
8
};

int main()
{
    
std::cerr << << " " << << std::endl;
    return 
0;


http://www.asciitable.com/
__________________
Senast redigerad av enowen 2016-06-13 kl. 17:58.
Citera
2016-06-13, 18:49
  #2652
Medlem
Skadans avatar

Hur ska jag göra för att få dem till X, O och *? Testade att skriva NEUTRAL = 42 för att representera ascii för *, men det stod ändå 42 kid exekvering.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in