Binette

joined 1 year ago
[–] [email protected] 16 points 1 week ago (2 children)
[–] [email protected] 3 points 1 week ago

extrême gauche

[–] [email protected] 9 points 1 week ago (1 children)

No. Get your own penis

[–] [email protected] 3 points 1 week ago (1 children)

still don't get the point of memorising pi. sorry for those who did it or something

[–] [email protected] 24 points 1 week ago (1 children)

lemmy sweep

[–] [email protected] 3 points 1 week ago

Outward, their genitals might look like those of the oposite sex.

[–] [email protected] 3 points 1 week ago (1 children)

the point is that it doesn't matter, since most people are on lemmy.world anyways

[–] [email protected] 19 points 1 week ago (1 children)

Luigi made me realise that maybe there is more solidarity with disabled people than I thought there was.

[–] [email protected] 18 points 1 week ago

hated him long before the Ukraine war, so can confirm this is false

[–] [email protected] 5 points 1 week ago (1 children)

I was scared nobody would get it lmao

[–] [email protected] 4 points 1 week ago* (last edited 1 week ago)

I'm really scared of something like that happening , so I'm being extra slow and carefull.

May your emails rest in peace 🙏🙏

[–] [email protected] 3 points 1 week ago

beaten to death with a hoe

 
 

I'm trying to make minesweeper using rust and bevy, but it feels that my code is bloated (a lot of for loops, segments that seem to be repeating themselves, etc.)

When I look at other people's code, they are using functions that I don't really understand (map, zip, etc.) that seem to make their code faster and cleaner.

I know that I should look up the functions that I don't understand, but I was wondering where you would learn stuff like that in the first place. I want to learn how to find functions that would be useful for optimizing my code.

 

I don't know if it's the best place to ask this, but I've been having issues with trying to make minesweeper with bevy.

I tried making a function that would give the number of mines around the tile that was clicked if it wasn't a mine. Then, I wanted to make it so that when the number of mines around the clicked tiles is 0, it reveals the surrounding tiles. Finally, I tried making the function recursive by rerunning it on the empty surrounding tiles.

The issue is that it seems that certain tiles with no mines surrounding them don't reveal the surrounding tiles.

Here's the portion of the code I am talking about (I know it's pretty bad):

fn find_surrounding_mines(
                          mut set: ParamSet<(
                              EventReader<TileEntity>,
                              EventWriter<TileEntity>,
                             )>,
                          mut surrounding_mines: EventWriter<SurroundingMines>,
                          mut query_board: Query<&mut Board>,
                          mut change_tile_image: EventWriter<ChangeTileImage>,
                        mut query_mine: Query<(&Mine, &mut Tile)>) {
    let dy: [i8; 8] = [-1, -1, -1, 0, 0, 1, 1, 1];
    let dx: [i8; 8] = [-1, 0, 1, -1, 1, -1, 0, 1];
    
    let board = query_board.single_mut();
    let mut num_mine: u8 = 0;
    let mut y: u8 = 0;
    let mut copy_x: usize = 0;
    let mut tile_read:bool = false;
    let mut copy_num_mine:u8 = 0;
    for tile in set.p0().read(){
        for (row_index, vector) in board.tiles.iter().enumerate(){
            if let Some(x) = vector.iter().position(|&x|x == tile.0) {
                copy_x = x;
                y = row_index as u8;
                for i in 0..8{
                    if x as i8 + dx[i] >= 0 && x as i8 + dx[i] < board.width as i8 && y as i8 + dy[i] >= 0 && y as i8 +dy[i] < board.height as i8{
                        if let Ok((_mine,mut tile)) = query_mine.get_mut(board.tiles[(y as i8 + dy[i]) as usize][(x as i8+ dx[i]) as usize]){
                            num_mine += 1;
                            tile.hidden = false;
                        }
                    }
                }
                break;
            } 
        }
        
        surrounding_mines.send(SurroundingMines(num_mine));
        change_tile_image.send(ChangeTileImage{tile: tile.0, asset: "Minesweeper_LAZARUS_21x21_".to_string() + &num_mine.to_string() + ".png"});
        copy_num_mine = num_mine;
        num_mine = 0;
        tile_read = true;
    }

    if copy_num_mine == 0 && tile_read{
            tile_read = false;
            for i in 0..8{
                if copy_x as i8 + dx[i] >= 0 && copy_x as i8 + dx[i] < board.width as i8 && y as i8 + dy[i] >= 0 && y as i8 +dy[i] < board.height as i8{
                    if let Ok((_mine, mut tile)) = query_mine.get(board.tiles[(y as i8 + dy[i]) as usize][(copy_x as i8 + dx[i]) as usize]){
                        continue;
                    }else{
                        println!("{:?}", (y as i8 + dy[i], copy_x as i8 + dx[i]));
                        set.p1().send(TileEntity(board.tiles[(y as i8 + dy[i]) as usize][(copy_x as i8 + dx[i]) as usize]));
                    }
                }
            }
        }
}
1
submitted 9 months ago* (last edited 9 months ago) by [email protected] to c/[email protected]
 

For context, I heard the term "Web 3.0" be used for the first time for everything being put on the blockchain. Then, it reminded me of a post on Mastodon saying that the fediverse is Web 3.0. After that I looked it up on the internet, and the definition included A.I. with crypto.

So I'm wondering, what is actually Web 3.0? What does it mean to you? Or maybe is Web 3.0 just another attempt at making investors pay up?

 

This question is rather specific, so I know it's not going to get many answers, but any answer is appreciated.

I'm thinking about living alone, but I'm worried about getting certain issues. I've already talked about it to my doctor, but I also wanted to get answers from people who have went through it.

view more: ‹ prev next ›